我正在努力的一件事是使用用户名和密码注册服务。
我可以硬编码RunAs方法的用户名和密码并注册服务,但显然不实用。
如果我
myservice.exe install start -username:Domain\username -password:itsAsecret
或
myservice.exe install start -username "Domain\username" -password "itsAsecret"
服务注册并开始在本地系统下运行。
如何将用户名和密码传递给:
configure.RunAs(username, password)
方法
为了解决这个问题,我已经解析了我自己的命令 然后我可以:if (commandlineParameters.ContainsKey("username") && commandlineParameters.ContainsKey("password"))
configure.RunAs(commandlineParameters["username"], commandlineParameters["password"]);
else
configure.RunAsLocalSystem();
但我觉得这应该有效:
configure.ApplyCommandLine(string.Join(" ", args));
或只是
configure.ApplyCommandLine();
但是当我这样做时,服务被注册为本地系统
答案 0 :(得分:2)
似乎问题是安装时命令“start”。
所以,要安装和启动服务,它需要是两个单独的命令。
myservice.exe install -username:Domain\username -password:itsAsecret
myservice.exe start
这意味着我可以摆脱我添加的解析代码,只需
configure.ApplyCommandLine();