您的位置:首页 > 编程语言 > C#

使用C#代码安装 Windows 服务(不使用InstallUtil)

2008-05-20 12:41 656 查看
using System;

using System.Collections.Generic;

using System.ServiceProcess;

using System.Configuration.Install;

static class Program

{

/// <summary>

/// 应用程序的主入口点。

/// </summary>

[STAThread]

static void Main(string[] args)

{

// 运行服务

if (args.Length == 0)

{

ServiceBase[] ServicesToRun;

ServicesToRun = new ServiceBase[] { new MyService1() };

ServiceBase.Run(ServicesToRun);

}

// 安装服务

else if (args[0].ToLower() == "/i" || args[0].ToLower() == "-i")

{

try

{

string[] cmdline = { };

string serviceFileName = System.Reflection.Assembly.GetExecutingAssembly().Location;

TransactedInstaller transactedInstaller = new TransactedInstaller();

AssemblyInstaller assemblyInstaller = new AssemblyInstaller(serviceFileName, cmdline);

transactedInstaller.Installers.Add(assemblyInstaller);

transactedInstaller.Install(new System.Collections.Hashtable());

}

catch (Exception ex)

{

string msg = ex.Message;

}

}

// 删除服务

else if (args[0].ToLower() == "/u" || args[0].ToLower() == "-u")

{

try

{

string[] cmdline = { };

string serviceFileName = System.Reflection.Assembly.GetExecutingAssembly().Location;

TransactedInstaller transactedInstaller = new TransactedInstaller();

AssemblyInstaller assemblyInstaller = new AssemblyInstaller(serviceFileName, cmdline);

transactedInstaller.Installers.Add(assemblyInstaller);

transactedInstaller.Uninstall(null);

}

catch (Exception ex)

{

string msg = ex.Message;

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: