我有以下问题,我希望在系统上安装我的应用程序作为服务。我的类继承自 System.Configuration.Install.Installer。当我在该类的构造函数中尝试获取 Context 属性的参数时,问题就开始了,然后我得到以下异常:
无法创建(我从安装程序继承的类名)安装程序类型的实例。
当我打印出 Context 属性时,我在构造函数中看到它为 null(并且在尝试访问 context 属性时会引发异常)。
相同的代码在 2003 上运行良好,安装成功完成,但在这里失败。
我有以下问题,我希望在系统上安装我的应用程序作为服务。我的类继承自 System.Configuration.Install.Installer。当我在该类的构造函数中尝试获取 Context 属性的参数时,问题就开始了,然后我得到以下异常:
无法创建(我从安装程序继承的类名)安装程序类型的实例。
当我打印出 Context 属性时,我在构造函数中看到它为 null(并且在尝试访问 context 属性时会引发异常)。
相同的代码在 2003 上运行良好,安装成功完成,但在这里失败。
如果可能,将您的代码从构造函数移至安装。Installer 的常见用法是:
using ( TransactedInstaller transactedInstaller = new TransactedInstaller() )
{
transactedInstaller.Installers.Add(myInstaller);
transactedInstaller.Context = new InstallContext(null, null);
transactedInstaller.Install(new System.Collections.Hashtable());
}
这就是Context
构造函数中为 null 的原因。