次のコードを使用して、サービスのパスを取得しています...
string ServicePath = string.Format("Win32_Service.Name=\"{0}\"", "MyService");
var WMiObject = new ManagementObject(ServicePath);
string PathName = (string)WMiObject.GetPropertyValue("PathName");
これで、サービスが利用できない場合、wmiObject.getPropertyValue( "PathName")を呼び出すとManagementExceptionがスローされます。
私の場合、サービスが利用できない場合はハードコードされたパスを割り当てる必要があります。それを実現するにはどうすればよいですか?案内してください...