【问题标题】:How do I stop a service at the start of a wix installation?如何在 wix 安装开始时停止服务?
【发布时间】:2017-01-23 19:59:22
【问题描述】:

我正在编写一个 Wix 安装程序。此安装程序的第一步是停止 Windows 服务。我在InstallExecuteSequence 中找到了Wix 元素StopServices,这似乎可以满足我的要求,但我找不到任何使用它的示例。具体来说,我不明白服务名称是如何指定的。

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

【问题讨论】:

标签: wix windows-installer


【解决方案1】:

服务的内部名称(而不是显示名称)将起作用。在 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 中的名称),因为显示名称是可本地化的,但内部名称保持不变。

【讨论】:

  • 我不清楚您所说的服务内部名称是什么意思。我在哪里指定这个名字?另外,如果重要的话,这是一个 Windows server 2008
猜你喜欢
  • 2016-08-25
  • 1970-01-01
  • 1970-01-01
  • 2011-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多