You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Wix ServiceControl启动失败耗时4分钟,预期仅30秒,求排查原因

MSI ServiceControl等待时间不符合预期的问题排查与临时方案

最近在配置服务的MSI安装包时遇到了个头疼的问题,跟大家说说详情:

我的服务设置为安装期间自动启动,对应的ServiceControl配置是这样的:

<ServiceControl Id="StartService" Start="install" Stop="both" Remove="uninstall" Name="HeskaGateway" Wait="yes" />

正常情况下,给服务配置有效的连接字符串,启动完全没问题。但如果填了错误的连接字符串,手动启动服务时会很快启动后就停止。按照MSI ServiceControl表的文档,Wait="yes"对应的数值是1,应该等待30秒就判定启动失败,但实际安装时足足耗了4分7秒才抛出错误,日志如下:

MSI (s) (6C:78) [16:36:41:932]: Executing op: ServiceControl(,Name=HeskaGateway,Action=1,Wait=1,) StartServices: Service: Heska Gateway MSI (s) (6C:78) [16:40:48:862]: Note: 1: 2205 2: 3: Error MSI (s) (6C:78) [16:40:48:862]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1920 Error 1920. Service 'Heska Gateway' (HeskaGateway) failed to start. Verify that you have sufficient privileges to start system services.

临时解决办法

目前我还没定位到等待时间不符合预期的根本原因,但发现了另一个安装顺序的问题:用来修改JSON文件中连接字符串的延迟自定义操作,居然是在ServiceStart之后才执行的!尝试调整ServiceStart到这个自定义操作之后的难度非常大,所以我换了个思路:移除ServiceControl条目里的启动配置,新增一个静默执行SC.EXE start HeskaGateway的自定义操作,用这种方式来启动服务,暂时解决了问题。

内容的提问来源于stack exchange,提问作者user922020

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:48:15