使用WinSW部署Windows服务时无法指定自定义XML配置文件求助
解决WinSW共用exe部署多服务的配置文件问题
核心原因
WinSW默认优先查找与exe同名的配置文件,直接将配置文件名作为参数传递的方式不符合它的参数解析逻辑,因此触发找不到配置文件的错误。
可行解决思路
使用
--%分隔符传递配置文件参数
在PowerShell或CMD中执行命令时,通过--%让WinSW正确识别后续的配置文件路径,命令格式如下:Winsw.exe --% install myapp.xml卸载、启动等其他操作同理:
Winsw.exe --% uninstall myapp.xml Winsw.exe --% start myapp.xml创建快捷方式或批处理文件
为每个服务创建单独的批处理文件,比如install-myapp.bat,内容为:@echo off Winsw.exe --% install myapp.xml部署对应服务时直接运行批处理,避免手动输入参数出错。
利用WinSW的
-c参数指定配置文件
部分WinSW版本支持-c参数显式指定配置文件,命令格式:Winsw.exe install -c myapp.xml注意:该参数支持情况取决于你使用的WinSW版本,建议先测试有效性。
内容的提问来源于stack exchange,提问作者SomeRandom
相关产品推荐
相关产品推荐

