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"
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:
c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe [your windows service path to exe]
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”.
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
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.
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\
pour accéder au dossier 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"