ディレクトリ テーブル
ディレクトリ テーブルは、製品のディレクトリ レイアウトを指定します。 テーブルの各行は、ソースとターゲットの両方のディレクトリを示します。
ディレクトリ テーブルには、次の列があります。
コラム | 種類 | 鍵 | 許容 |
---|---|---|---|
ディレクトリ | 識別子の | Y | N |
Directory_Parent | 識別子の | N | Y |
DefaultDir | DefaultDir の | N | N |
列
-
ディレクトリ
-
[ディレクトリ] 列には、ディレクトリまたはディレクトリ パスの一意の識別子が含まれています。 この列には、ターゲット ディレクトリの完全なパスに設定されているプロパティの名前を含めることができます。 この列にプロパティが含まれている場合、ターゲット ディレクトリは DefaultDir 列で指定された名前を受け取り、Directory_Parent列で指定された親ディレクトリを取得します。
ソース ディレクトリは常に DefaultDir 列で指定された名前を受け取り、Directory_Parent列で指定された親ディレクトリを受け取ります。
Directory_Parent列が null またはディレクトリ列の値と等しい場合、ディレクトリ列はルート ターゲット ディレクトリを表します。 ディレクトリ テーブルで指定できるルート ディレクトリは 1 つだけです。
-
Directory_Parent
-
この列は、ディレクトリの親ディレクトリへの参照です。 Directory_Parent列が null またはディレクトリ列と等しいレコードは、ルート ディレクトリを表します。 親ディレクトリの完全なパスは、ディレクトリ列の外部キーである Directory_Parent 列の参照によって解決されます。 たとえば、フォルダーに PDIR という名前の親ディレクトリがある場合、PDIR の親ディレクトリは、ディレクトリ列に PDIR がある行のDirectory_Parent列に与えられます。
-
DefaultDir の
-
DefaultDir 列には、親ディレクトリの下にあるディレクトリの名前 (ローカライズ可能) が含まれています。 既定では、これはターゲット ディレクトリとソース ディレクトリの両方の名前です。 異なるソースとターゲットのディレクトリ名を指定するには、ターゲット名とソース名をコロンで区切ります: [targetname]:[sourcename]。
Directory_Parent列の値が null またはディレクトリ列と等しい場合、DefaultDir 列はルート ソース ディレクトリの名前を指定します。
ルート以外のソース ディレクトリの場合、ソース ディレクトリ名またはターゲット ディレクトリ名の DefaultDir 列にピリオド (.) が入力されている場合、ディレクトリはサブディレクトリのない親ディレクトリに配置する必要があることを示します。
この列のディレクトリ名は、短いファイル名 |長いファイル名のペア。
備考
テーブル内の各レコードは、ソース イメージとコピー先イメージの両方のディレクトリを表します。 ディレクトリ テーブルでは、TARGETDIR プロパティと等しいディレクトリ列値を持つ単一のルート ディレクトリを指定する必要があります。
管理インストールの場合は、TARGETDIR という名前のルート ディレクトリに管理イメージをインストールし、ソース ディレクトリ名を使用してターゲット ディレクトリを解決します。
インストーラーは、システム フォルダーパスに 標準の プロパティの数を設定します。 システム フォルダーに設定されているプロパティの一覧については、「プロパティ参照 を参照してください。
ディレクトリ解決は、CostFinalize アクション 中に実行され、次のように実行されます。
ルート変換先ディレクトリ
ルートの宛先ディレクトリは 1 つだけ存在する場合があります。 ルート変換先ディレクトリを指定するには、ディレクトリ列を TARGETDIR プロパティに設定し、DefaultDir 列を SourceDir プロパティに設定します。 TARGETDIR プロパティが定義されている場合、ターゲット ディレクトリはプロパティの値に解決されます。 TARGETDIR プロパティが未定義の場合は、ROOTDRIVE プロパティを使用してパスを解決します。
ルート ソース ディレクトリ
ルート ディレクトリ エントリの DefaultDir 列の値は、SourceDir プロパティに設定する必要があります。
ルート以外の宛先ディレクトリ
ルート以外のディレクトリのディレクトリ値は、宛先の場所を定義するプロパティの名前としても解釈されます。 プロパティが定義されている場合、ターゲット ディレクトリはプロパティの値に解決されます。 プロパティが定義されていない場合、ターゲット ディレクトリは、Directory_Parent エントリの解決先ディレクトリの下のサブディレクトリに解決されます。 DefaultDir 値は、サブディレクトリの名前を定義します。
ルート以外のソース ディレクトリ
ルート以外のディレクトリのソース ディレクトリは、Directory_Parent エントリの解決されたソース ディレクトリのサブディレクトリに解決されます。 ここでも、DefaultDir 値はサブディレクトリの名前を定義します。
短いファイル名または長いファイル名
宛先ディレクトリを解決するときに、defaultDir 列に指定された短いファイル名は、SHORTFILENAMES プロパティが設定されているか、ディレクトリが配置されているボリュームが長いファイル名をサポートしていない場合に使用されます。 それ以外の場合は、長いファイル名が使用されます。
CostFinalize アクション中にディレクトリが解決されると、ディレクトリ テーブルのキーはディレクトリ パスに設定 プロパティ になります。
CreateFolder テーブル の
インストール時に空のフォルダーを作成する方法については、「CreateFolder Table 参照してください。
ディレクトリ テーブル を使用した
サンプルを含むディレクトリ テーブルの詳細については、「ディレクトリ テーブルの使用」を参照してください。
検証