L'unico modo per installare il servizio Windows che conosco è "Prompt dei comandi di Visual Studio 2008", C'è un modo per installare Windows-service su una macchina che non ha installato Visual Studio (si supponga che la versione .Net 2.X è installato.)Come posso installare un servizio Windows su una macchina su cui non è installato Visual Studio?
risposta
lo si può fare con installUtil
che risiede nella cartella .net framework (sulla mia macchina è C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727).
Rilevante pagina MSDN: http://msdn.microsoft.com/en-us/library/sd8zc8ha%28VS.80%29.aspx
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil.exe yourproject.exe
Non è necessario avere installato Visual Studio per questo al lavoro.
Immagino che stiate cercando il programma "installutil.exe", che si usa per installare .NET Windows Services. Lo si può trovare in% windir% \ Microsoft.NET Framework \ v2.0.50727
Aprire un prompt dei comandi (cmd) \ e digitare
aiuto sc
e
sc creano
In additon l'installutil.exe sei pro parlare discutibilmente è in realtà solo nella directory .Net Framework. Il prompt dei comandi di VS imposta semplicemente un percorso carino, ma puoi avviarlo da (percorso mio) C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 bene.
Non è necessario il prompt dei comandi di Visual Studio 2008. È necessario il programma InstallUtil.exe che può essere trovato in
C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727
Su macchine x64 c'è anche una versione a 64 bit in
C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727
Questi directorie s sono ovviamente disponibili solo quando .NET è installato.
Tutto ciò che sta facendo è mettere gli strumenti del framework .Net sul PERCORSO; si può andare ancora usare: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe
specificando il percorso completo in un prompt dei comandi normale (ovviamente regolare per la propria architettura quadro/CPU)
Con prompt dei comandi di Visual Studio:
installutil /i fullfilepathtoservice.exe
Senza prompt dei comandi di Visual Studio :
C:\WINNT\Microsoft.NET\Framework\v1.1.4322 installutil /i fullfilepathtoservice.exe
HTH.
Sì, installutil.exe
funziona bene, ma mi sono stancato di dover ricordare di avviare il prompt dei comandi di Visual Studio 2008 per poterlo utilizzare. Invariabilmente, aprivo una normale console solo per rendermi conto che la posizione installutil.exe
non faceva parte del percorso.
Fortunatamente, lo installutil.exe
è un wrapper attorno a una serie di chiamate di riflessione. Da MSDN,
Installutil.exe
utilizza la reflection per ispezionare il montaggio e specificato trovano tutti i tipiInstaller
con ilRunInstallerAttribute
impostato su true. Lo strumento esegue quindi il metodo Installa o il metodo di disinstallazione su ciascuna istanza del tipoInstaller
.
Ciò significa che è possibile aggiungere codice al servizio di Windows per installarlo e disinstallarlo. Così facendo, non ho più bisogno di installutil.exe
o del prompt dei comandi di Visual Studio 2008 per eseguirlo.
Ho fornito una guida dettagliata su come eseguire questa operazione here. L'opzione -install
installa il servizio Windows e lo avvia. Al contrario, l'opzione -uninstall
arresta il servizio e lo disinstalla.
È possibile installare i servizi di Windows come MSI. Crea l'MSI come un normale progetto collegato al tuo progetto di servizio.
Nel progetto servizio Creare una classe installatore e aggiungere il servizio componentiInstaller e serviceProcessInstaller e configurare come richiesto. Aggiungere l'output del progetto dal progetto di servizio al progetto MSI, impostare le azioni personalizzate del progetto MSI per l'installazione, il commit, il rollback e la disinstallazione sull'output del progetto di servizio.
Modificare il progetto MSI in qualsiasi altro modo desiderato, creare l'MSI, quindi sarà possibile installare il servizio su qualsiasi macchina Windows senza VS.NET o utilizzando l'applicazione di utilità InstallUtil. L'MSI gestirà anche la disinstallazione, ecc.
Ci sono delle proprietà del componente serviceProcessInstaller che è possibile impostare per l'account per eseguire il servizio in, il serviceInstaller contiene proprietà che possono essere impostate come il nome del servizio. Dovrai impostare ServiceName e Parent, MSDN fornirà buone informazioni su come utilizzare entrambi questi componenti.
Spero che questo aiuti.
Cheers.
"Imposta" le azioni personalizzate? – doug65536
- 1. Come installare un servizio Windows C# su un server remoto?
- 2. Come posso sapere se Visual Studio 2008 SP1 è installato?
- 3. Installare un servizio Windows su una macchina remota usando un determinato nome utente
- 4. utilizzando FUSLOGVW.EXE su un computer senza Visual Studio installato
- 5. Impossibile installare Visual Studio 2010 su Windows 10
- 6. Installare R Studio Server su Windows
- 7. non è possibile installare XDEBUG su Windows?
- 8. Posso eseguire Visual Studio 2008 x86 su Windows Vista x64?
- 9. Come installare R su Solaris su una macchina virtuale VirtualBox?
- 10. Non è possibile installare Visual Studio 2014 CTP su Windows 8.1
- 11. Utilizzo di Boost su Windows (Visual Studio)
- 12. "Sharepoint non installato" Errore Visual Studio 2012
- 13. Come installare english.pickle per nltk su una macchina Linux offline
- 14. Posso ospitare un'app lucida su una macchina Windows?
- 15. come correggere Visual Studio 2012 dopo aver installato IE10 su Windows 7?
- 16. Come verificare se è installato un servizio Windows in C#
- 17. Come installare Visual Studio Express 2013 SOLO su un disco rigido esterno (non su C affatto)?
- 18. Come posso installare jython su Windows 7?
- 19. Impossibile installare memcached 1.4.5 come servizio su Windows
- 20. Come installare un servizio Windows creato in VC++ 6.0
- 21. È possibile installare Roslyn senza Visual Studio?
- 22. Come verificare quale aggiornamento installato su Visual Studio 2013
- 23. Come creare l'app .NET 4.6 Framework senza Visual Studio installato?
- 24. Come posso rilevare Sun/Oracle JRE installato su Windows?
- 25. Come verificare se un programma è installato su sistema Windows
- 26. Android Studio in esecuzione su macchina virtuale VMware: KVM non è installato
- 27. Servizio Windows senza interferenze di Visual Studio
- 28. Impossibile installare socket.io su Windows 7
- 29. È possibile installare pandoc su Windows utilizzando un comando R?
- 30. Come installare gevent su Windows?
Per il mio servizio .Net 4.5 ho dovuto utilizzare InstallUtil.exe in C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319. Quando ho provato a utilizzare quello nella directory v2.0.50727 ho ricevuto un errore che diceva "L'assembly è stato creato da un runtime più recente rispetto al runtime attualmente caricato e non può essere caricato." – deadlydog
@deadlydog La domanda originaria riguardava .Net versione 2, ma è corretto che sia necessario utilizzare la versione di installUtil che corrisponde alla versione del framework per cui è stato creato il servizio. –
@giorgi Dipende da quale framework .Net si imposta il proprio target. Se il tuo progetto ha come obiettivo .Net 4.0, ma sul server è installato .Net 3.5, non potrai utilizzare installUtil per questo, e anche se potresti installarlo, non verrebbe eseguito. Il server deve avere almeno la versione .Net (o successiva) che il tuo progetto sia impostato come target. – deadlydog