[英]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.