How To: ファイル検索の親ディレクトリーを得る

プロパティをファイルの親ディレクトリーに設定できます。

Step 1: 検索のルートを定義する

以下の例では、[WindowsFolder]Microsoft.NETへのパスが検索のルートとして定義されています。 もし検索のルートを定義しないと、Windows Installerは固定ドライブすべてを指定された深さまで 捜します。

<Property Id="NGEN2DIR">
    <DirectorySearch Id="Windows" Path="[WindowsFolder]">
        <DirectorySearch Id="MS.NET" Path="Microsoft.NET">
        </DirectorySearch>
    </DirectorySearch>
</Property>

Step 2: 見つけ出す親ディレクトリーを定義する

検索ルートの下で、戻してほしいディレクトリを定義し、DirectorySearch/@AssignToProperty属性を 'yes'に設定してください。その時、ユニークなFileSearch/@Id属性値を使って見つけたいファイルを 定義しなければなりません。

<Property Id="NGEN2DIR">
    <DirectorySearch Id="Windows" Path="[WindowsFolder]">
        <DirectorySearch Id="MS.NET" Path="Microsoft.NET">
            <DirectorySearch Id="Ngen2Dir" Depth="2" AssignToProperty="yes">
                <FileSearch Id="Ngen_exe" Name="ngen.exe" MinVersion="2.0.0.0" />
            </DirectorySearch>
        </DirectorySearch>
    </DirectorySearch>
</Property>

この例では、もしngen.exeがバージョン2.0.0.0より新しく、[WindowsFolder]Microsoft.NETの下に ディレクトリ2つだけしか見つからないなら、その親ディレクトリはNGEN2DIRプロパティ中に 戻されます。(訳注: Depth="2" のため)