Je tente d'installer un service Windows à l'aide de MSBuild et de CCNET. J'utilise MSBuild Extension pack WindowsService tâche pour installer et démarrer le service Windows dans le cadre de la génération automatique. La section de script ressemble à ceciProblème lors de l'installation du service Windows à l'aide de CC.NET et de MSBUILD
<!--install service-->
<MSBuild.ExtensionPack.Computer.WindowsService TaskAction="Install" ServiceName="$(PrServiceName)" ServicePath="$(PrServicePath)" User="$(User)" />
<!--set service to run automatically on restart-->
<MSBuild.ExtensionPack.Computer.WindowsService TaskAction="SetAutomatic" ServiceName="$(PrServiceName)" />
<!--start service-->
<MSBuild.ExtensionPack.Computer.WindowsService TaskAction="Start" ServiceName="$(PrServiceName)" ServicePath="$(PrServicePath)" User="$(User)" />
Maintenant, dès que la première tâche est exécutée pour installer le service, il échoue avec l'erreur suivante
E: \ Data \ cc_temp \ Projects \ cube \ intranet \ pr \ pr.build (137,3): erreur: Service d'installation a échoué avec le code: 'AccessDenied'
Je suppose que c'est parce que le script s'exécute sous le compte d'utilisateur du service de contrôle de croisière qui ne dispose pas des autorisations appropriées pour l'installation un service Windows. Je voudrais juste donner des autorisations minimales au compte d'utilisateur de contrôle de croisière au lieu de donner les pleins droits administratifs.
Est-ce que quelqu'un sait comment je peux y arriver?
En attente Nabeel
Salut Alex, J'utilisais acatulaly un chemin pour la propriété * ServicePath * dans les tâches. Après l'avoir changé en chemin absolu, tout semble fonctionner correctement. – nabeelfarid