C# 如何更新此Windows服务&;用户界面应用程序
我正在寻求处理这种情况的一般方法的建议。我有一个包含5个组件的应用程序,如下所示:C# 如何更新此Windows服务&;用户界面应用程序,c#,.net,updates,auto-update,C#,.net,Updates,Auto Update,我正在寻求处理这种情况的一般方法的建议。我有一个包含5个组件的应用程序,如下所示: Windows使用共享库A服务A WindowsUI应用程序A使用共享库A Windows服务B使用库B 服务B执行的任务之一是检查更新、下载和验证更新文件,并启动将执行更新的实用工具updater.exe(或其他任何工具) updater.exe必须能够同时更新所有5个程序集。无论UI应用程序是否正在运行,它都应该能够执行更新 由于updater.exe是由服务B启动的,因此更新程序连接到服务、停止服务并在重新
使用共享库A服务A
UI应用程序A
使用共享库A
服务B
使用库B
updater.exe
(或其他任何工具)
updater.exe
必须能够同时更新所有5个程序集。无论UI应用程序是否正在运行,它都应该能够执行更新
由于updater.exe
是由服务B
启动的,因此更新程序连接到服务、停止服务并在重新启动之前替换文件没有问题。此外,更新程序还可以枚举正在运行的进程,并在未运行时替换UI应用程序。但由于库A
是共享的,因此只能在UI未运行时替换它
如果UI正在运行,如何从服务启动的进程更新UI应用程序
和库A
,包括在进程停止或终止时重新启动UI应用程序
更一般地说,是否有执行此排序服务+库+ui应用程序更新的常见/典型方法?我很高兴重新考虑我的方法
我应该提到的是,这些服务是通过命令行自行安装/卸载的。我假设您的应用程序是WPF。请检查以下库您是否考虑过使用ClickOnce重新打包您的应用程序?对服务B和updater.exe的需求应该消失了,尽管您可能需要做一些额外的工作来启动/停止服务A@null1941UI应用程序是WinForms应用程序。请尝试浏览clickonce,它可能会有所帮助