2012-05-23 45 views
0

我有以下問題, 我希望在系統上安裝一個我的應用程序作爲服務。 我的類繼承自System.Configuration.Install.Installer。這個問題在這個類的構造函數中嘗試獲取Context屬性的參數時開始,然後我得到以下異常:.net服務安裝在windows server 2008上

無法創建(我的類名繼承自安裝程序)安裝程序類型的實例。

當我打印出Context屬性時,我發現它在構造函數中是空的(並且它在嘗試觸及上下文屬性時引發異常)。
相同的代碼在2003年正常工作,安裝成功完成,但在這裏失敗。

回答

0

如果可能的話,將代碼從構造函數移動到Install。安裝程序的常見用法是:

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

這就是爲什麼Context在構造函數中爲null的原因。

相關問題