MSIパッケージがインストールの一部としてHKCUレジストリブランチに書き込むと仮定します。
その後、アプリケーションがこれらの値を変更した場合、またはこれらの値が別の方法で変更された場合、MSIの自己修復メカニズムは、これらの値をMSIが指定した値に戻しますか?
MSIパッケージがインストールの一部としてHKCUレジストリブランチに書き込むと仮定します。
その後、アプリケーションがこれらの値を変更した場合、またはこれらの値が別の方法で変更された場合、MSIの自己修復メカニズムは、これらの値をMSIが指定した値に戻しますか?
はい、レジリエンシーをトリガーするメカニズムがあれば可能です。通常、これは COM アクティベーションまたはアドバタイズド ショートカットです。MSI API を呼び出すためにアプリケーションに挿入するコードの場合もあります。
別のプロセスがコードをホストしている Office アドインのような状況があり、ショートカットや COM アクティベーションが発生していない場合は、次のトリックを使用できます。
InstallTalk: Active Setup を使用してユーザー設定を修復する
また、これは非常に重く、時には煩わしいプロセスであることも認識しておいてください。ファイルが必要で、修復中に進行状況バーがユーザーに表示される場合は、MSI が利用可能であることを確認する必要があります。何かが失敗した場合、それは何度も起こる可能性があります。これは、初めてログオンした会議室で Office が修復に失敗するのを見たことがあります。
もう 1 つのアプローチは、この要件をアプリケーションに移し、最初の実行時にユーザー プロファイル自体を更新する責任をアプリケーションに持たせることです。
また、MSI は、アンインストール時にすべてのプロファイルでこれらすべてのレジストリ値を削除できないことに注意してください。ユーザー プロファイルがローミングしているか、読み込まれていない可能性があるため、これは不可能です。