Udostępnij za pośrednictwem


Korzystanie z tabeli katalogów

Tabela Directory określa układ instalacji. Gdy katalogi są rozpoznawane podczas akcji CostFinalize, klucze w tabeli Katalog stają się właściwości ustawione na ścieżki katalogu. Należy pamiętać, że instalator ustawia kilka standardowych właściwości do ścieżek folderów systemowych. Zobacz Referencja właściwości z listą właściwości ustawionych na foldery systemowe.

Najlepszym sposobem określenia lokalizacji docelowej katalogu jest utworzenie tabeli usługi Directory w pakiecie instalacyjnym w celu zapewnienia prawidłowej lokalizacji zgodnie z opisem w tej sekcji. Jeśli konieczne jest zmianę lokalizacji katalogu w momencie instalacji, zobacz również sekcję: Zmienianie lokalizacji docelowej dla katalogu

Poniżej znajduje się przykład tabeli katalogowej.

Katalog Directory_Parent DefaultDir
TARGETDIR ŹródłoDir
EXEDIR TARGETDIR Aplikacja
DLLDIR EXEDIR Bin
Folder pulpitu TARGETDIR Pulpit

 

Każdy wiersz tabeli Katalog wskazuje katalog zarówno w lokalizacji źródłowej, jak i docelowej. Załóżmy na przykład, że pakiet instalacyjny znajduje się w folderze \\applications\source\. Ponieważ pole Directory_Parent pierwszego wiersza ma wartość Null, ten rekord wskazuje katalogi główne zarówno dla źródła, jak i obiektu docelowego. Dla źródła wartość tego katalogu jest podana przez pole DefaultDir. Właściwość SourceDir jest domyślnie ustawiona na lokalizację pakietu instalacyjnego. W związku z tym chyba że właściwość SourceDir jest nadpisana, główny katalog źródłowy to \\applications\source\.

Pole Katalog pierwszego rekordu wskazuje lokalizację głównego katalogu docelowego. W tym przypadku wartość właściwości TARGETDIR wskazuje ten katalog. Zazwyczaj wartość właściwości TARGETDIR jest ustawiana w wierszu polecenia lub za pośrednictwem interfejsu użytkownika. W tym przypadku załóżmy, że właściwość TARGETDIR jest ustawiona na C:\Program Files\Target\.

W przypadku drugiego rekordu pole Directory_Parent nie ma wartości Null. W związku z tym ten rekord wskazuje katalog inny niż katalog główny zarówno dla źródła, jak i obiektu docelowego. Dla katalogu źródłowego, który nie jest głównym katalogiem, katalog źródłowy wskazany przez rekord w polu Directory_Parent jest katalogiem nadrzędnym. Dla drugiego rekordu pole Directory_Parent jest TARGETDIR. Jak pokazano wcześniej, katalog źródłowy wskazany przez rekord TARGETDIR został rozpoznany jako \\applications\source\. W związku z tym katalog źródłowy wskazywany przez drugi rekord to \\applications\source\App\.

Podobny proces działa dla katalogu docelowego. Wartość katalogu nadrzędnego dla katalogu docelowego opisanego w drugim rekordzie to katalog docelowy rozpoznawany przez pole Directory_Parent. Ponownie pole Directory_Parent zawiera wartość TARGETDIR. Wskazuje to pierwszy rekord, który prowadzi do katalogu docelowego C:\Program Files\Target\. Pole Katalog zawiera właściwość zdefiniowaną przez autora o nazwie EXEDIR. Jeśli ta właściwość jest ustawiona, jej wartość daje pełną ścieżkę katalogu. W związku z tym, jeśli ta właściwość jest ustawiona na C:\Data\Common\, wartość katalogu docelowego wskazanego przez drugi rekord to C:\Data\Common\. Jeśli nie zostanie ustawiona, katalog docelowy przyjmuje nazwę nadaną przez pole DefaultDir. W takim przypadku katalog docelowy to C:\Program Files\Target\App\.

Ten sam proces działa dla trzeciego rekordu. Jeśli nie ustawiono parametrów EXEDIR i DLLDIR, katalog docelowy to C:\Program Files\Target\App\Bin, a katalog źródłowy to \\applications\source\App\Bin\.

Czwarty rekord używa właściwości DesktopFolder. Jeśli lokalizacja pulpitu użytkownika to C:\Winnt\Profiles\User\Desktop\, katalog docelowy jest rozpoznawany jako C:\Winnt\Profiles\User\Desktop\. Katalog źródłowy jest rozpoznawany jako \\applications\source\Desktop\.

Istnieją dwie dodatkowe funkcje składni, których można użyć w kolumnie DefaultDir tabeli Katalog. W przypadku katalogu źródłowego innego niż główny kropka (.) wprowadzona w kolumnie DefaultDir wskazuje, że katalog powinien znajdować się w katalogu nadrzędnym bez podkatalogu. Aby określić różne ścieżki katalogu źródłowego i docelowego, należy oddzielić ścieżki docelowe i źródłowe w kolumnie DefaultDir dwukropkiem w następujący sposób: [targetpath]:[sourcepath]. Te funkcje mogą być używane razem do dodawania poziomów do ścieżek źródłowych lub docelowych dla pojedynczego katalogu. Zobacz następujący przykład tabeli Directory.

Katalog Directory_Parent DefaultDir
TARGETDIR ŹródłoDir
MyAppDir TARGETDIR MyApp
BinDir MyAppDir Bin
Binx86Dir BinDir .:x86
BinAlphaDir BinDir .:Alfa

 

Ścieżki źródłowe i docelowe są rozpoznawane dla wierszy MyAppDir, BinDir, Binx86Dir i BinAlphaDir w następujący sposób.

Rekord Ścieżki docelowe Ścieżki źródłowe
MyAppDir: [TARGETDIR]MyApp [KatalogŹródłowy]MyApp
BinDir: [TARGETDIR]MyApp\Bin [SourceDir]MyApp\Bin
Binx86Dir: [TARGETDIR]MyApp\Bin [SourceDir]MyApp\Bin\x86
BinAlphaDir: [TARGETDIR]MyApp\Bin [ŹródłoDir]MyApp\Bin\Alpha

 

Uwaga

Platforma Alpha nie jest obsługiwana przez Instalatora Windows.