0

インストーラーには、いくつかのオプションの相互に排他的なコンポーネントがありますが、それぞれが同じレジストリ設定を使用してパスを保存します。現在、一部のユーザーがコンポーネントを変更したいという問題に直面しており、1 つの選択を解除して別のコンポーネントを選択しています。レジストリ設定が削除されていることがわかります。

アンインストールされたコンポーネントのレジストリ設定は、想定どおり「Absent」アクションとしてマークされますが、新しいコンポーネントは想定どおり最初に「Local」に設定されますが、その後「Null」にリセットされます。以下のログの抜粋では、InDesignCS4RegistryKeys削除しInDesignCS5RegistryKeysてインストールする必要があります。

MSI (s) (34:F0) [11:44:08:928]: コンポーネント: InDesignCS5RegistryKeys; インストール済み: なし。リクエスト: ローカル; アクション: ローカル MSI (s) (34:00) [11:44:36:200]: コンポーネント: InDesignCS4RegistryKeys; インストール済み: ローカル。リクエスト: 不在; アクション: MSI がありません (34:00) [11:44:36:201]: コンポーネント: InDesignCS5RegistryKeys; インストール済み: なし。リクエスト: ヌル。アクション: ヌル

InDesignCS4 の他のコンポーネントが削除され、InDesignCS5 が追加されました。

どうすればこれを回避できるかについてのアイデアはありますか?

4

1 に答える 1

2

ユーザーはコンポーネントを選択して選択解除するのではなく、機能を選択して選択解除します。

現在 3 つのコンポーネントがある場合は、レジストリ データを 4 番目のコンポーネントに移動します。最初の 3 つのコンポーネントを独自のフィーチャーに関連付け、4 番目のコンポーネントを 3 つのフィーチャーすべてに関連付けます。

UI と実行シーケンスにチェックを入れて、機能が相互に排他的であることを強制します。

1 つの機能が必要で、コンポーネント条件に基づいてコンポーネント選択を駆動する場合は、同じことを行いますが、4 番目のコンポーネントには条件がないか、Component1 Expression OR Component2 Expression OR Component3 Expression があります。

于 2012-08-24T17:19:30.620 に答える