【发布时间】:2011-09-16 10:54:05
【问题描述】:
我遇到了 Wix 服务问题,因为在安装过程中无法启动该服务。它抛出错误:
Error 1053: The service did not respond to the start or control request in a timely fashion
[WIX_ACCOUNT_LOCALSYSTEM] 和 [WIX_ACCOUNT_LOCALSERVICE] 我都试过了,但没有一个可以工作。
但这里有点奇怪,因为我有一个使用 ClickOne 的安装程序,它包含与我在 Wix 中使用的相同的服务组件。 ClickOne安装服务很好(使用InstallUtil.exe),证明账号有权限启动服务。
然后,我卸载软件(由 ClickOne 安装),再次运行 Wix 安装程序,服务现在可以正常启动。不知道是什么原因?
我想更清楚地说明一些流程:
1- 在新机器上
2- 运行 Wix 软件安装程序 --> 服务无法启动并抛出错误消息 --> 取消安装
3- 运行 ClickOne 软件安装程序 --> 服务启动良好 --> 卸载软件
4- 运行 Wix 软件安装程序 --> 服务启动良好
另外请注意,我在 2 台新机器上尝试了 2 次,但结果相同。任何人都可以对这种奇怪的行为有所了解吗?或者我应该验证什么?
提前致谢,
【问题讨论】:
-
您是否也尝试在 WiX 中使用 installutil.exe?
-
当服务启动失败时,您是否检查过可执行文件的依赖关系。您是否使用 Windows 安装程序表将文件安装到 GAC。在这种情况下,当安装程序运行 StartServices 操作时,您的依赖项将不可用。 ClickOnce 没有这个限制,但如果 ClickOnce 安装到 GAC,那么它将解释为什么该服务随后可以工作。 CheckAsm.exe 非常适合评估依赖关系。
-
@jcha 检查 Windows 日志是否有错误,您可以找到您的服务无法启动的原因。最可能的原因是缺少依赖项(ClickOnce 偶然安装)。
-
@Cosmin Pirvu:我一直在尝试使用 Wix 中的 InstallUtil.exe(自定义操作)和 Wix 扩展实用程序,但它们都无法启动服务。
-
@Stephen Connolly:通过 CheckAsm.exe 检查,服务不依赖于任何自定义 GAC 程序集。假设服务依赖于某些东西,为什么安装完成后我仍然无法手动启动它?
标签: service installation wix clickonce