破損した機能またはコンポーネントの検索

インストーラーは、破損したコンポーネントを自動的に再インストールすることで、アプリケーションの回復性を向上させることができます。 具体的には、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 が見つからないか破損しているコンポーネントです。