Version 1.0.1.14
Version 1.0.0.10
Version 1.0.0.9
Version 1.0.0.8
Version 1.0.0.6
Version 1.0.0.5
Version 1.0.0.4
IntroductionEvery programmer and software creator solves one question which is how to distribute new versions of his own application. There are several ways how this can be performed, such as ClickOne from Microsoft that is integrated directly into Visual Studio or you can write similar tool by yourselves. I briefly summarize the advantages and disadvantages of ClickOne. The tool is very simple and debugged and fully integrated into VisualStudio. Unfortunately ClickOne simplicity is also its weakness. The system is not designed for larger projects, and that is for several reasons: nobody can control where the application is installed, update from ftp server cannot be performed, and publishing is not the fastest one.
Therefore, some of the programmers write their own updater. Of course, if they do not want to pay for some paid tool such as (wyBuild, AppLife Update Engine). This led me to the idea to write such update tools that takes the best of ClickOne (Integration into Visual Studio, Differential updates, etc.) and at the same time a programmer will have everything under his control. And that is how tool, which I called HiUpdateTools, has been created.
The main features of HiUpdateTools plug-in into Visual Studio
The main features of HiUpdateTools.Client - client side
Using in Vistual StudioHow to publish your applicationAfter installing VSX pug-in into Visual Studio, the new button which is used for calling up a dialog for setting and publication of your application, will appear in the context menu above your project.Here you set the Application name, the Application type, the Version. You can also set the location of the server where the application should be published. In the Client config tab you can prepare and export the xml configuration for your application.
Once everything is set up, you can get your application published for the first time by clicking Deploy button. In the destination location there should be something like this: In ServerConfig.Xml file there is stored information about the version, files that are included in the current version. In the individual sub-folders there are stored zipped files for each version. Integration into your applicationAdd into your application HiUpdateTools.Client.Win.exe and ClientConfig.Xml references and then a static property in the Program.cs class
public static string[] Args { get; set; }
Then fill this property in a Main method [STAThread] static void Main(string[] args) { Args = args; Application.Run(new MainForm()); }
Once this is done, just capture MainForm Load event and add the following code there. if (!Program.Args.Contains("/noupdate")) { using (UpdateChecker checker = new UpdateChecker("ClientConfig.xml", typeof(Program).Assembly.GetName().Version)) { if (checker.Check()) { checker.RunUpdate(); Application.Exit(); return; } } }
Then, when you run the application and a new version of your application will be found on the server, your application will be terminated and the HiUpdateTools.Client.Win.exe application and update operation will then be launched (in the case of setting the AutoUpdate) or you will wait for launching by clicking Update button.
For more information about the project, see hiupdatetools.codeplex.com. |