既存のアプリケーション、ファイル、レジストリ エントリまたは .ini ファイル エントリの検索
Windows インストーラーは、インストール中に特定のファイルまたはディレクトリを検索できます。 ファイルまたはディレクトリの検索は、ユーザーがアプリケーションのバージョンを既にインストールしているかどうかを判断するために使われます。
AppSearch アクションは、AppSearch テーブルに指定されているファイルのシグネチャをユーザー システムから検索します。 AppSearch アクションは、指定したシグネチャを持つインストール済みのファイルまたはディレクトリを見つけると、同じく AppSearch テーブルに指定されている対応するプロパティを、そのファイルまたはディレクトリの場所に設定します。 ファイルを検索する場合、ファイルのシグネチャも Signature テーブルに格納されている必要があります。 ファイルのシグネチャが AppSearch テーブルに格納され、Signature テーブルには格納されていない場合、検索ではディレクトリ、レジストリ エントリ、または .ini ファイル エントリを探します。
ユーザー コンピューターの検索を効率的に行うため、インストーラーは、推奨される検索場所に列挙された順序で、次のロケーター データベース テーブルのクエリを実行します。
- ファイルのシグネチャが CompLocator テーブルに格納されている場合、推奨される検索場所はコンポーネントのキー パスです。 シグネチャがこのテーブルに格納されていない、または推奨される場所にインストールされていない場合、インストーラーは RegLocator テーブルに対して推奨される場所のクエリを実行します。
- ファイルのシグネチャが RegLocator テーブルに格納されている場合、推奨される検索場所はユーザー レジストリに書き込まれたキー パスです。 シグネチャがこのテーブルに格納されていない、または推奨される場所にインストールされていない場合、インストーラーは IniLocator テーブルに対して推奨される場所のクエリを実行します。
- ファイルのシグネチャが IniLocator テーブルに格納されている場合、推奨される検索場所は、ユーザー システムの既定の Windows ディレクトリにある .ini ファイルに記述されているキー パスです。 シグネチャがこのテーブルに格納されていない、または推奨される場所にインストールされていない場合、インストーラーは DrLocator テーブルに対して推奨される場所のクエリを実行します。
- ファイルのシグネチャが DrLocator テーブルに格納されている場合、推奨される検索場所はユーザー ディレクトリ ツリー内のパスです。 この場所より下のサブディレクトリ レベルを検索する深さもこのテーブルで指定します。
インストーラーは、提案された場所で初めてファイルのシグネチャを検出すると、このファイルまたはディレクトリの検索を停止し、AppSearch テーブルの対応するプロパティを設定します。 詳細については、「
- すべての固定ドライブでファイルを検索
- ディレクトリとディレクトリ内のファイルの検索
- ファイルの検索とファイルのパスを保持するプロパティの作成
- 特定の場所でファイルを検索
- レジストリ エントリの検索とレジストリの値を保持するプロパティの作成