J'ai un programme qui fonctionne comme une application de bureau, mais peut également être installé en tant que service Windows. L'installation est effectuée en utilisant un bouton "installer en tant que service" sur l'interface graphique. Le gestionnaire d'événements pour ce bouton ressemble à ceci:Installer service et ajouter une entrée de Registre sous Vista +
ProcessStartInfo psi = new ProcessStartInfo("sc", "description " +
this.ServiceName + " \"" +
((AssemblyDescriptionAttribute)attributes[0]).Description + "\"")
psi.CreateNoWindow = true;
psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
psi.Verb = "runas";
Process.Start(psi).WaitForExit();
Ce que je voudrais faire maintenant est d'ajouter des entrées de registre supplémentaires en dire:
HKLM\SOFTWARE\MyCompany\Services
qui a besoin aussi des privilèges élevés. Mais si j'utilise la même procédure que celle décrite ci-dessus avec la commande "REG ADD", la boîte de dialogue UAC apparaîtra plus d'une fois - et je ne le veux pas.
Ainsi quelle est la meilleure façon d'installer un service Windows et ajoutez une entrée de Registre sous HKLM avec seulement avoir l'invite UAC une fois?
Merci pour votre réponse. Cela semble être la solution évidente, mais je veux éviter cela, car le code est dans une bibliothèque partagée. Cela compliquerait le déploiement si je devais compter sur un composant supplémentaire tel qu'un fichier batch ou un exe. – Jeldrik