Je souhaite installer un service Windows à l'aide d'une invite de commandes Windows (pas l'invite de commandes Visual Studio).
Comment puis-je faire cela?
Je souhaite installer un service Windows à l'aide d'une invite de commandes Windows (pas l'invite de commandes Visual Studio).
Comment puis-je faire cela?
Réponses:
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"
Rien de mal avec la commande SC Create. Il vous suffit de connaître les arguments corrects:
SC CREATE "MySVC" binpath= "D:\Me\Services\MySVC\MySVC.exe"
sc
également une commande mais c'est quelque chose de différent, ne peut pas être utilisé pour enregistrer des services.
Si le nom du répertoire a un espace comme 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 bat 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
pour désinstaller le service,
Ajoutez simplement -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"
Effectuez les opérations suivantes:
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 pouvez trouver des erreurs qui ne se présentent pas. Si vous en obtenez, 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».
Installer le service: -
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe"
"C:\Services\myservice.exe"
Désinstaller Sevice: -
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" -u "C:\Services\myservice.Service.exe"
Je dois ajouter un point de plus dans ce fil. Pour installer / désinstaller la 64-bit
version des assemblages, il faut utiliser la 64-bit
version 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 doit être:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe" -u
"C:\YourFolder\YourService.exe"
Créez un *.bat
fichier à côté de votre exe
fichier de service Windows à installer dans 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 *.bat
fichier à côté de votre exe
fichier de 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 chacun des bat
fichiers en tant qu'administrateur pour installer ou désinstaller votre service Windows.
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\
pour aller dans le dossierinstallutil C:\ProjectFolder\bin\Debug\MyProject.exe
Remarque: pour désinstaller:installutil /u C:\ProjectFolder\bin\Debug\MyProject.exe
Ouvrez Visual studio et sélectionnez un nouveau projet en sélectionnant le Windows Service
modèle dans l' Windows Desktop
onglet. 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(string[] args)
{
EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service start successfully." });
}
protected override void OnStop()
{
EventLog.WriteEvent("Timer_Service", new EventInstance(0, 0, EventLogEntryType.Information), new string[] { "Service stop successfully." });
}
}
}
Cliquez avec le bouton droit sur le fichier service_name.cs et ouvrez le concepteur de service. que clic droit et sélectionnez Add Installer
. cliquez avec le bouton droit sur serviceProcessInstaller1
et modifiez sa valeur de propriété Account
de User
à Local System
.
Supprimer la static void main
méthode du Program.cs
fichier. Ensuite, enregistrez et créez votre projet.
REMARQUE:bin\Ddebug
dossier goto de votre dossier de projet. Ensuite, ouvrez les propriétés de votre service_name.exe
fichier. Compatibility
Onglet goto . Cliquez ensuite sur Change Settings For All Users
.
Sélectionnez une option Run this program as an administrator
.
Maintenant, vous devez ouvrir CommandPromt en tant qu'administrateur. Après ouverture, définissez le répertoire dans lequel votre InstallUtil.exe
fichier est placé. par ex: C:\Windows\Microsoft.NET\Framework64\v4.0.30319
. écrivez maintenant la commande suivante:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe -i C:\TimerService\TimerService\bin\Debug\TimerService.exe
Remarque: -i correspond à l'installation du service et -u à la désinstallation.
après -i, définissez le chemin d'accès 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 consulter le journal de votre service en démarrant et en arrêtant le service.
Si vous utilisez Powershell et que vous souhaitez installer le service .NET, vous pouvez utiliser le module Install-Service . Il s'agit d'un wrapper pour l'outil InstalUtil.
Il expose 3 commandes
Le code de ce module peut être consulté ici
le code suivant, installez et désinstallez le Service,
Ouvrez l' invite de commande et exécutez le programme en tant qu'administrateur, lancez la commande ci-dessous et appuyez sur Entrée.
Syntaxe
À installer
C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe + Your copied path + \your service name + .exe
par exemple: Notre chemin InstallUtil.exe C: \ MyFirstService \ bin \ Debug \ MyFirstService.exe
Pour désinstaller
C:\windows\microsoft.net\framework\v4.0.30319>InstallUtil.exe -u + Your copied path + \your service name + .exe
par exemple: Notre chemin InstallUtil.exe -u C: \ MyFirstService \ bin \ Debug \ MyFirstService.exe
pour plus d'aide, vous pouvez voir le lien suivant: exemple de programme
Suivez les étapes lors du déploiement du service Windows, ne perdez pas de temps
1- Exécuter l'invite de commande par le droit d'administration
2- Assurez-vous du mode de libération lors de la compilation de votre IDE
3- Donnez un type à votre installateur de projet en mode conception
4- Sélectionnez le type d'authentification selon le cas
5- Assurez-vous des dépendances logicielles: si vous utilisez un certificat, installez-le correctement
6- Allez sur votre console, écrivez ceci:
C:\Windows\Microsoft.NET\Framework\yourRecentVersion\installutil.exe c:\yourservice.exe
il y a un argument -i caché avant le chemin exe que -i c:\
vous pouvez utiliser -u
pour désinstaller
7- Regardez votre chemin .exe pour ressembler à un fichier journal. Vous pouvez utiliser l'observateur d'événements pour observer dans la fonctionnalité
ouvrez l'invite de commande du développeur en tant qu'administrateur et accédez à
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
Maintenant, utilisez le chemin où est votre .exe
là
InstallUtil "D:\backup\WindowsService\WindowsService1\WindowsService1\obj\Debug\TestService.exe"
lorsque votre version d'assembly et votre paramètre Visual Studio Biuld sur dot net 2 ou 4 s'installent avec la même version.
installer le service avec installutil
cette même version
si construit en dot net 4
Type c:\windows\microsoft.net\framework\v4.0.30319\installutil.exe
si construit en dot net 2
Type c:\windows\microsoft.net\framework\v2.0.11319\installutil.exe
Dans le menu Démarrer, sélectionnez le répertoire Visual Studio, puis sélectionnez Prompt Command Prompt for VS.
2. L'invite de commande du développeur pour Visual Studio apparaît.
3.Accédez au répertoire où se trouve le fichier exécutable compilé de votre projet.
4. Exécutez InstallUtil.exe à partir de l'invite de commande avec l'exécutable de votre projet en tant que paramètre
Vous devez ouvrir l'invite de commande, accédez à
C:\windows\microsoft.net\framework\v4.0.30319\InstallUtil.exe -i ".EXE file of window service"
Ouvrez l'invite de commande en tant qu'administrateur, accédez à votre dossier où .exe
réside votre . Pour installer en Exe
tant que service
D:\YourFolderName\YourExeName /i
Pour désinstaller, utilisez /u
.