これはかなり単純なはずです。Windows インストーラー プロジェクトがあります。UI 内に、2 つのラジオ ボタンを含むダイアログを追加しました。インストーラーには、私のプロジェクトの 1 つのプライマリ出力からのインストール クラスを使用する「インストール」に対するカスタム アクションがあります。Install
インストーラー クラスのメソッド内から、選択したラジオ ボタンの値を取得することはできますか?
3 に答える
プロパティを取得/設定するには、MSI ハンドルが必要です。私の知る限り、.NET インストーラー クラスのカスタム アクションからは取得できません。
できることは、カスタム アクションを構成するときに、新しいパラメーターを受け入れるようにカスタム アクションを構成し、それらのパラメーターにプロパティの値を割り当てることです。
これが 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 処理を含む、呼び出しに関するインフラストラクチャを提供します。
このような:
http://blog.billsdon.com/2011/05/passing-parameters-collected-dialog-custom-action-msi-c/