如何更新“更新器”?(c#)

本文关键字:更新 更新器 何更新 | 更新日期: 2023-09-27 18:12:17

我有一个由两个程序组成的程序:Updater和WorkMaker。每当WorkMaker有更新- Updater杀死它,下载更新,并再次运行它。但是假设我想出了一个新的Updater程序。我如何更新它?通过WorkMaker ?通过第三个项目?谢谢。

如何更新“更新器”?(c#)

我认为最简单的解决方案是:

  • 目前被要求更新MainProgram下载Updater,随着更新,启动Updater后。

  • Updater关闭MainProgram,更新并重新启动MainProgram,或者直接退出。

通过这种方式,您可以灵活地更新程序(MainProgram),也可以在需要时更新Updater本身。

我不确定您的应用程序的架构有多远,但作为"Updater"的完全替代,您是否考虑过使用ClickOnce来管理"WorkMaker"的部署?

它将确保在启动时运行最新的补丁。如果应用程序是一个长时间运行的应用程序,那么您也可以手动启动升级。

我使用类似的设置在必要时运行msi和msp文件。该解决方案包含一个小的可执行文件,它使用影子复制在第二个AppDomain中加载一个工作DLL。可执行文件是如此简单,我从来没有需要改变它。但是,我现在可以很容易地修补我的工作DLL,因为它没有锁定在磁盘上的原始位置。

您可以让您的更新程序下载更新,运行它与一些参数,并让新的更新程序删除原来的

你也可以让WorkMaker作为你的更新程序的更新程序