我的安装程序正在安装一个 Windows 服务,然后使用ServiceController开始:
public static int StartService(string serviceName, int timeoutMilliseconds)
{
ServiceController service = new ServiceController(serviceName);
try
{
TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);
service.Start();
service.WaitForStatus(ServiceControllerStatus.Running, timeout);
service.Close();
return 0;
}
catch
{
return 1;
}
}
该服务似乎可以正常启动,但是当该服务尝试对远程计算机执行 WMI 调用时,它会引发异常;
The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
我已经尝试从运行服务的机器连接到 WBEMTest,连接到服务尝试连接的同一台机器,它工作正常。
此外,如果我从 Services.msc 手动启动服务,它会完美运行。ServiceController 我缺少什么?