是否可以在C#中的远程主机上安装或更新Windows服务?

时间:2013-08-15 00:53:05

标签: c# pinvoke

我想知道是否有CreateService()或ChangeServiceConfig()为远程主机上的服务提供的托管等效功能?

Service Installer课程似乎只在本地开展。

1 个答案:

答案 0 :(得分:1)

我建议您查看现有问题:Installing a windows service on a remote machine using a given username

在这个答案中,他们提到使用“SC.exe”。这是Windows中的一个工具,允许您“create and start a service”。您应该可以使用System.Diagnostics中的Process类轻松运行此程序。例如,这里是基于Patrick McDonald示例的代码,它将在计算机“remotecomputer”上启动NewServ.exe。

Process process = new Process();
process.Start(@"C:\Windows\System32\SC.exe", @"\\remotecomputer create newservice binpath= C:\Windows\System32\Newserv.exe start= auto obj= DOMAIN\username password= pwd");

如果这不起作用,那么您应该能够创建自己的安装程序,将其复制到远程计算机,然后远程启动该过程。有关详细信息,请参阅此问题:How to execute a process on a remote machine, in c#