好的,我知道如何使用 WiX 来部署服务,但我正在尝试解决以下困境。我想在主要升级时保留服务配置(例如登录凭据等)(这样用户就不必重新定义服务设置)。为此,在 InstallExecuteSequence 内部,我使用:
<DeleteServices>NOT UPGRADINGPRODUCTCODE</DeleteServices>
我将ServiceControl的Stop属性设置为both。但发生的情况是,当我卸载应用程序时,如果服务正在运行,我会收到以下警告:
“安装程序必须更新系统运行时无法更新的文件或服务。如果您选择继续,则需要重新启动才能完成安装程序。”
如果我选择继续并且不重新启动,则服务和所有应用程序文件都会被删除,所以这条消息似乎完全是假的。如果我在运行卸载程序之前手动停止服务,则不会出现警告。
难道我做错了什么?我需要做些什么来避免此警告,同时确保服务不会在重大升级时被删除(和重新创建)?