2016-11-07 102 views
0

我正尝试在自定义操作中为我的WiX安装程序为项目C#启动一项服务。无法在WiX自定义操作中启动服务

起初我检查服务启动:

​​

但有一种情况例外,当我试图让状态(MyService.Status):

System.InvalidOperationException:不可能D'ouvrir le service MyService sur l'ordinateur'。'。 ---> System.ComponentModel.Win32Exception:Le servicespécifién'existe pas en tant que serviceinstallé--- Fin de la trace de la pile d'exception interne ---à System.ServiceProcess.ServiceController。 GetServiceHandle(的Int32 desiredAccess)à System.ServiceProcess.ServiceController.GenerateStatus()A System.ServiceProcess.ServiceController.get_Status()A CustomAction.CustomActions.StopService(会话的会话)

翻译:“无法在此计算机上打开服务MyService - >指定的服务不存在作为已安装的服务

如何检查服务是否已安装? (我查了,MyService不为空)

回答

0

这意味着指定的服务“我的服务”没有安装在您的计算机上。您可以前往Start > Run > services.msc进行复查。

此外,而不是创建从ServiceController的直接对象,可以改为抢安装的服务列表并从该列表中搜索您的服务:

bool DoesServiceExist(string serviceName) 
    { 
     return ServiceController.GetServices().Any(serviceController => serviceController.ServiceName.Equals(serviceName)); 
    } 

参考文献:https://stackoverflow.com/a/23800234