Wie installiere ich einen Windows-Dienst programmgesteuert in C #?
Habe ich 3 Projekte in meiner VS-Lösung. Einer von Ihnen ist ein Web app, der zweite ist ein Windows-Dienst und die Letzte ein Setup-Projekt für meine Web-app.
Was ich will, ist, indem Sie das Ende der installation der web app in meinem setup-Projekt, in meine eigene Aktion, um zu versuchen und zu installieren, meine windows-Dienst gegeben, dass ich den Speicherort der assembly.
InformationsquelleAutor der Frage Konstantinos | 2008-12-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich mehrere Fehler in dem code, den Sie wiederverwendet werden und haben Feste und auch gereinigt es ein bisschen. Wieder, der ursprüngliche code stammt aus hier.
Bitte lassen Sie mich wissen, wenn jemand feststellt, dass etwas falsch mit diesem code!
InformationsquelleAutor der Antwort Lars A. Brekken
Ok, hier ist was WIRKLICH für mich gearbeitet, es wurde getestet auf mehreren Rechnern mit unterschiedlichen OS ( Vista, XP, Win2k, Win2003 server )
Den code genommen wurde hier so voller Kredit geht wer schrieb dieses Stück code.
Sobald Sie fügen Sie die dll-oder Quell-Datei in Ihr Projekt stellen Sie sicher, dass Sie die ServiceTools namespace und dann haben Sie Zugriff auf einige sehr praktische Funktionen wie...
Ich hoffe, das hilft.
InformationsquelleAutor der Antwort Konstantinos
Bitte haben Sie einen Blick auf dieser Artikel.
Manchmal möchten Sie installieren ein Windows-Dienst programmgesteuert, aber der Ziel-Rechner nicht InstallUtil.exe.
Fügen Sie einen Verweis auf
System.Configuration.Install
Verwenden Sie den folgenden code.
Beachten Sie, dass die
exeFileName
ist die InstallerClass .exe-Datei und nicht die Serviceklasse .exe.Deinstallieren:
InformationsquelleAutor der Antwort lakshmanaraj
Nach dem erstellen einer Instanz des installer-Klasse für meinen service (sehr basic), alle die ich tun musste, ist zu nennen :
installieren und die
deinstallieren Sie den Dienst. Der aufrufende code ist, hier, in der gleichen assembly wie die service executable.
um den Dienst zu installieren, über die Befehlszeile alles hatte ich zu tun ist, verbinden Sie diesen mit der ausführbaren obwohl Kommandozeilenparameter und testen Sie
System.Environment.UserInteractive
zu wissen, wenn es den Dienst ausführt, oder jemand versucht zu installieren, deinstallieren Sie es und voila... Nein funky interop Zeug... keine Zeiger undicht...Insgesamt etwa 20 Zeilen code, verteilt auf zwei Klassen, war der trick.
ersetzen InstallUtil werfen Sie einen Blick auf ManagedInstallerClass.InstallHelper
InformationsquelleAutor der Antwort Newtopian
Mithilfe der Topshelf Projekt können Sie die Installation durch Aufruf der ausführbaren Datei:
Topshelf kümmert sich auch um andere Windows-Dienst Sanitär.
InformationsquelleAutor der Antwort Brian Low
Da war ich konfrontiert mit der Herausforderung, die Dienste installieren programmgesteuert die Ausführung unter einem bestimmten Benutzer. Ich streckte die
InstallAndStart
Methode zu nutzenlp
undlpPassword
...Nicht viel, aber könnte helfen.
InformationsquelleAutor der Antwort mJay
In diesem Artikel lese ich alle Beiträge und Kommentare, die Bu immer noch ich weiß nicht Wie ich das einstellen kann Konto-Typ und die StartType-Methode, wenn ich gonna hinzufügen von windows-Dienst. Das code-Beispiel funktioniert meiner Seite sein, fügen Sie einfach einen service eigenen, lokalen system), Aber ich bereite Setup-Programm muss ich glaube StartMode und Benutzer-Account Methode, da der Kunden-system.
es ist jede Erscheinung, die ServiceBootFlag enum bieten StartType aber Account-Typ immer noch ein problem.
InformationsquelleAutor der Antwort Tayfur Yılmaz
Folgenden code verwenden, installieren windows-Dienst mit C#:
InformationsquelleAutor der Antwort Mahsh Nikam