我正在尝试使用WiX为我的Windows服务编写安装程序。我的可执行文件可以使用命令行参数--install
和--uninstall
注册/取消注册为Windows服务。这就是我想出的:
<CustomAction Id='InstallAsService' FileKey='CCWirelessServer.exe' ExeCommand='--install' Return='check' Impersonate='no' Execute='deferred' />
<CustomAction Id='InstallAsServiceRollback' FileKey='CCWirelessServer.exe' ExeCommand='--uninstall' Return='check' Impersonate='no' Execute='rollback' />
<CustomAction Id='UninstallAsService' FileKey='CCWirelessServer.exe' ExeCommand='--uninstall' Return='check' Impersonate='no' Execute='deferred' />
<InstallExecuteSequence>
<Custom Action='InstallAsService' After='InstallFiles' >NOT Installed</Custom>
<Custom Action='InstallAsServiceRollback' Before='InstallAsService' >NOT Installed</Custom>
<Custom Action='UninstallAsService' Before='RemoveFiles' >Installed</Custom>
</InstallExecuteSequence>
安装和卸载基本上都有效。但在卸载期间,我收到以下消息:
安装程序必须更新系统运行时无法更新的文件或服务。如果您选择继续,则需要重新启动才能完成设置。
尽管出现此错误消息,但服务仍未注册,文件将被删除而不重新启动。对我来说,这似乎是安装程序在执行我的自定义操作之前检查是否已打开CCWirelessServer.exe
。
所以我的问题是:我如何修改我的安装执行顺序,以便不再出现此错误消息?
答案 0 :(得分:1)
如果您正在为Windows Installer开发&gt; 3.1您可以查看MSIRESTARTMANAGERCONTROL
-property以查看它是否设置正确或其他值是否会停止显示该消息。
我可以使用以下值来抑制消息:
<Property Id="MSIRESTARTMANAGERCONTROL" Value="Disable" Secure="yes" />