Wie installiere ich einen Windows-Dienst programmgesteuert, ohne installutil.exe zu verwenden?Windows-Dienst programmgesteuert installieren
Antwort
Sie den Dienst, indem Sie diesen Code installieren kann (in der Programmdatei, Program.cs) selbst zu installieren, wenn von der Kommandozeile mit speziellen Parametern ausführen:
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main(string[] args)
{
if (System.Environment.UserInteractive)
{
if (args.Length > 0)
{
switch (args[0])
{
case "-install":
{
ManagedInstallerClass.InstallHelper(new string[] { Assembly.GetExecutingAssembly().Location });
break;
}
case "-uninstall":
{
ManagedInstallerClass.InstallHelper(new string[] { "/u", Assembly.GetExecutingAssembly().Location });
break;
}
}
}
}
else
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[] { new MyService() };
ServiceBase.Run(ServicesToRun);
}
}
Dieser Link ist nicht erreichbar. –
Obwohl dies eine klare und geeignete Vorgehensweise ist, anstatt "advapi32.dll" auf niedriger Ebene zu verwenden, lautet die Framework-Dokumentation "Diese API unterstützt die .NET Framework-Infrastruktur und soll nicht direkt aus Ihrem Code verwendet werden." Aber ich bevorzuge immer noch "ManagedInstallerClass" und die Risiken zukünftiger Inkompatibilitäten in neuen .net-Versionen. (http://msdn.microsoft.com/pt-br/library/system.configuration.install.managedinstallerclass) – Luciano
Ich installiere und deinstalliere meinen Windows-Dienst über die Befehlszeile, z. B. MyWindowsService.exe -install
und MyWindowsService.exe -uninstall
, um die Verwendung von installutil.exe
selbst zu vermeiden. Ich habe eine Reihe von Anweisungen geschrieben, wie man das macht here.
Das OP fragte, wie dies programmgesteuert zu tun, nicht über die Befehlszeile. – Mike
Meine Lösung ist eine programmatische Lösung, auf die über die Befehlszeile genauso zugegriffen wird wie die akzeptierte Antwort. –
ich die Methode aus dem folgenden Codeproject verwenden Artikel, und es funktioniert großartig.
Great link; Es verweist jedoch auf einen Link von Mahmoud Nasr, der gebrochen ist. Ich habe das benutzt und es funktioniert für mich. https://msdn.microsoft.com/en-us/library/zt39148a(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1 –
Während dieser Link antworten kann die Frage, es ist besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - [Aus Bewertung] (/ review/low-quality-posts/18705889) – amod
- 1. Programm selbstsigniertes Zertifikat programmgesteuert installieren
- 2. IPA-Datei vom Server installieren und programmgesteuert installieren
- 3. So installieren Sie eine Chrome-Erweiterung programmgesteuert?
- 4. Wie programmgesteuert installieren ein Zertifikat mit C#
- 5. Bessere Möglichkeit, IIS7 programmgesteuert zu installieren
- 6. Kann ich programmgesteuert eine neue .NET-Version mit .NET installieren?
- 7. installieren/deinstallieren Sie einen .inf-Treiber programmgesteuert mit C# .net
- 8. Microsoft Loopback-Adapter programmgesteuert von VBS (oder C#/VB) installieren
- 9. Erneutes Installieren der Anwendung apk programmgesteuert ohne Herunterladen
- 10. Suchanbieter installieren [Internet Explorer]
- 11. JRE programmgesteuert herunterladen?
- 12. Joystick programmgesteuert emulieren
- 13. Wie programmgesteuert programmgesteuert zu einer programmgesteuert erstellten UIView hinzugefügt werden?
- 14. Verwenden von "Microsoft speichern als PDF" Add-in programmgesteuert ohne zu installieren Word
- 15. Wie kann ich Python-Module programmgesteuert/über ein Python-Skript installieren?
- 16. Wie kann ich ein Zertifikat in dem lokalen Computerspeicher programmgesteuert mithilfe von C# installieren?
- 17. LayerDrawable programmgesteuert
- 18. Formular programmgesteuert
- 19. Aktivitätsänderungssymbol programmgesteuert
- 20. Installieren von easy_install ... zum Installieren von lxml
- 21. FEHLER BEIM SCHREIBEN PID installieren Zookeeper installieren
- 22. einfach installieren kann Bibliothekspaket nicht installieren
- 23. PhoneGap 3 Android installieren/installieren Fehler
- 24. Programmgesteuert konvertieren docx-Datei in doc
- 25. Ein Stammzertifizierungsstellenzertifikat programmgesteuert zum iPhone-Truststore hinzufügen
- 26. PyQt installieren
- 27. CruiseControl installieren
- 28. Einfache Möglichkeit, programmgesteuert alle gespeicherten Prozeduren abzurufen
- 29. UITextView programmgesteuert scrollen
- 30. BPEL-Dateien programmgesteuert generieren?
Und keine anderen 3rd-Party-Installer verwenden? –
yep .... Ich wünschte, ich könnte eine Funktion wie installservice() verwenden, und wenn ich auf die windowsservice.exe doppelklicke, überprüft es, ob es installiert ist, wenn es nicht installiert wird, installiert es sich. – Josh
das ist eine gute Funktion :) :) – Danail