我正在编写安装Windows服务的MSI,并添加了服务使用的一些DLL。这些DLL是可以使用安装程序添加或删除的功能。WiX - 修改已安装产品后重新启动服务
用户修改已安装的产品(例如添加新功能)后,需要重新启动Windows服务。除了调用可以重新启动服务的自定义操作之外,在WiX 3.5中还有更好的方法吗?
这就是我开始服务的方式。编号: 这是完整的组件代码。忽视ID。
<Component Id="MyService" Guid="GUID">
<File Id="MyService"
Source="$(var.BuildDestination)/$(var.NameSpacePrefix).MyService.exe"
KeyPath="yes"
>
</File>
<RemoveFile Id='AppConfigFile' On='uninstall' Name='MyService.exe.Config' />
<User xmlns="http://schemas.microsoft.com/wix/UtilExtension"
Id="ServiceAccount"
CreateUser="no"
FailIfExists="no"
RemoveOnUninstall="no"
UpdateIfExists="yes"
Disabled="no"
LogonAsService="yes"
Name="[ACCOUNT]"
Password="[PASSWORD]" />
<ServiceInstall
Id="MyService"
Type="ownProcess"
Vital="yes"
Name="MyService"
DisplayName="MyService"
Description="MyService"
Start="auto"
Account="[ACCOUNT]"
Password="[PASSWORD]"
ErrorControl="ignore"
Interactive="no">
</ServiceInstall>
<ServiceControl Id="StartService"
Name="MyService"
Start="install"
Stop="both"
Remove="both"
Wait="yes"
>
</ServiceControl>
不幸的是,它不会为我做的伎俩。我在原始文章中添加了完整的组件代码。 – MrBob 2012-01-31 09:58:12
您在Windows日志,应用程序的事件查看器中看到了什么,其中源是否为MsiInstaller或MyService? – 2012-01-31 10:31:11
如果将'ErrorControl'更改为'“normal”或“critical”,会发生什么?这可能提供更多信息。 – 2012-01-31 10:34:39