Le seul moyen d'installer Windows-Service que je connaisse consiste à utiliser " Invite de commandes Visual Studio 2008 ". Existe-t-il un moyen d'installer Windows-service sur une machine sur laquelle Visual Studio n'est pas installé (supposons que 2.X est installé.)
vous pouvez le faire avec installUtil
qui réside dans le dossier du framework .net (sur ma machine, il s'agit de C:\Windows\Microsoft.NET\Framework\v2.0.50727).
Vous pouvez installer Windows Services en tant que MSI. Créez le fichier MSI en tant que projet normal attaché à votre projet de service.
Dans votre projet de service, créez une classe d'installation et ajoutez les composants serviceInstaller et serviceProcessInstaller et configurez-les selon vos besoins. Ajoutez la sortie du projet du projet de service au projet MSI, définissez les actions personnalisées du projet MSI pour l'installation, la validation, la restauration et la désinstallation sur la sortie du projet de service.
Modifiez le projet MSI comme vous le souhaitez, construisez-le, vous pourrez ensuite installer votre service sur n’importe quel ordinateur Windows sans VS.NET ou en utilisant l’utilitaire InstallUtil. Le MSI se chargera également de la désinstallation, etc.
Il existe des propriétés du composant serviceProcessInstaller que vous pouvez définir pour que le compte puisse exécuter le service, car serviceInstaller contient des propriétés pouvant être définies, telles que le nom du service. Vous devrez définir le nom du service et son parent. MSDN fournira des informations utiles sur l'utilisation de ces deux composants.
J'espère que cela t'aides.
À votre santé.
Page MSDN pertinente: http://msdn.Microsoft.com/en-us/library/sd8zc8ha%28VS.80%29.aspx
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil.exe yourproject.exe
Il n'est pas nécessaire que Visual Studio soit installé pour que cela fonctionne.
Oui, installutil.exe
fonctionne bien, mais j'en ai eu marre de devoir me rappeler de démarrer l'invite de commande Visual Studio 2008 pour pouvoir l'utiliser. Invariablement, j'ouvrais une console ordinaire uniquement pour me rendre compte que l'emplacement installutil.exe
ne faisait pas partie du chemin.
Heureusement, le installutil.exe
encapsule un ensemble d'appels de réflexion. De MSDN,
Installutil.exe
utilise la réflexion sur inspecter l'assemblage spécifié et trouve tous les typesInstaller
avec leRunInstallerAttribute
défini sur true. Le Cet outil exécute ensuite l’installation Méthode ou la méthode de désinstallation sur chaque instance du typeInstaller
.
Cela signifie qu'il est possible d'ajouter du code au service Windows pour l'installer et le désinstaller. Ce faisant, je n’ai plus besoin de installutil.exe
ni de l’invite de commande Visual Studio 2008 pour l’exécuter.
J'ai fourni un guide étape par étape expliquant comment faire ceci ici . L'option -install
installe le service Windows et le démarre. Inversement, l'option -uninstall
arrête le service et le désinstalle.
Ouvrez une invite de commande (cmd) et tapez
aider sc
et
sc créer
En outre, le fichier installutil.exe dont vous parlez ne se trouve que dans le répertoire .Net Framework. La commande Invite de VS configure simplement un chemin Nice, mais vous pouvez le lancer à partir de (mon chemin) C:\Windows\Microsoft.NET\Framework\v2.0.50727.
Vous n'avez pas besoin de l'invite de commande Visual Studio 2008. Vous avez besoin du programme InstallUtil.exe qui se trouve dans
C:\Windows\Microsoft.NET\Framework\v2.0.50727
Sur les machines x64, une version 64 bits est également disponible.
C:\Windows\Microsoft.NET\Framework64\v2.0.50727
Ces répertoires ne sont évidemment disponibles que lorsque .NET est installé.
Tout ce que vous faites est de placer les outils du framework .Net dans PATH; vous pouvez toujours utiliser: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe
en spécifiant le chemin complet dans une invite de commande normale (à ajuster évidemment pour votre architecture framework/CPU)
Avec la commande de Visual Studio Invite:
installutil /i fullfilepathtoservice.exe
Sans commande de Visual Studio Invite:
C:\WINNT\Microsoft.NET\Framework\v1.1.4322 installutil /i fullfilepathtoservice.exe
HTH.
Je suppose que vous recherchez le programme "installutil.exe", que l’on utilise pour installer les services Windows .NET. Vous pouvez le trouver dans% windir%\Microsoft.NET\Framework\v2.0.50727
étape 1> Installer le framework .net (j'utilise .net 4.0 mais vous pouvez l'utiliser comme condition requise)
étape 2> Accédez à run + cmd
puis cliquez sur ok ou directement sur votre invite de commande de fenêtre (l’invite de commande non Visual Studio)
étape 3> tapez ces lignes
> cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe
> E:\test\test\bin\Debug\test.exe
E:\test\test\bin\Debug\
est le chemin où ma configuration de service de fenêtre est enregistrée
C:\Windows\Microsoft.NET\Framework\v4.0.30319\
est le chemin où InstallUtil.exe existe.
Dans les deux InstallUtil.exe existent. et chemin doit donner un espace. Sinon, cela déclenche une erreur.
Étape 4> Profitez de ... votre service est installé ... vous pouvez maintenant le vérifier depuis le panneau de configuration> outil administratif> Services.