installutil を使用せずに Windows サービスをインストールしようとしています。私が見つけたこれを行うための理解しやすく簡単な方法は、次を使用することです。
ManagedInstallerClass.InstallHelper
したがって、次の Program.cs になります。
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main(string[] args)
{
if (args.Length >0)
{
string parameter = string.Concat(args);
switch (parameter)
{
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 PicknikService()
};
ServiceBase.Run(ServicesToRun);
}
}
}
サービスをビルドして MyService.exe --install を実行すると、次のようになります。
Cannot start service from the command line or debugger. A winwows Service must first be installed(using installutil.exe) and then started with the ServerExplorer, Windows Services Afministrative tool or the NET START command.
何かご意見は?