Update the software in the background through certain means. First of all, you need to have a website that places new version information
using System; using ; using ; using ; using ; using ; using ; using ; using CCWin; using ; using ; using ; using ; using ; using ; namespace WriteBook { public partial class UpdateSoftwareForm : Skin_Metro { public UpdateSoftwareForm() { InitializeComponent(); } #region Some objects and variables //Use WebClient to download WebClient client = new WebClient(); ArrayList downlist = new ArrayList(); //Current version string nowversion = null; //Latest version string latesversion = null; #endregion #region Get version number /// <summary> /// Get the latest version number from the server /// </summary> public void DownloadCheckUpdateXml() { try { //The first parameter is the address of the file, and the second parameter is the file name of the path saved by the file ("/SoftwareDownload/WriteBook/", ""); } catch { ("No update was detected.", "hint"); (); } } /// <summary> /// Get the version number of the local software /// </summary> private void NowVersion() { nowversion = ().GetName().() + "\n"; = nowversion; } /// <summary> /// Read the latest version number obtained from the server /// </summary> public void LatestVersion() { try { if (("")) { XmlDocument doc = new XmlDocument(); //Load the XML to be read (""); //Get the root node XmlElement WriteBook = ; //Get child nodes Return the collection of nodes XmlNodeList Update = ; foreach (XmlNode item in Update) { latesversion = ; } = latesversion; } else { ("No update was detected.", "hint"); (); } } catch { (); } } #endregion #region Initializer /// <summary> /// Initialize the program /// </summary> private void InitializeandInstall() { = 20; DownloadCheckUpdateXml(); = 40; NowVersion(); = 60; LatestVersion(); = 80; DownloadInstall(); = 100; } #endregion #region Installation and Delete /// <summary> /// Download the installation package /// </summary> public void DownloadInstall() { try { if (nowversion == latesversion) { ("You are already the latest version.", "hint"); } else if (nowversion != latesversion && ("")) { ("New version is discovered, update patches will be downloaded soon.", "hint", , ); ("/SoftwareDownload/WriteBook/", ""); if (("")) { InstallandDelete(); } else { for (int i = 1; i < 3; i++) { ("/SoftwareDownload/WriteBook/", ""); } ("Download failed, please check if your network connection is normal.", "hint"); (); } } } catch { ("Update failed, no new version was found.", "hint"); (); } } /// <summary> /// Install and delete /// </summary> private void InstallandDelete() { try { DialogResult dr = ("Download the update successfully, is it installed a new update?", "hint", ); if (dr == ) { //Start the installer (""); Thread td = new Thread(JudgeInstall); (); } else { } } catch { ("An unknown error occurred and the update failed.", "hint"); (); } } /// <summary> /// Determine whether the installation process exists /// </summary> public void JudgeInstall() { while (true) { Process[] processList = (); foreach (Process process in processList) { if ( == "") { } else { DialogResult dr = ("The update was successful, did you delete the installation package?", "hint", ); if (dr == ) { (""); (""); } } } } } #endregion /// <summary> /// Click to initialize the program /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UpdateButton_Click(object sender, EventArgs e) { InitializeandInstall(); } } }
The above is the entire content of this article, I hope you like it.