Fra*_*ois 19 windows parameters service command-line install
我们有一个Windows服务应用程序,可以接受命令行参数,如:
MyService -option
Run Code Online (Sandbox Code Playgroud)
到目前为止,当我们想要使用参数启动服务时,我们可以从"服务属性"对话框(在"启动参数"框中)或使用命令手动执行此操作
sc start MyService -option
Run Code Online (Sandbox Code Playgroud)
我们想要的是一种使用此参数"永久"安装服务的方法,这样用户只需每次都可以启动/停止它而无需设置参数.
顺便说一句,在ImagePath注册表项中添加参数不起作用,也没有像这样安装:
MyService -option /install
Run Code Online (Sandbox Code Playgroud)
更新:感谢您到目前为止的答案,这有助于我完善问题.
我想要实现的是在同一个可执行文件中有多个服务的情况下,将参数设置为服务级别本身(与属性一样).binpath配置选项仅仅是更新注册表中的ImagePath条目.这不是特定于服务的.
Rem*_*anu 13
sc config MyService binPath= MyService.exe -option
Run Code Online (Sandbox Code Playgroud)
更新
各个服务参数存储在密钥的注册表中HKLM\SYSTEM\CurrentControlSet\Services\<serviceName>\Parameters.我不确定参数是如何传递给服务的.我相信 SCM读取这些值然后在它调用StartService它时将它们传递给ServiceMain回调.