我是 WiX 的新手,我正在尝试创建一个安装程序来安装一个包含 3 个 Windows 服务的应用程序。这些服务中的一个提供了一个用于调试其他两个的钩子。我可以使用 InstallUtil 成功安装服务,但需要更完整的安装,包括其他组件和应用程序。
在 WXS 文件中,组件中有三个 ServiceInstall 节点和三个 ServiceControl 节点。这些节点指的是应用程序可执行文件中定义的三个服务的名称。
运行安装程序成功完成,服务报告为已安装并启动。但是,第二个和第三个服务的功能不可用,检查事件日志会发现虚拟服务的启动消息被输入了 3 次。停止所有 3 项服务时类似 - 虚拟关闭消息出现 3 次。WSX 文件中的服务声明与服务的实际安装方式之间似乎存在一些细分。
WSX 文件中与此组件相关的 XML 如下:
<Component Id="LPMMANAGEMENTSERVICE.EXE"
Guid="36C773C5-EF30-4D8D-B9CC-015EBE906CCB" DiskId="1">
<File Id="LPMMANAGEMENTSERVICE.EXE" Name="LPMManagementService.exe" Source="Projects\LumePress\LumeJetManagement\LPMManagementService\bin\Release\LPMManagementService.exe" />
<ServiceInstall Name="LPMManagementDebug" Type="ownProcess" Start="auto"
ErrorControl="critical" Interactive="no" Account="LocalSystem"
Vital="yes" DisplayName="LPM Management Service Debugger"
Description="This service provides a process startup without starting the key services, allowing a debugger to attached and handle onstart and onstop"
Id="LPM_Management_Service_Debugger_Installer" />
<ServiceInstall Name="LPMServiceListeners" Type="ownProcess" Start="auto"
ErrorControl="critical" Account="LocalSystem" DisplayName="LPM Management Service Listeners"
Id="LPM_MANAGEMENT_SERVICE_LISTENERS_INSTALL" Interactive="no" Vital="yes"
Description="Provides WebAPI and WCF Services for the LPM Architecture" />
<ServiceInstall Name="LPMMonitoring" Type="ownProcess" Start="auto" ErrorControl="critical"
Description="Manages and logs events from the LPM Core perl executable"
DisplayName="LPM Management Service LPM Core and Monitoring" Account="LocalSystem"
Id="LPM_MANAGEMENT_SERVICE_CORE_INSTALL" Interactive="no" Vital="yes">
<ServiceDependency Id="LPMServiceListeners" />
</ServiceInstall>
<ServiceControl Id="LPM_MANAGEMENT_DEBUG_CONTROL" Name="LPMManagementDebug"
Remove="uninstall" Start="install" Stop="both" />
<ServiceControl Id="LPM_MANAGEMENT_SERVICE_LISTENERS_CONTROL" Name="LPMServiceListeners"
Remove="uninstall" Start="install" Stop="both" />
<ServiceControl Id="LPM_MANAGEMENT_SERVICE_CORE_CONTROL" Name="LPMMonitoring"
Remove="uninstall" Start="install" Stop="both" />
</Component>
我发现了与创建多个服务相关的各种问题,但我找不到与此场景直接相关或足以推断我做错了什么的问题。
希望有人会提出可能会有所帮助的建议。
如果我错过了一些明显的东西,很高兴提供更多信息。