私はここに提示された解決策を見ていました:
WiX Burn - すでにインストールされているアイテムを特定する
しかし、これが「変更」書き込み画面 (誰かが特定の .msi を削除することを決定したとき) でどのように機能するかわかりません。
アンインストール/変更ページが表示されたら、Burn .log を確認します (チェック ボックスがオンになっているかどうかを示す変数を、'Checkbox1' から 'Checkbox6' まで呼び出しました):
[171C:1034][2013-04-23T11:49:24]i000: Initializing numeric variable 'Checkbox1' to value '1'
[171C:1034][2013-04-23T11:49:24]i000: Initializing numeric variable 'Checkbox2' to value '1'
[171C:1034][2013-04-23T11:49:24]i000: Initializing numeric variable 'Checkbox3' to value '1'
[171C:1034][2013-04-23T11:49:24]i000: Initializing numeric variable 'Checkbox4' to value '1'
[171C:1034][2013-04-23T11:49:24]i000: Initializing numeric variable 'Checkbox5' to value '1'
[171C:1034][2013-04-23T11:49:24]i000: Initializing numeric variable 'Checkbox6' to value '1'
(等。)
[171C:1034][2013-04-23T11:49:24]i100: Detect begin, 3 packages
[171C:1034][2013-04-23T11:49:24]i000: Setting string variable 'NETFRAMEWORK40' to value '1'
[171C:1034][2013-04-23T11:49:24]i052: Condition 'NETFRAMEWORK40' evaluates to true.
[171C:1034][2013-04-23T11:49:24]i101: Detected package: NetFx40Redist, state: Present, cached: None
[171C:1034][2013-04-23T11:49:24]i101: Detected package: Setup, state: Present, cached: Complete
[171C:1034][2013-04-23T11:49:24]i101: Detected package: Setup1, state: Present, cached: Complete
[171C:1034][2013-04-23T11:49:24]i199: Detect complete, result: 0x0
では、さまざまな .msi の「検出」の結果はどこに保存されているのでしょうか。チェックボックスがチェックされているかどうかに関係なく、後でチェックボックスの値を設定するために使用する独自の変数「Checkbox1」にそれらを保存できないのはなぜですか?
より基本的な質問として、Burn のこの使用パターンは、標準 UI で十分にサポートされるべき主要な使用パターンの 1 つではないでしょうか...