1
Ich habe derzeit ein Programm, das korrekt als Dienst installiert wird, aber der Starttyp ist auf "Manuell" gesetzt. Wie stelle ich diese Anwendung als Starttyp = Automatisch ein?C# Einen Dienst installieren und beim Booten automatisch starten
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 {
if (!Environment.UserInteractive) {
// running as service
using (var service = new DocLogicJMS())
ServiceBase.Run(service);
} else {
// running as console app
Start(args);
Console.WriteLine("Press any key to stop...");
Console.ReadKey(true);
Stop();
}
}
}
Und JMS ist:
namespace JMS {
partial class DocLogicJMS {
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing) {
if (disposing && (components != null)) {
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent() {
this.ServiceName = "DocLogic JMS";
}
#endregion
}
}
Ich habe weitere Informationen zu meinem Problem hinzugefügt. Ich denke, das ist nah an dem, was ich brauche, aber nicht genau. –
Aber du hast mich auf den richtigen Weg gebracht. Vielen Dank. Ich brauchte diese Zeilen: this.JMSserviceInstaller.StartType = ServiceStartMode.Automatic; this.JMSserviceInstaller.DelayedAutoStart = false; –