首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

C# 自动更新程序,该如何处理

2013-01-05 
C#自动更新程序private void FrmUpdate_Load(object sender, System.EventArgs e){this.btnNext.PerformCl

C# 自动更新程序

        private void FrmUpdate_Load(object sender, System.EventArgs e)
{
            this.btnNext.PerformClick();
            //this.Visible = false;
panel2.Visible = false;
btnFinish.Visible = false;
string localXmlFile = Application.StartupPath + "\\UpdateList.xml";
string serverXmlFile = string.Empty;


try
{
//从本地读取更新配置文件信息
updaterXmlFiles = new XmlFiles(localXmlFile );
}
catch
{
MessageBox.Show("配置文件出错!","错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
this.Close();
return;
}
//获取服务器地址
updateUrl = updaterXmlFiles.GetNodeValue("//Url");

AppUpdater appUpdater = new AppUpdater();
appUpdater.UpdaterUrl = updateUrl + "/UpdateList.xml";

//与服务器连接,下载更新配置文件
try
{
tempUpdatePath = Environment.GetEnvironmentVariable("Temp") + "\"+ "_"+ updaterXmlFiles.FindNode("//Application").Attributes["applicationId"].Value+"_"+"y"+"_"+"x"+"_"+"m"+"_"+"\";
appUpdater.DownAutoUpdateFile(tempUpdatePath);
}
catch
{
MessageBox.Show("与服务器连接失败,操作超时!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
this.Close();
return;

}

//获取更新文件列表
Hashtable htUpdateFile = new Hashtable();
             
serverXmlFile = tempUpdatePath + "\\UpdateList.xml";
if(!File.Exists(serverXmlFile))
{
return;
}

availableUpdate = appUpdater.CheckForUpdate(serverXmlFile,localXmlFile,out htUpdateFile);
if (availableUpdate > 0)
{
for(int i=0;i<htUpdateFile.Count;i++)
{
string [] fileArray =(string []) htUpdateFile[i];
lvUpdateList.Items.Add(new ListViewItem(fileArray));
}
               
            
}
    else
btnNext.Enabled = false;
                          
                
}

private void btnCancel_Click(object sender, System.EventArgs e)
{
this.Close();
Application.ExitThread();
Application.Exit();
}
        
        private void btnNext_Click(object sender, System.EventArgs e)
        {
            
            if (availableUpdate > 0)
            {
                Thread threadDown = new Thread(new ThreadStart(DownUpdateFile));
                threadDown.IsBackground = true;


                threadDown.Start();
            }
            else
            {
                if (MessageBox.Show("没有可用更新", "更新提示", MessageBoxButtons.OK, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK)
                {
                    this.Close();
                    Application.ExitThread();
                    Application.Exit();
                }
                
            }


        }


为什么测试的时候能够连接到服务器 但是一直是没有可用更新呢?


建立ftp服务器 用的是迷你ftp
[解决办法]
那就开始Debug了,关键点设断点,看看是哪里出问题了。

热点排行