破損した機能またはコンポーネントの検索
インストーラーは、破損したコンポーネントを自動的に再インストールすることで、アプリケーションの回復性を向上させることができます。 具体的には、Component テーブルの KeyPath 列で指定されたファイルまたはレジストリ キーが見つからないことが検出された場合、インストーラーによってコンポーネントまたは機能が再インストールされます。
ソースで機能のコンポーネントの KeyPath が破損している場合、またはデータベースでの KeyPath の作成方法にエラーが発生した場合、インストーラーは、機能のショートカットがアクティブ化されるたびにインストール パッケージを開いて機能を再インストールしようとする可能性があります。
機能またはアプリケーションの再インストールが繰り返し試行される原因を特定するには、次のような 2 つのエントリに対してイベント ログをチェックします。
Detection of product 'MyProduct', feature 'MyFeature' failed during
request for component 'MyComponent'
Detection of product 'MyProduct', feature 'MyFeature', component
'MyComponent' failed
最初のメッセージは、製品のパッケージのどのコンポーネントがインストールされていたかを示しています。 これは、Shortcut テーブルの Component_ 列で参照されるコンポーネントです。
2 番目のメッセージには、検出に失敗しているコンポーネントが示されています。 これは、再インストールをトリガーしている KeyPath が見つからないか破損しているコンポーネントです。