diff --git a/Setup/GMap.NET - Hot Build/Program.cs b/Setup/GMap.NET - Hot Build/Program.cs new file mode 100644 --- /dev/null +++ b/Setup/GMap.NET - Hot Build/Program.cs @@ -0,0 +1,78 @@ +using System; +using System.Deployment.Application; +using System.Diagnostics; +using System.Threading; +using System.Windows.Forms; + +namespace GMap.NET___Hot_Build +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + if(CheckUpdate()) + { + TryUpdate(); + } + + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new MainForm()); + } + + public static void TryUpdate() + { + try + { + if(ApplicationDeployment.IsNetworkDeployed) + { + Debug.WriteLine("TryUpdate: " + DateTime.Now); + + if(ApplicationDeployment.CurrentDeployment.Update()) + { + try + { + System.Windows.Forms.Application.Restart(); + } + catch + { + } + Thread.Sleep(444); + { + Environment.Exit(1); + } + } + } + } + catch + { + } + } + + public static UpdateCheckInfo UpdateInfo = null; + + public static bool CheckUpdate() + { + try + { + if(ApplicationDeployment.IsNetworkDeployed) + { + var upInfo = ApplicationDeployment.CurrentDeployment.CheckForDetailedUpdate(); + if(upInfo != null) + { + UpdateInfo = upInfo; + return upInfo.UpdateAvailable; + } + } + } + catch + { + } + return false; + } + } +}