2016-09-15 119 views
0

我在写一个Wix安装程序。此安装程序的第一步是停止Windows服务。我发现InstallExecuteSequence中的Wix元素StopServices似乎正在做我想要的,但我找不到任何示例用法。具体来说,我不明白如何指定服务名称。如何在wix安装开始时停止服务?

如何在我的Wix安装开始时停止服务(并在最后重新启动它)?

+0

也许检查这些帖子:http://stackoverflow.com/questions/4590089/wix-servicecontrol-stop-a-service-on-uninstall-but-dont-start-it-on-install和http:// blog.tentaclesoftware.com/archive/2009/01/01/21.aspx –

回答

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中的名称),因为显示名称是localizab但内部名称保持不变。

+0

我不清楚你的意思是服务的内部名称。我在哪里指定这个名字?另外,如果它很重要,这是一个Windows服务器2008年 –