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

Inno Setup中使用sc create命令传递参数的正确方法

解决Inno Setup中sc create命令传递服务启动参数的错误1639问题

错误代码1639的核心原因是sc create命令对binPath参数的格式要求没被满足:必须把包含可执行文件路径和启动参数的整个字符串用引号包裹。如果没正确包裹,sc会把后续的启动参数识别成无效的命令选项,直接抛出参数错误。

正确的[Run]段写法

[Run]
Filename: "{sys}\sc.exe"; Parameters: "create ByTestService start= auto binPath= ""{app}\Vytelle.DataService.Worker.exe ThisisParameter"""; Flags: runhidden; StatusMsg: "正在创建服务..."

关键注意事项

  • start= auto中间的空格不能省略:sc命令的选项格式是选项= 值,这里的空格是语法要求,少了会直接报错
  • binPath的引号转义:在Inno Setup的.ini配置中,要用两个双引号""来表示一个实际的双引号,这样sc才能正确识别整个路径+参数作为一个完整的binPath值
  • 如果你的启动参数里包含空格,更要严格按这个格式写,否则sc会把空格后的内容当成新的命令选项

验证配置是否正确

安装完成后,可以打开命令提示符执行以下命令,检查服务的配置是否符合预期:

sc qc ByTestService

查看输出中的BINARY_PATH_NAME字段,确认它完整包含了你的exe路径和启动参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 11:30:57