问题描述
在远程机器上安装用 C# 编写的 Windows 服务(以标准方式)的最佳方法是什么,我需要提供它应该运行的用户名和密码?
What is the best way to install a windows service written in C# (in the standard way) on a remote machine, where I need to provide the username and password it should run as?
作为集成测试的一部分,我将从 MSBuild 运行它.
I am going to run it from MSBuild as part of integration tests.
我没有 msi,也不想创建一个.
I don't have an msi and I don't want to create one.
推荐答案
你可以使用SC 命令.
sc.exe \remotecomputer create newservice binpath= C:WindowsSystem32Newserv.exe start= auto obj= DOMAINusername password= pwd
(注意等号后面的空格很重要)
(Note the spaces after the equals signs are important)
Creates a service entry in the registry and Service Database. SYNTAX: sc create [service name] [binPath= ] <option1> <option2>... CREATE OPTIONS: NOTE: The option name includes the equal sign. type= <own|share|interact|kernel|filesys|rec> (default = own) start= <boot|system|auto|demand|disabled> (default = demand) error= <normal|severe|critical|ignore> (default = normal) binPath= <BinaryPathName> group= <LoadOrderGroup> tag= <yes|no> depend= <Dependencies(separated by / (forward slash))> obj= <AccountName|ObjectName> (default = LocalSystem) DisplayName= <display name> password= <password>