0

実際の問題: 製品を初めてインストールすると、コントロール パネルに 3 つのプログラムが表示されます。1 つのマスター (A) と 2 つのチェーン (B、C) です。たとえば、B を新しいバージョンに更新するとします。このバージョンの更新により、新しい ProductCode が B に割り当てられました。しかし、新しい製品コードは master(A) で更新されず、チェーンされたパッケージ階層が壊れます。master(A) の IsChainedPackage テーブルに新しい ProductCode がないため、A のアンインストール中に C と B をアンインストールできません。

レジストリから値を取得して、MSI の「IsChainPackage」テーブルの列の 1 つに割り当てようとしています。

カスタム アクションを作成し、パブリック プロパティに値を割り当てることができることがわかりました。しかし、IsChainPackage テーブルの ProductCode 列でこのプロパティを使用する方法を見つけることができません。Media->Releases->Pckg1/Pckg2 行の下の ProductCode フィールドを、レジストリに存在する値で更新できるソリューションを探しています。出来ますか?

または、製品 (A など) のアンインストールが開始されたときに、ProductCode を使用して別の製品 (B など) をアンインストールできますか? つまり、A のアンインストールをクリックすると、まず B をアンインストールし、次に A をアンインストールしたいということです。何らかのカスタム アクションでそれを行うことはできますか? はいの場合、そのカスタム アクションで必要な設定は何ですか?

4

1 に答える 1