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.

D'avance merci!
--
William POTTIER, developpeur freelance
Site : http://www.william-pottier.fr
Blog : http://blogs.codes-sources.com/wizad/