我有一个由两个程序组成的程序:Updater和WorkMaker。 每当WorkMaker有更新时 - 更新程序会将其杀死,下载更新并再次运行。 但是我说我想出了新的更新程序。 我该如何更新?通过WorkMaker?通过第三个计划? 感谢。
答案 0 :(得分:4)
最简单的解决方案是恕我直言:
目前,在启动MainProgram
后,请求更新Updater
下载Updater
以及更新。
更新程序关闭MainProgram
,进行更新并重新启动MainProgram
,或者直接退出。
通过这种方式,您可以灵活地更新程序(MainProgram
),还可以在需要时自行更新Updater
。
希望这有帮助。
答案 1 :(得分:2)
我不确定您的应用程序架构有多远,但作为“更新程序”的完全替代品,您是否考虑过using ClickOnce来管理“WorkMaker”的部署?
它将确保它在启动时运行最新的补丁。如果应用程序是一个长期运行的应用程序,那么您也可以manually kick off upgrades too。
答案 2 :(得分:1)
我使用类似的设置在必要时运行我们的msi和msp文件。该解决方案包含一个小型可执行文件,它使用Shadow Copying在第二个AppDomain中加载工作DLL。可执行文件非常简单,我从来不需要更改它。但是,我现在可以轻松地修改我的工作DLL,因为它没有被锁定在磁盘上的原始位置。
答案 3 :(得分:0)
您可以让更新程序下载更新,使用一些参数运行它并让新的更新程序删除原始更新。
您也可以让WorkMaker充当您的Updater计划的更新程序。