AssemblyInstaller中的ServiceType

时间:2014-02-20 15:39:27

标签: c# .net windows-services

我想通过example.

以编程方式安装Windows服务

以下是代码段。

private static AssemblyInstaller GetInstaller()
{
    AssemblyInstaller installer = new AssemblyInstaller(
        typeof(YourServiceType).Assembly, null);
    installer.UseNewContext = true;
    return installer;
}

我不知道这里的“YourServiceType”是什么。 MSDN中的AssemblyInstaller构造函数的语法是

public AssemblyInstaller(
    Assembly assembly,
    string[] commandLine
)

更新

如果在bin \ debug文件夹下运行命令“MyApplication.exe -install”,我无法启动该服务。 但是,如果在调试模式下,我将参数放在项目属性的“开始选项”中。没关系。为什么?我按照example.的步骤进行了操作  我将“StartType”设置为“自动”。

1 个答案:

答案 0 :(得分:0)

YourServiceType是Windows服务的类型名称。如果您从头开始按照我的说明进行操作,那么您最初使用Visual Studio提供的模板创建了服务。默认情况下,这会为您提供一个名为Service1的服务类。如果您尚未更改班级名称,请使用Service1。否则,请使用您更改的名称。

private static AssemblyInstaller GetInstaller()
{
    AssemblyInstaller installer = new AssemblyInstaller(
        typeof(Service1).Assembly, null);
    installer.UseNewContext = true;
    return installer;
}