Installer un service Windows à l’aide d’une invite de commande Windows?

Je souhaite installer un service Windows à l’aide d’une invite de commande Windows (pas l’invite de commande Visual Studio).

Comment puis-je faire cela?

Accédez à installutil.exe dans votre dossier .net (pour .net 4 c’est C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 par exemple) et utilisez-le pour installer votre service, comme ceci:

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe" "c:\myservice.exe" 

Si le nom du répertoire comporte un espace tel que c:\program files\abc 123 , vous devez utiliser des guillemets doubles autour du chemin.

 installutil.exe "c:\program files\abc 123\myservice.exe" 

Installer le service Windows à partir de l'invite de commande

Cela rend les choses beaucoup plus faciles si vous configurez un fichier de chauve-souris comme suit,

Par exemple, pour installer un service, créez un “myserviceinstaller.bat” et ” Exécuter en tant qu’administrateur

 @echo off cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 installutil.exe "C:\Services\myservice.exe" if ERRORLEVEL 1 goto error exit :error echo There was a problem pause 

désinstaller le service,

Ajoutez simplement un -u à la commande installutil.

 cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "C:\Services\myservice.exe" 

Rien à redire avec la commande SC Create. Il suffit de connaître les arguments corrects:

 SC CREATE "MySVC" binpath= “D:\Me\Services\MySVC\MySVC.exe" 

Procédez comme suit:

  1. Démarrez l’invite de commande (CMD) avec les droits d’administrateur.
  2. Tapez c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]
  3. Presse retour et c’est ça!

Il est important d’ouvrir avec des droits d’administrateur, sinon vous risquez de trouver des erreurs qui n’ont pas de sens. Si vous en avez, vérifiez d’abord que vous l’avez ouvert avec les droits d’administrateur!

Pour ouvrir avec les droits d’administrateur , cliquez avec le bouton droit sur “Invite de commandes” et sélectionnez “Exécuter en tant qu’administrateur”.

Source: http://coderamblings.wordpress.com/2012/07/24/how-to-install-a-windows-service-using-the-command-prompt/

Je dois append un sharepoint plus dans ce fil. Pour installer / désinstaller la version 64 bits des assemblages, il est nécessaire d’utiliser la version 64 bits de l’outil. Pour installer un service, la commande doit être:

 "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" "C:\YourFolder\YourService.exe" 

et pour désinstaller la commande devrait être:

 "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" -u "C:\YourFolder\YourService.exe" 

Si vous utilisez Powershell et que vous souhaitez installer le service .NET, vous pouvez utiliser le module Install-Service . C’est un wrapper pour l’outil InstalUtil.

Il expose 3 commandes

  • Install-Service – appelle la commande installUtil.exe pathToExecutable
  • Install-ServiceIfNotInstalled – tout d’abord, il vérifie si le service est installé sinon exécute la méthode Install-Service
  • Uninstall-Service- il désinstalle le service. ServiceName du chemin d’access à l’exécutable peut être utilisé.

Code à ce module peut être consulté ici

Créez un fichier *.bat à côté de votre fichier exe service Windows pour l’installer avec le contexte suivant:

 CLS ECHO Installing My Windows Service START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe "%~d0%~p0\YourWindowsServiceExeName.exe" 

Créez un fichier *.bat à côté de votre fichier exe service Windows pour la désinstallation dans le contexte suivant:

 CLS ECHO Uninstalling My Windows Service START %windir%\Microsoft.NET\Framework\v4.0.30319\installutil.exe -u "%~d0%~p0\YourWindowsServiceExeName.exe" 

Exécutez chaque fichier bat en tant qu’Admin pour installer ou désinstaller votre service Windows.

  1. lancez l’invite de commande (CMD) avec les droits d’administrateur.
  2. Tapez c: \ windows \ microsoft.net \ framework \ v4.0.30319 \ installutil.exe [votre chemin de service Windows pour exe]
  3. Retour presse
  1. Exécuter l’invite de commandes Windows en tant qu’administrateur
  2. collez ce code: cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\ pour accéder au dossier
  3. éditez et exécutez ceci aussi: installutil C:\ProjectFolder\bin\Debug\MyProject.exe

Remarque: Pour désinstaller: installutil /u C:\ProjectFolder\bin\Debug\MyProject.exe

Service d’installation: –

“C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ InstallUtil.exe” “C: \ Services \ myservice.exe”

UnInsatall Sevice: –

“C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ InstallUtil.exe” -u “C: \ Services \ myservice.Service.exe”

lorsque votre version d’assemblage et votre projet Visual studio Biuld sont configurés sur dot net 2 ou 4, installez-les avec la même version.

installer le service avec installutil cette même version

si construit en dot net 4

Tapez c: \ windows \ microsoft.net \ framework \ v4.0.30319 \ installutil.exe

si construit en dot net 2

Tapez c: \ windows \ microsoft.net \ framework \ v2.0.11319 \ installutil.exe

Ouvrez Visual Studio et sélectionnez un nouveau projet en sélectionnant Windows Service modèle de Windows Service Windows Desktop dans l’onglet Windows Desktop . Ensuite, copiez le code suivant dans votre fichier service_name.cs.

 using System.Diagnostics; using System.ServiceProcess; namespace TimerService { public partial class Timer_Service : ServiceBase { public Timer_Service() { InitializeComponent(); } static void Main() { if (System.Diagnostics.Debugger.IsAttached) { Timer_Service service = new Timer_Service(); service.OnStart(null); } else { ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] { new Timer_Service() }; ServiceBase.Run(ServicesToRun); } } protected override void OnStart(ssortingng[] args) { EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new ssortingng[] { "Service start successfully." }); } protected override void OnStop() { EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new ssortingng[] { "Service stop successfully." }); } } } 

Cliquez avec le bouton droit sur le fichier nom_service.cs et ouvrez le concepteur de service. cliquez avec le bouton droit de la souris et sélectionnez Add Installer . Cliquez avec le bouton droit sur serviceProcessInstaller1 et modifiez sa valeur de propriété de Account d’ User à Local System .

Supprimez static void main méthode static void main du fichier Program.cs . Que sauvegarder et construire votre projet.

REMARQUE: bin\Ddebug goto bin\Ddebug de votre dossier de projet. Que d’ouvrir les propriétés de votre fichier service_name.exe . À partir de l’onglet Compatibility . Cliquez ensuite sur Change Settings For All Users .

Sélectionnez l’option Run this program as an administrator .

Maintenant, vous devez ouvrir CommandPromt en tant qu’administrateur. Après ouverture, définissez le répertoire où se trouve votre fichier InstallUtil.exe . par exemple: C:\Windows\Microsoft.NET\Framework64\v4.0.30319 . Maintenant, écrivez la commande suivante:

 C:\Windows\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe -i C:\TimerService\TimerService\bin\Debug\TimerService.exe 

Note: -i est pour installer le service et -u pour Unsinstall.

Après -i, définissez le chemin d’access où vous souhaitez installer votre service.

écrivez maintenant la commande dans CommandPromt comme suit:

 C:\TimerService\TimerService\bin\Debug>net start service_name 

Remarque: utilisez stop pour arrêter le service.

Maintenant, ouvrez ViewEventLog.exe . Sélectionnez Journaux Windows> Application. Là, vous pouvez vérifier le journal de votre service en démarrant et en arrêtant le service.

Vous devriez ouvrir l’invite de commande, allez à

C:\windows\microsoft.net\framework\v4.0.30319\InstallUtil.exe -i ".EXE file of window service"