Verwenden der Directory-Tabelle

In der Directory-Tabelle ist das Layout einer Installation angegeben. Wenn die Verzeichnisse während der CostFinalize-Aktion aufgelöst werden, werden die Schlüssel in der Directory-Tabelle zu Eigenschaften, die auf Verzeichnispfade festgelegt sind. Beachten Sie, dass das Installationsprogramm eine Reihe von Standardeigenschaften auf Systemordnerpfade festlegt. Eine Liste der Eigenschaften, die auf Systemordner festgelegt sind, finden Sie in der Eigenschaftenreferenz.

Die beste Möglichkeit zum Angeben des Zielspeicherorts für ein Verzeichnis besteht darin, die Directory-Tabelle, wie in diesem Abschnitt erläutert, in Ihrem Installationspaket zu erstellen, um den richtigen Speicherort anzugeben. Wenn es erforderlich ist, den Verzeichnisspeicherort zum Zeitpunkt der Installation zu ändern, lesen Sie auch den Abschnitt: Ändern des Zielspeicherorts für ein Verzeichnis.

Hier sehen Sie ein Beispiel einer Directory-Tabelle.

Verzeichnis Directory_Parent DefaultDir
TARGETDIR SourceDir
EXEDIR TARGETDIR App
DLLDIR EXEDIR Diskretisierung
DesktopFolder TARGETDIR Desktop

 

Jede Zeile der Directory-Tabelle gibt ein Verzeichnis sowohl an der Quelle als auch am Ziel an. Angenommen, das Installationspaket befindet sich unter \\applications\source\. Da das Feld Directory_Parent der ersten Zeile Null ist, gibt dieser Datensatz die Stammverzeichnisse sowohl für die Quelle als auch für das Ziel an. Für die Quelle wird der Wert dieses Verzeichnisses durch das Feld DefaultDir angegeben. Die SourceDir-Eigenschaft ist standardmäßig auf den Speicherort des Installationspakets festgelegt. Daher lautet das Stammquellverzeichnis \\applications\source\, es sei denn, die SourceDir-Eigenschaft wird überschrieben.

Das Feld Directory des ersten Datensatzes gibt den Speicherort des Stammzielverzeichnisses an. In diesem Fall gibt der Wert der TARGETDIR-Eigenschaft dieses Verzeichnis an. In der Regel wird der Wert der TARGETDIR-Eigenschaft über die Befehlszeile oder über eine Benutzeroberfläche festgelegt. Nehmen wir im vorliegenden Fall an, dass die TARGETDIR-Eigenschaft auf C:\Programme\Target\ festgelegt ist.

Beim zweiten Datensatz ist das Feld Directory_Parent nicht Null. Daher gibt dieser Datensatz ein Nicht-Stammverzeichnis sowohl für die Quelle als auch für das Ziel an. Bei einem Quellverzeichnis ohne Stamm ist das durch den im Feld Directory_Parent beschriebenen Eintrag angegebene Quellverzeichnis das übergeordnete Verzeichnis. Beim zweiten Datensatz ist das Feld Directory_Parent TARGETDIR. Wie bereits gezeigt, wurde das durch den TARGETDIR-Eintrag angegebene Quellverzeichnis in \\applications\source\ aufgelöst. Daher lautet das Quellverzeichnis, das durch den zweiten Datensatz angegeben wird, \\applications\source\App\.

Beim Zielverzeichnis kann ähnlich vorgegangen werden. Der Wert des übergeordneten Verzeichnisses für das im zweiten Datensatz beschriebene Zielverzeichnis ist das Zielverzeichnis, das durch das Feld Directory_Parent aufgelöst wird. Auch hier enthält das Feld Directory_Parent den Wert TARGETDIR. Damit wird der erste Datensatz angegeben, der in das Zielverzeichnis C:\Programme\Target\ aufgelöst wird. Das Directory-Feld enthält eine vom Ersteller definierte Eigenschaft namens EXEDIR. Wenn diese Eigenschaft festgelegt ist, gibt ihr Wert den vollständigen Verzeichnispfad an. Wenn diese Eigenschaft also auf C:\Data\Common\ festgelegt ist, lautet der Wert des Zielverzeichnisses, das durch den zweiten Datensatz angegeben wird, C:\Data\Common\. Wenn es nicht festgelegt ist, nimmt das Zielverzeichnis den Namen an, der im Feld DefaultDir angegeben ist. In diesem Fall lautet das Zielverzeichnis C:\Programme\Target\App\.

Derselbe Vorgang kann beim dritten Datensatz angewendet werden. Wenn EXEDIR und DLLDIR nicht festgelegt sind, lautet das Zielverzeichnis C:\Programme\Target\App\Bin, und das Quellverzeichnis lautet \\applications\source\App\Bin\.

Beim vierten Datensatz wird die DesktopFolder-Eigenschaft verwendet. Wenn der Speicherort des Desktops des Benutzers C:\Winnt\Profiles\User\Desktop\ lautet, wird das Zielverzeichnis in C:\Winnt\Profiles\User\Desktop\ aufgelöst. Das Quellverzeichnis wird in \\applications\source\Desktop\ aufgelöst.

Es gibt zwei zusätzliche Syntaxfeatures, die in der DefaultDir-Spalte der Directory-Tabelle verwendet werden können. Bei einem Quellverzeichnis, gibt ein in der DefaultDir-Spalte eingegebener Punkt (.) an, dass das Verzeichnis in seinem übergeordneten Verzeichnis ohne Unterverzeichnis gespeichert werden sollte. Um unterschiedliche Quell- und Zielverzeichnispfade anzugeben, trennen Sie die Ziel- und Quellpfade in der DefaultDir-Spalte wie folgt durch einen Doppelpunkt: [targetpath]:[sourcepath]. Diese Features können zusammen verwendet werden, um den Quell- oder Zielpfaden für ein einzelnes Verzeichnis Ebenen hinzuzufügen. Im Folgenden sehen Sie ein Beispiel einer Directory-Tabelle.

Verzeichnis Directory_Parent DefaultDir
TARGETDIR SourceDir
MyAppDir TARGETDIR MyApp
BinDir MyAppDir Diskretisierung
Binx86Dir BinDir .:x86
BinAlphaDir BinDir .:Alpha

 

Die Quell- und Zielpfade werden für die Zeilen MyAppDir, BinDir, Binx86Dir und BinAlphaDir wie folgt aufgelöst.

Aufzeichnung (Record) Zielpfade Quellpfade
MyAppDir: [TARGETDIR]MyApp [SourceDir]MyApp
BinDir: [TARGETDIR]MyApp\Bin [SourceDir]MyApp\Bin
Binx86Dir: [TARGETDIR]MyApp\Bin [SourceDir]MyApp\Bin\x86
BinAlphaDir: [TARGETDIR]MyApp\Bin [SourceDir]MyApp\Bin\Alpha

 

Hinweis

Die Alpha-Plattform wird vom Windows Installer nicht unterstützt.