是否可以在安装时以编程方式在Windows服务上设置“启动参数”?
修改
这实际上是不可能的。但是,您可以按照ho1的说明编辑图像路径。
答案 0 :(得分:2)
编辑:我误解了这个问题所以这是我的新答案。
我认为这些参数仅供在服务小程序中手动启动服务时使用。我不认为这些是存储在任何地方的实际设置。
最接近的是在以下注册表项中添加服务exe名称之后的一些参数:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[YourService]\ImagePath
您可以使用ChangeServiceConfig
API对其进行更改(MSDN文档here,PInvoke here)。我想您也可以将此更改为Installer.Context
属性(描述为here)的设置之一,可能称为AssemblyPath
或类似。
我不确定以这种方式设置的参数是否可能出现在主函数而不是OnStart(我认为启动参数转到OnStart),所以它可能不是你正在寻找的但是希望它'我会给你一些想法。
答案 1 :(得分:-1)
如果你能够为每个配置生成一个部署,并且你希望你的参数配置为“安装时间”(也就是说,只有一次而不是每次启动),那么你可能应该只使用一个App.config和一些AppSettings。