我有一个WiX安装程序,它运行一个程序,下载最新版本的代码并安装三个Windows服务。我有一个自定义操作运行另一个程序,在InstallInitialize之后关闭并卸载卸载期间的服务。卸载程序还会删除下载的所有文件和目录。但是,当我在RmeoveFile操作中删除文件时,它会提示用户关闭服务,因为它必须检测到冲突。我想避免这种情况,因为我的自定义操作无论如何都会这样做。
所以我需要一种方法来执行以下任一操作:
运行自定义操作(以及我关闭服务的程序),然后安装程序执行任何检查,告诉它需要关闭服务。
告诉安装程序自动关闭服务而不提示用户这样做。不幸的是,安装包不包含服务,它们被我的应用程序下载,所以我不确定我是怎么做的。
这些事情可以完成吗?
答案 0 :(得分:1)
简单的解决方法是摆脱自定义操作。可以告诉Windows Installer管理它未创建的服务。只需撰写ServiceControl这样的元素:
<Component...
<ServiceControl Id="sc1" Name="fooservice" Remove="uninstall" Stop="uninstall"/>
</Component>