Installation 在WIX中停止服务并在安装完成时启动
我正在使用WIX3.5创建一个安装程序,安装Windows服务并将DLL复制到第三方应用程序的bin目录。第三方应用程序还有一系列Windows服务,在复制DLL之前需要停止这些服务,并在安装完成后启动这些服务。我需要做些什么来实现这一点。我已经查找了一些示例,但只能找到如何启动正在安装的服务 ***另一方面,我正在安装的服务需要在特定的用户帐户下运行。我知道如何在WIX中定义服务帐户/密码,但我不太愿意使用它,因为它将未加密的密码存储在XML中,我对此存在安全问题。使用Installation 在WIX中停止服务并在安装完成时启动,installation,wix,wix3.5,Installation,Wix,Wix3.5,我正在使用WIX3.5创建一个安装程序,安装Windows服务并将DLL复制到第三方应用程序的bin目录。第三方应用程序还有一系列Windows服务,在复制DLL之前需要停止这些服务,并在安装完成后启动这些服务。我需要做些什么来实现这一点。我已经查找了一些示例,但只能找到如何启动正在安装的服务 ***另一方面,我正在安装的服务需要在特定的用户帐户下运行。我知道如何在WIX中定义服务帐户/密码,但我不太愿意使用它,因为它将未加密的密码存储在XML中,我对此存在安全问题。使用 首先,要停止服务,您需
首先,要停止服务,您需要使用ServiceControl元素
<ServiceControl Id="serviceName" Name="actualServiceName" Stop="both" Start="both" Wait ="yes" />
要回答您的问题,您可以将用户名和密码设置为用户发送给MSI的属性,或者用户从GUI输入的属性
<ServiceInstall Id="serviceName" Name="shortName" DisplayName="longName" Type="ownProcess" Start="auto" ErrorControl="normal" Account="[USER]" Password="[USERPWD]" Description="description" />
<Property Id="USER" Value="defaultValue" />
<Property Id="USERPWD" Value="defaultValue" Hidden="yes" />
当然,默认值不是必需的,也不是真正推荐的,但我仍然将它放在那里
<ServiceInstall Id="serviceName" Name="shortName" DisplayName="longName" Type="ownProcess" Start="auto" ErrorControl="normal" Account="[USER]" Password="[USERPWD]" Description="description" />
<Property Id="USER" Value="defaultValue" />
<Property Id="USERPWD" Value="defaultValue" Hidden="yes" />