不确定这是不是很好的做法,但请耐心等待。
我有一个带有我的应用程序新版本的网址,我不想使用任何更新程序工具来执行此操作。
我有2个应用。 1个应用程序下载最新版本的应用程序,称其为“更新程序”控制台应用程序。另一个应用程序是“MainApp”。我想从MainApp调用Updater应用程序,用下载的应用程序替换MainApp。
MessageBox.Show("We need to update the application. This might take a short while");
System.Diagnostics.Process updateProcess = new System.Diagnostics.Process();
updateProcess.StartInfo.FileName = AppDomain.CurrentDomain.BaseDirectory + "Updater.exe";
updateProcess.StartInfo.Arguments = AppDomain.CurrentDomain.BaseDirectory;
updateProcess.Start();
Process.GetCurrentProcess().Kill();
//Application.Exit();
Updater应用程序从传递给MainApp工作目录的args中提取文件的新版本并保存,代码如下
client.BaseUrl = base_url + "MainApp.exe";
var request = new RestRequest(Method.GET);
byte[] responseData = client.DownloadData(request);
System.IO.File.WriteAllBytes(args[0] + "MainApp.exe", responseData);
这似乎不太合适。它没有覆盖应用程序!
有什么建议吗?
答案 0 :(得分:0)
我通过在主应用程序中使用“重新启动更新”按钮来完成此操作,该按钮执行以下步骤: