private void FrmUpdate_Load(object sender, System.EventArgs e) { string currentDirectory =Environment.CurrentDirectory ; if(!AppConst.GetConfig()) { MessageBox.Show("配置文件读取失败!请确定配置文件放在"+currentDirectory+"该目录下"); return; } panel2.Visible = false; btnFinish.Visible = false; string localXmlFile = currentDirectory + "\\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" + url_postfix; //与服务器连接,下载更新配置文件 try { //临时更新文件目录 tempUpdatePath = currentDirectory+"\\"+AppConst.TempFilePath; appUpdater.DownAutoUpdateFile(tempUpdatePath); } catch { MessageBox.Show("与服务器连接失败,操作超时!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information); this.Close(); return; } //获取更新文件列表 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)); } } }
private void UpdateForm_Load(object sender, EventArgs e) { string localXmlFile = string.Empty; //商业版与免费版区分 if (Settings.Default.AuthorityUrl.Equals(@"\Template\Authority.XML")) { localXmlFile = Utils.installPath + "\\UpdateList_Ent.xml"; } else { localXmlFile = Utils.installPath + "\\UpdateList.xml"; } string serverXmlFile = string.Empty; try { //从本地读取更新配置文件信息 updaterXmlFiles = new XmlFiles(localXmlFile); } catch { MessageBox.Show("配置文件出错!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); this.Close(); return; } //获取服务器地址 AppUpdater appUpdater = new AppUpdater(); try { updateUrl = updaterXmlFiles.GetNodeValue("//Url"); //商业版与免费版区分 if (Settings.Default.AuthorityUrl.Equals(@"\Template\Authority.XML")) { appUpdater.UpdaterUrl = updateUrl + "/UpdateList_Ent.xml"; } else { appUpdater.UpdaterUrl = updateUrl + "/UpdateList.xml"; } } catch (System.Exception ex) { MessageBox.Show("获取服务器地址失败,失败原因为:" + ex.Message); this.Close(); return; } //与服务器连接,下载更新配置文件 try { string strTime = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss_fff"); //tempUpdatePath = Environment.GetEnvironmentVariable("Temp") + "\\" + "_" + updaterXmlFiles.FindNode("//Application").Attributes["applicationId"].Value + "_" + strTime + "\\"; tempUpdatePath = String.Format("{0}\\TempUpdate\\_{1}_{2}\\", Directory.GetCurrentDirectory(), updaterXmlFiles.FindNode("//Application").Attributes["applicationId"].Value, strTime); appUpdater.DownAutoUpdateFile(tempUpdatePath); } catch { MessageBox.Show("与服务器连接失败,操作超时!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); return; } //获取更新文件列表 Hashtable htUpdateFile = new Hashtable(); try { //商业版与免费版区分 if (Settings.Default.AuthorityUrl.Equals(@"\Template\Authority.XML")) { serverXmlFile = tempUpdatePath + "\\UpdateList_Ent.xml"; } else { 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 { System.IO.Directory.Delete(tempUpdatePath, true); } } catch (System.Exception ex) { MessageBox.Show("更新文件列表更新失败,失败原因为:" + ex.Message); } }
public bool IsUpdate() { string updateUrl = string.Empty; string tempUpdatePath = string.Empty; XmlFiles updaterXmlFiles = null; int availableUpdate = 0; string localXmlFile = AppDomain.CurrentDomain.BaseDirectory + "UpdateList.xml"; string serverXmlFile = string.Empty; if (!File.Exists(localXmlFile)) { MessageBox.Show("配置文件不存在!", "错误", MessageBoxButton.OK, MessageBoxImage.Error); return(false); } try { //从本地读取更新配置文件信息 updaterXmlFiles = new XmlFiles(localXmlFile); } catch { MessageBox.Show("配置文件出错!", "错误", MessageBoxButton.OK, MessageBoxImage.Error); //this.Close(); return(false); } //获取服务器地址 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("与更新服务器连接失败,操作超时!", "程序更新提示", MessageBoxButton.OK, MessageBoxImage.Information); //this.Close(); return(false); } //获取更新文件列表 Hashtable htUpdateFile = new Hashtable(); serverXmlFile = tempUpdatePath + "\\UpdateList.xml"; if (!File.Exists(serverXmlFile)) { return(false); } try { availableUpdate = appUpdater.CheckForUpdate(serverXmlFile, localXmlFile, out htUpdateFile); } catch { MessageBox.Show("服务器配置文件格式错误", "程序更新提示", MessageBoxButton.OK, MessageBoxImage.Information); return(false); } if (availableUpdate > 0) { return(true); } else { return(false); } }