2010-01-14 142 views

回答

8

在您的安裝項目中,右鍵單擊項目,然後選擇視圖>自定義操作。添加自定義操作。現在選擇添加輸出,選擇您的Web服務項目,然後單擊確定。

現在選擇您的自定義操作,並設置CustomActionData屬性包含類似/ProductName=[PRODUCTNAME] /whateveryouwant=[Whateveryouwant](注意,這些鍵值對,即訪問產品名稱,ProductName是鍵和值是PRODUCTNAME)。

注意CustomActionData包含將被傳遞到您的安裝程序類的參數。 PRODUCTNAME是與用戶界面對話框中的輸入控件關聯的屬性名稱,因此在您的情況下,您會提示用戶在yor安裝程序中輸入產品名稱。因此,標籤是「產品名稱」和相應的屬性應該設置爲PRODUCTNAME(很明顯,你可以改變這一點,但是要注意的最重要的事情是,UI屬性名必須是相同的CustomActionData屬性名稱)這個例子工作。現在

您的安裝類中,你可以通過做

public override void Install(IDictionary stateSaver) 
{ 
     // If you need to debug this installer class, uncomment the line below 
     //System.Diagnostics.Debugger.Break(); 

     string productName = Context.Parameters["ProductName"].Trim(); 

     string whateveryouwant = Context.Parameters["whateveryouwant"].Trim(); 
} 

注獲得產品名稱我包括註釋代碼//System.Diagnostics.Debugger.Break();,你可以發表評論的,這樣就可以調試安裝程序類。

希望這有助於。

+0

優秀!謝謝! – 2010-01-15 11:15:14

+0

我遇到了兩個問題:(1)它不工作(2)在調試時,它說:'無法計算表達式,因爲當前方法的代碼是optimized.' – 2010-01-15 15:28:23

+0

林不知道是什麼問題,沒有看到你代碼或有更多的細節。你得到的錯誤是一個錯誤,發生在許多地區。如果你願意的話,你可以給我一個你的設置項目的修剪版本,並且看看我能否看到它有什麼問題。 – Somedeveloper 2010-01-18 17:26:28