Utilizzo della tabella directory

La tabella Directory specifica il layout di un'installazione. Quando le directory vengono risolte durante l'azione CostFinalize, le chiavi nella tabella Directory diventano proprietà impostate sui percorsi di directory. Si noti che il programma di installazione imposta una serie di proprietà standard sui percorsi delle cartelle di sistema. Per un elenco delle proprietà impostate su cartelle di sistema, vedere Informazioni di riferimento sulle proprietà.

Il modo migliore per specificare il percorso di destinazione per una directory consiste nella creazione della tabella Directory nel pacchetto di installazione per fornire il percorso corretto, come descritto in questa sezione. Se è necessario modificare il percorso della directory al momento dell'installazione, vedere anche la sezione: Modifica del percorso di destinazione per una directory

Di seguito è riportato un esempio di tabella Directory.

Directory Directory_Parent DefaultDir
TARGETDIR SourceDir
EXEDIR TARGETDIR App
DLLDIR EXEDIR Contenitore
DesktopFolder TARGETDIR Desktop

 

Ogni riga della tabella Directory indica una directory sia nell'origine che nella destinazione. Si supponga, ad esempio, che il pacchetto di installazione risieda in \\applications\source\. Poiché il campo Directory_Parent della prima riga è Null, questo record indica le directory radice sia per l'origine che per la destinazione. Per l'origine, il valore di questa directory viene assegnato dal campo DefaultDir. Per impostazione predefinita, la proprietà SourceDir viene impostata sul percorso del pacchetto di installazione. Pertanto, a meno che la proprietà SourceDir non venga sottoposta a override, la directory di origine radice è \\applications\source\.

Il campo Directory del primo record indica il percorso della directory di destinazione radice. In questo caso, il valore della proprietà TARGETDIR indica questa directory. In genere, il valore della proprietà TARGETDIR viene impostato nella riga di comando o tramite un'interfaccia utente. In questo caso, si supponga che la proprietà TARGETDIR sia impostata su C:\Programmi\Target\.

Per il secondo record, il campo Directory_Parent non è Null. Pertanto, questo record indica una directory non radice sia per l'origine che per la destinazione. Per una directory di origine non radice, la directory di origine indicata dal record descritto nel campo Directory_Parent è la directory padre. Per il secondo record, il campo Directory_Parent è TARGETDIR. Come illustrato in precedenza, la directory di origine indicata dal record TARGETDIR è stata risolta in \\applications\source\. Pertanto, la directory di origine indicata dal secondo record è \\applications\source\App\.

Un processo simile funziona per la directory di destinazione. Il valore della directory padre per la directory di destinazione descritta nel secondo record è la directory di destinazione risolta dal campo Directory_Parent. Anche in questo caso, il campo Directory_Parent contiene il valore TARGETDIR. Indica il primo record che viene risolto in una directory di destinazione C:\Programmi\Target\. Il campo Directory contiene una proprietà definita dall'autore denominata EXEDIR. Se questa proprietà è impostata, il relativo valore fornisce il percorso completo della directory. Pertanto, se questa proprietà è impostata su C:\Data\Common\, il valore della directory di destinazione indicato dal secondo record è C:\Data\Common\. Se non è impostato, la directory di destinazione accetta il nome specificato dal campo DefaultDir. In questo caso, la directory di destinazione è C:\Programmi\Target\App\.

Lo stesso processo funziona per il terzo record. Se EXEDIR e DLLDIR non sono impostati, la directory di destinazione è C:\Programmi\Target\App\Bin e la directory di origine è \\applications\source\App\Bin\.

Il quarto record utilizza la proprietà DesktopFolder . Se il percorso del desktop dell'utente è C:\Winnt\Profiles\User\Desktop\, la directory di destinazione viene risolta in C:\Winnt\Profiles\User\Desktop\. La directory di origine viene risolta in \\applications\source\Desktop\.

Esistono due funzionalità di sintassi aggiuntive che è possibile usare nella colonna DefaultDir della tabella Directory. Per una directory di origine non radice, un punto (.) immesso nella colonna DefaultDir indica che la directory deve trovarsi nella directory padre senza una sottodirectory. Per specificare percorsi di directory di origine e di destinazione diversi, separare i percorsi di destinazione e di origine nella colonna DefaultDir con i due punti come indicato di seguito: [targetpath]:[sourcepath]. Queste funzionalità possono essere usate insieme per aggiungere livelli ai percorsi di origine o di destinazione per una singola directory. Vedere l'esempio seguente di una tabella Directory.

Directory Directory_Parent DefaultDir
TARGETDIR SourceDir
MyAppDir TARGETDIR Myapp
BinDir MyAppDir Contenitore
Binx86Dir BinDir .:x86
BinAlphaDir BinDir .:Alfa

 

I percorsi di origine e di destinazione vengono risolti per le righe MyAppDir, BinDir, Binx86Dir e BinAlphaDir come indicato di seguito.

Registra Percorsi di destinazione Percorsi di origine
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

 

Nota

La piattaforma Alpha non è supportata da Windows Installer.