14 Stimmen

Wie kann ich den Namen eines Windows-Dienstes ändern?

Ich habe eine Windows-Dienstanwendung in C# entwickelt. Derselbe Dienst muss mit verschiedenen Konfigurationsdateien ausgeführt werden. Um diese auf demselben Rechner auszuführen, müsste ich den Namen des Dienstes ändern. Ich kann mehrere Kopien der Lösung erstellen, weiß aber nicht, wie ich die Namen der Dienste ändern kann.

Merci

12voto

Jeff LaFay Punkte 12384

In Ihrer Win-Service-Klasse, die sich ableitet von ServiceBase gibt es eine Eigenschaft, die vererbt wird und die Sie einstellen können. ServiceName . Sie könnten eine app.config erstellen, eine Einstellung für den Servicenamen hinzufügen und Ihre Win-Service-Klasse diese Eigenschaft entsprechend zuweisen lassen. Auf diese Weise wird jeder Dienstname eindeutig sein, solange Sie die Einstellung in der app.config ändern.

3voto

ewall Punkte 25613

Die Konfiguration für Windows-Dienste wird in der Registry unter HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Services... Wahrscheinlich möchten Sie sowohl den Namen des Schlüssels (den "Ordner" und hier den tatsächlichen Namen des Dienstes) als auch den Wert "Anzeigename" ändern.

Es wäre besser, wenn ein Tool wie SC.EXE verwenden, um Dienste zu konfigurieren um Probleme mit fehlerhaften Registry-Editierungen zu vermeiden. Obwohl SC einen Dienst nicht umbenennen kann, können Sie damit Dienste löschen und neu erstellen (achten Sie darauf, dass alle Einstellungen richtig sind!).

3voto

Baz Guvenkaya Punkte 1400

Der Name des Dienstes kann auch bearbeitet werden über ProjektInstallateur Entwurfsmodus. Es gibt eine Eigenschaft namens Dienstname im ServiceInstaller .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X