我们有一个安装程序,它确实安装了 Windows 服务和一些文件。有时,当我们使用新安装更新安装时(通过简单地安装新包;小升级、产品版本更改、产品 ID 不变),服务无法启动。这是因为安装文件夹中缺少服务启动期间服务所需的一些文件。
目前我们只有<Feature />
而且只有一个<ComponentGroup />
。它<ComponentGroup />
本身包含服务并包含一些其他组件,其中包含文件。它看起来像这样(空属性是占位符,实际上是填充的):
<Component Id="" Guid="" Directory="">
<File Source="" Id="" />
<File Source="" Id="" />
</Component>
<Component Id="" Guid="" Directory="">
<File Source="" Id="" />
<File Source="" Id="" />
</Component>
<Component Id="" Guid="" Directory="">
<File Source="" Id="" />
<File Source="" Id="" />
</Component>
<Component Id="" Guid="" Directory="">
<File Source="" Id="" />
<File Source="" Id="" />
<File Source="" Id="" />
<File Source="" Id="" />
<ServiceInstall Id="ServiceInstaller" Type="ownProcess" Vital="yes" Name="" DisplayName="" Description="" Start="auto" Account="LocalSystem" ErrorControl="ignore" Interactive="no">
<util:ServiceConfig FirstFailureActionType="restart" SecondFailureActionType="restart" ThirdFailureActionType="restart" ResetPeriodInDays="5" />
</ServiceInstall>
<ServiceControl Id="StartService" Start="install" Stop="both" Remove="uninstall" Name="" Wait="yes" />
</Component>
不好的是该服务依赖于其他一些组件。
如何指定这些依赖项?还是我需要将所有文件放在包含<ServiceInstall />
?
谢谢,约翰内斯