簡體   English   中英

如何在 Visual Studio 2010 中為 c# 安裝程序編寫自定義操作?

[英]how to write custom action for a c# installer in visual studio 2010?

我正在為 64 位計算機在 Visual Studio 2010 中編寫安裝程序。 我在安裝過程中使用自定義操作來獲取CheckBox的值。

自定義Action如下:

/cbvalue="[CHECKBOXA1]"

在我的安裝程序 class 中,我添加了以下代碼來獲取參數:

string myInput = Context.Parameters["cbvalue"];

安裝項目成功構建,但是當我嘗試安裝安裝文件時,在安裝過程中,它給出了以下錯誤:

錯誤:1001 System.BadImageFormatException.could not load an assembly.....

當我在不添加自定義操作的情況下嘗試此操作時,它會正確安裝。 而且我還想找到一種調試設置項目的方法。

如果您使用自定義操作創建 64 位安裝程序,請始終記住您會收到此錯誤,因為自定義操作始終使用 x86 架構來構建,您需要使用相同的自定義操作,然后使用 ORCA 工具編輯您的 msi 請參閱此鏈接相同。

您是否在 Install() 中添加了自定義參數,如下所示:

public override void Install(System.Collections.IDictionary stateSaver) 
{ 
   base.Install(stateSaver); 
   stateSaver.Add("cbvalue", Context.Parameters["cbvalue"].ToString()); 
}

所以你應該有這樣的東西:

public override void Commit(System.Collections.IDictionary savedState) 
{ 
   base.Commit(savedState); 
   System.Windows.Forms.MessageBox(savedState["bcvalue"].ToString());    
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM