我正在写一个Wix安装程序。此安装程序的第一步是停止Windows服务。我发现StopServices
中的Wix元素InstallExecuteSequence
似乎做了我想要的,但我找不到它的任何示例用法。具体来说,我不明白如何指定服务名称。
如何在Wix安装开始时停止服务(并在结束时重新启动)?
答案 0 :(得分:0)
服务的内部名称(与显示名称相对)将起作用。在Windows 10任务管理器上,它们是“服务”选项卡中的名称 - 显示内部名称。在服务小程序(运行services.msc)中,服务的属性将显示名称和显示名称。如果您使用WiX ServiceInstall安装了该服务,则内部名称是您在那里使用的名称。
服务具有内部名称和显示名称,如安装一个MSI的ServiceInstall表中所示:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa371637(v=vs.85).aspx
基本上是CreateService API的参数列表:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms682450(v=vs.85).aspx
对服务执行操作的API和安装程序使用该内部名称(ServiceInstall和ServiceControl中的Name),因为显示名称是可本地化的,但内部名称保持不变。