更新启动器应用程序c#

更新启动器应用程序c#,c#,auto-update,C#,Auto Update,我正在编写一个launcher.exe文件,该文件将检查客户端版本并更新客户端(游戏)。 我的想法是运行启动器->从主机下载版本文件->检查版本->下载新更新(.zip)->解压缩到客户端->启动 但是现在我还想用这个zip文件更新launcher.exe 它正在运行,如何更新它? 请给我一些建议。既然这个话题还没有答案,我就发我的 我在一个私人项目中也遇到了同样的情况。我有一个启动器,负责检查和下载新的主应用程序版本和主应用程序本身。我最终决定在主应用程序中添加一个功能,负责更新启动器 前置要

我正在编写一个launcher.exe文件,该文件将检查客户端版本并更新客户端(游戏)。 我的想法是运行启动器->从主机下载版本文件->检查版本->下载新更新(.zip)->解压缩到客户端->启动 但是现在我还想用这个zip文件更新launcher.exe 它正在运行,如何更新它?
请给我一些建议。

既然这个话题还没有答案,我就发我的

我在一个私人项目中也遇到了同样的情况。我有一个启动器,负责检查和下载新的主应用程序版本和主应用程序本身。我最终决定在主应用程序中添加一个功能,负责更新启动器

前置要求:更新包(想象一个包含新版本的ZIP文件)包含名为“launcher.exe_new”的新启动程序版本

  • 启动launcher.exe。它将下载ZIP文件
  • 解压更新包并将“launcher.exe_new”放在启动器所在的同一目录中
  • 启动新更新的主应用程序
  • 主应用程序将检查是否存在“launcher.exe_new”文件。如果是,请删除“launcher.exe”文件并在“launcher.exe”中重命名“launcher.exe\u new”

最后,我回到这里,谈谈我为解决这个问题所做的一切

我的启动器是这样运行的:


Launcher.exe
startup->创建自己的克隆
Launcher.exe.bin
Launcher.exerun
Launcher.exe.bin
exit->
Launcher.exe.bin
kill all
Launcher.exe
process->start update process

同时编写一个启动器更新程序。但是启动器正在运行,这样我就不能重写新的启动器了。因为我想打开一次。我是说写第三个程序来更新你的主启动器。你不可能有程序补丁本身(无论如何,如果没有一个难以置信的复杂系统的设置,也不能没有),所以最简单的解决方案是为你的更新程序安装一个更新程序。你的想法是可以的,但我认为你可以做得更好。让我们来看看你们不需要运行主应用程序来更新launcher的方法。我完全同意你们的看法,我仍然不完全满意我自己的解决方案。另一种方法是使用第三个应用程序(如简单的bash脚本)来执行替换。。。但问题仍然是:谁启动了脚本?