2

これはかなり単純なはずです。Windows インストーラー プロジェクトがあります。UI 内に、2 つのラジオ ボタンを含むダイアログを追加しました。インストーラーには、私のプロジェクトの 1 つのプライマリ出力からのインストール クラスを使用する「インストール」に対するカスタム アクションがあります。Installインストーラー クラスのメソッド内から、選択したラジオ ボタンの値を取得することはできますか?

4

3 に答える 3

2

プロパティを取得/設定するには、MSI ハンドルが必要です。私の知る限り、.NET インストーラー クラスのカスタム アクションからは取得できません。

できることは、カスタム アクションを構成するときに、新しいパラメーターを受け入れるようにカスタム アクションを構成し、それらのパラメーターにプロパティの値を割り当てることです。

于 2012-05-04T08:20:37.180 に答える
1

これが Visual Studio インストーラー プロジェクトであり、そのように見える場合、追加された RadioButtons ダイアログのプロパティ ウィンドウに、プロパティ名が BUTTON2 であることが示されるため、標準の /mybutton=[BUTTON2 を使用してカスタム アクション インストーラー クラスに渡すものです。 ] タイプの構文であるため、インストーラー クラスの Context.Parameters コレクションからキー mybutton を使用して値を取得します。

ダイアログの動作は次のとおりです。

https://msdn.microsoft.com/en-us/library/vstudio/9x23561f(v=vs.100).aspx

どちらを選択したかに応じて、コード内の値は 1 または 2 になります。インストーラー クラスを使用すると、Visual Studio は CustomActionData 処理を含む、呼び出しに関するインフラストラクチャを提供します。

このような:

https://social.msdn.microsoft.com/Forums/vstudio/en-US/279e0aea-077c-4150-89ae-55d8494def1b/installer-class-passing-parameters

http://blog.billsdon.com/2011/05/passing-parameters-collected-dialog-custom-action-msi-c/

于 2015-06-03T21:32:36.077 に答える