Comment changer le nom de mon service Windows?

J’ai un service Windows et je souhaite en modifier le nom (tel qu’il apparaît dans l’application Services). Mais je ne suis pas sûr de la bonne façon de le faire. Il semble que ce soit la propriété ServiceName et en cherchant dans ma solution, j’ai trouvé ceci:

namespace SI.AService.AService { partial class AService { ///  /// Required designer variable. ///  private System.ComponentModel.IContainer components = null; ///  /// Clean up any resources being used. ///  /// true if managed resources should be disposed; otherwise, false. protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Component Designer generated code ///  /// Required method for Designer support - do not modify /// the contents of this method with the code editor. ///  private void InitializeComponent() { // // AService // this.ServiceName = "Company.AService.AService"; } #endregion } } 

Donc, cela semble être du code généré automatiquement. Quelle est la bonne façon de le changer? Il dit “ne modifiez pas le contenu de cette méthode avec l’éditeur de code”. Alors, où puis-je le modifier alors?

Mise à jour: je mettais à jour mon service Windows via le processus de génération de Visual Studio, qui n’a apparemment aucun effet sur les modifications de nom configurées dans le programme d’installation du service. Je pense qu’il exécute une commande de désinstallation et d’installation avec InstallUtil. Au lieu de cela, je devais aller dans le répertoire de sortie du processus de construction où se trouvaient 2 fichiers. Un fichier msi et un fichier setup.exe. Le MSI installe le service, MAIS il n’y a pas de changement de nom. Cependant, si j’exécute le fichier setup.exe, il en fait de même, mais les modifications de nom apscopes au service sont incluses. Donc, je suppose que le projetinstaller / serviceinstaller est inclus dans le fichier setup.exe et non l’autre.

Enfin, merci à tous pour votre aide.

Vous devez append une classe d’installateur à votre projet de service Windows. Ensuite, dans son concepteur, vous ajoutez ServiceInstaller et ServiceProcessInstaller. Dans les objects de ces deux classes, vous pouvez spécifier le nom du service, le nom complet du service, l’utilisateur, etc.

Vous pouvez voir une explication détaillée ici:
http://utkarshpuranik.wordpress.com/2010/06/07/creating-installing-debugging-windows-services/

Vous avez peut-être ajouté un programme d’installation en cliquant avec le bouton droit de la souris sur la vue de conception de votre classe de service Windows . Si vous avez fait cela, vous trouverez une classe ProjectInstaller dans votre projet WindowsService.

En sélectionnant cette classe ProjectInstaller , vous trouverez deux programmes d’installation dans sa vue Conception -> 1.ServiceInstaller1 2.ServiceProcessInstaller1

Cliquez avec le bouton droit sur ServiceInstaller1 et sélectionnez les propriétés . Dans la fenêtre des propriétés, remplacez le nom du service par le nom que vous souhaitez donner à votre service.

J’espère que ça marche …

Dans Visual Studio 2010, vous pouvez double-cliquer sur l’entrée du fichier de service dans l’explorateur de solutions (nommée “AService” dans votre cas). Dans la fenêtre des propriétés, modifiez simplement l’entrée sous “NomService”.

dans VS2012 et 2015, si vous souhaitez le modifier dans VS Designer, double-cliquez sur votre fichier de classe de service, par exemple, MyCustomService.cs, puis en mode conception, cliquez avec le bouton droit de la souris et choisissez Propriétés.

entrez la description de l'image ici

cela vous donne la possibilité de changer visuellement le nom du service.

entrez la description de l'image ici

Cela dépend de la façon dont vous l’installez

  • Si vous utilisez SC.EXE, il vous suffit de modifier le paramètre du nom d’affichage.
  • Si vous utilisez la classe ServiceInstaller, changez son nom d’affichage.

Aucune de ce qui précède ne fonctionne pour moi, donc partager ce qui fonctionne réellement Allez dans votre fichier “ProjectInstaller.Designer.cs” et mettez la ligne à jour:

 this.serviceInstaller1.ServiceName = "Updated Name"; 

Il devrait être sous la méthode: InitializeComponent ()

J’espère que ça aide quelqu’un !!!

Une image vaut parfois mille mots alors je pensais vous avoir donné cette image avec une annotation:

Ça devrait être simple.

entrez la description de l'image ici