2012-02-20 32 views
0

我正在嘗試爲我的網站創建一個web設置,並且我想使用安裝程序類來執行一些自定義的操作。我使用VS 2010,網站和安裝程序是.NET 3.5。在網站的web設置中使用installclass的問題

我已經Custom Actions下添加參考的Install部分安裝類項目輸出:
Custom Actions

我也對CustomActionData這個動作設定/targetdir="[TARGETDIR]/"

InstallScript項目是一個標準的類庫(dll)。
Installer類繼承有一個公共類。它覆蓋了,因爲我已經看到了在幾個網上的例子做了安裝方法:

using System.Collections; 
using System.Windows.Forms; 

namespace InstallScript 
{ 
    public class MyWebInstaller : System.Configuration.Install.Installer 
    { 
    public override void Install(IDictionary stateSaver) 
    { 
     base.Install(stateSaver); 
     var targetDir = Context.Parameters["targetdir"]; 
     if(targetDir==null) targetDir = "No TARGETDIR!"; 
     MessageBox.Show("TARGETDIR:\t" + targetDir); 
    } 
    } 
} 

我想應該有顯示在安裝過程中一個消息框,在這裏索姆時間,但現在看來似乎永遠不會被調用。沒有錯誤顯示。該設置只是貫穿始終,就好像這個代碼從未被調用一樣。

任何人都知道什麼是錯的?

回答

0

好的,我發現了什麼是失蹤。

您需要指定具有類屬性RunInstaller(true)的類才能使安裝程序啓動並實際運行代碼。

所以類需要聲明如下:

[System.ComponentModel.RunInstaller(true)] 
public class MyWebInstaller : System.Configuration.Install.Installer 
{ 
    ... 
相關問題