cs_wizad
Messages postés355Date d'inscriptionsamedi 30 octobre 2004StatutMembreDernière intervention14 avril 2009
-
22 nov. 2007 à 23:11
cs_wizad
Messages postés355Date d'inscriptionsamedi 30 octobre 2004StatutMembreDernière intervention14 avril 2009
-
6 janv. 2008 à 16:38
Bonjour,
Je vous soumet un petit problème avec les services windows car à l'heure actuelle je n'arrive pas à y trouver de solution.
J'ai créer un programme contenant un service windows et fonctionnant avec quatre argument :
"monprogramme.exe" --serviceinstall
"monprogramme.exe" --servicerun
"monprogramme.exe" --servicestop
"monprogramme.exe" --serviceuninstall
Je ne pense pas avoir besoin de détailler le rôle de chaque argument.
Le soucis qui se pose est que lors de l'installation, l'imagepath (pointant vers mon programme/service) est mal construit : l'installeur rajoute systématiquement des guillemets autour de la chaine ce qui provoque une erreur quand je tente de démarrer le service :
la chaine devrait être
"C:/.../monprogramme.exe" --servicerun
ou
C:/.../monprogramme.exe --servicerun
or elle devient
""C:/.../monprogramme.exe" --servicerun"
ou
"C:/.../monprogramme.exe --servicerun"
ce qui provoque une erreur puisque le système ne trouve plus l'executable.
Voici le code incriminé :
public override void Install(System.Collections.IDictionary stateSaver)
{
Context = new InstallContext("", new string[] { String.Format("/assemblypath="{0}" --servicerun", System.Reflection.Assembly.GetExecutingAssembly().Location) });
base.Install(stateSaver);
}
Si quelqu'un connait une solution à ce problème qu'il me fasse un grand signe.
cs_wizad
Messages postés355Date d'inscriptionsamedi 30 octobre 2004StatutMembreDernière intervention14 avril 2009 23 nov. 2007 à 14:15
Je souhaiterais ajouter que si je modifie le chemin manuellement dans la base de registre (une fois le service installé). Il devient possible de démarrer correctement et je ne rencontre plus d'erreur.