.Net服务安装在Windows Server 2008上

时间:2012-05-23 12:29:49

标签: c# windows service installation

我有以下问题, 我希望在系统上安装我的应用程序作为服务。 我的类继承自System.Configuration.Install.Installer。问题开始时,在该类的构造函数中我尝试获取Context属性的参数,然后我得到以下异常:

无法创建(我的继承自安装程序的类名称)安装程序类型的实例。

当我打印出Context属性时,我看到它在构造函数中为null(并且在尝试访问context属性时抛出异常)。
相同的代码在2003年工作正常,安装成功完成,但在这里失败了。

1 个答案:

答案 0 :(得分:0)

如果可能,将代码从构造函数移动到Install。安装程序的常见用法是:

using ( TransactedInstaller transactedInstaller = new TransactedInstaller() )
{
    transactedInstaller.Installers.Add(myInstaller);
    transactedInstaller.Context = new InstallContext(null, null);
    transactedInstaller.Install(new System.Collections.Hashtable());
}

这就是构造函数中Context为空的原因。