Partilhar via


Usando a tabela de diretórios

A tabela Directory especifica o layout de uma instalação. Quando os diretórios são resolvidos durante a ação CostFinalize, as chaves na tabela Directory tornam-se propriedades definidas como caminhos de diretório. Observe que o instalador define um conjunto de propriedades padrão para os caminhos das pastas do sistema. Consulte a Referência de Propriedade para obter uma lista das propriedades configuradas para as pastas do sistema.

A melhor maneira de especificar o local de destino para um diretório é criando a tabela Directory no pacote de instalação para fornecer o local correto, conforme discutido nesta seção. Se for necessário alterar o local do diretório no momento da instalação, consulte também a seção: Alterando o local de destino para um diretório

Segue-se um exemplo de uma tabela Directory.

Diretório Directório_Pai DefaultDir
TARGETDIR SourceDir
EXEDIR TARGETDIR Aplicação
DLLDIR EXEDIR Caixote do lixo
Pasta da área de trabalho TARGETDIR Versão desktop

 

Cada linha da tabela Directory indica um diretório na origem e no destino. Por exemplo, suponha que o pacote de instalação reside em \\applications\source\. Como o campo Directory_Parent da primeira linha é Nulo, esse registro indica os diretórios raiz para a origem e o destino. Para a origem, o valor deste diretório é dado pelo campo DefaultDir. A propriedade SourceDir assume como padrão o local do pacote de instalação. Assim, a menos que a propriedade SourceDir seja substituída, o diretório de origem raiz é \\applications\source\.

O campo Diretório do primeiro registro indica o local do diretório de destino raiz. Nesse caso, o valor da propriedade TARGETDIR indica esse diretório. Normalmente, o valor da propriedade TARGETDIR é definido na linha de comando ou por meio de uma interface do usuário. Nesse caso, suponha que a propriedade TARGETDIR esteja definida como C:\Program Files\Target\.

Para o segundo registro, o campo Directory_Parent não é Nulo. Portanto, esse registro indica um diretório não raiz para a origem e o destino. Para um diretório de origem não raiz, o diretório de origem indicado pelo registro descrito no campo Directory_Parent é o diretório pai. Para o segundo registo, o campo Directory_Parent é TARGETDIR. Como mostrado anteriormente, o diretório de origem indicado pelo registro TARGETDIR foi resolvido para \\applications\source\. Assim, o diretório de origem indicado pelo segundo registro é \\applications\source\App\.

Um processo semelhante funciona para o diretório de destino. O valor do diretório pai para o diretório de destino descrito no segundo registro é o diretório de destino resolvido pelo campo Directory_Parent. Novamente, o campo Directory_Parent contém o valor TARGETDIR. Isso indica o primeiro registro que resolve para um diretório de destino de C:\Program Files\Target\. O campo Directory contém uma propriedade definida pelo autor chamada EXEDIR. Se essa propriedade estiver definida, seu valor dará o caminho completo do diretório. Assim, se essa propriedade for definida como C:\Data\Common\, o valor do diretório de destino indicado pelo segundo registro será C:\Data\Common\. Se não estiver definido, o diretório de destino terá o nome dado pelo campo DefaultDir. Nesse caso, o diretório de destino é C:\Program Files\Target\App\.

O mesmo processo funciona para o terceiro disco. Se EXEDIR e DLLDIR não estiverem definidos, o diretório de destino será C:\Program Files\Target\App\Bin e o diretório de origem será \\applications\source\App\Bin\.

O quarto registo usa a propriedade DesktopFolder. Se o local da área de trabalho do usuário for C:\Winnt\Profiles\User\Desktop\, o diretório de destino será resolvido para C:\Winnt\Profiles\User\Desktop\. O diretório de origem aponta para \\applications\source\Desktop\.

Há dois recursos de sintaxe adicionais que podem ser usados na coluna DefaultDir da tabela Directory. Para um diretório de origem não raiz, um ponto (.) inserido na coluna DefaultDir indica que o diretório deve estar localizado em seu diretório pai sem um subdiretório. Para especificar caminhos de diretório de origem e de destino diferentes, separe os caminhos de destino e de origem na coluna DefaultDir com dois pontos da seguinte forma: [targetpath]:[sourcepath]. Esses recursos podem ser usados juntos para adicionar níveis aos caminhos de origem ou de destino para um único diretório. Veja o exemplo a seguir de uma tabela Directory.

Diretório Diretório_Pai DefaultDir
TARGETDIR SourceDir
MyAppDir TARGETDIR MyApp
BinDir MyAppDir Caixote do lixo
Binx86Dir BinDir .:x86
BinAlphaDir BinDir .:Alfa

 

Os caminhos de origem e destino são resolvidos para as linhas MyAppDir, BinDir, Binx86Dir e BinAlphaDir da seguinte maneira.

Registro Caminhos de destino Caminhos de origem
MyAppDir: [TARGETDIR]MeuAplicativo [FonteDir]MyApp
BinDir: [TARGETDIR]MyApp\Bin [SourceDir]MyApp\Bin
Binx86Dir: [TARGETDIR]MyApp\Bin [FonteDir]MyApp\Bin\x86
BinAlphaDir: [TARGETDIR]MyApp\Bin [FonteDir]MyApp\Bin\Alpha

 

Observação

A plataforma Alpha não é suportada pelo Windows Installer.