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.