[C#][.NET2]Chemin vers l'exécutable d'un service
Bonjour,
Je souhaite depuis une application windows, récupérer le chemin d'un service, l'arrêter pour remplacer l'exécutable, puis le relancer. Tout ceci dans le cadre d'une mise à jour automatique d'un service.
Je récupère le service de la manière suivante:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
String path;
System.Management.ManagementClass mservices = new System.Management.ManagementClass("Win32_Service");
foreach (ManagementObject ob in mservices.GetInstances())
{
if (ob.GetPropertyValue("Name").ToString() == "MonService")
{
MessageBox.Show(ob.GetPropertyValue("PathName").ToString());
servicemgmt("StopService"); //arrêt du service
path = ob.GetPropertyValue("PathName").ToString();
}
} |
Mais je recontre le problème suivant:
Quand j'affiche dans la MessageBox le chemin récupéré j'obtiens bien un chemin correct du type
Code:
d:\progs\exe\monservice.exe
Cependant quand je stocke cette info dans la variable path, la chaîne devient:
Code:
"\"d:\\dev\\PopcornExchange\\PopcornExchange\\exe\\ExchangeService.exe\""
Du coup ça va devenir plutôt galère à nettoyer comme chaîne pour obtenir un chemin valide afin de manipuler ce fichier (suppression, réécriture)
Une explication ? Merci