Ação InstallFiles
A ação InstallFiles copia arquivos especificados na tabela Arquivo do diretório de origem para o diretório de destino.
Restrições de sequência
A ação InstallFiles deve ser posicionada após a ação InstallValidate e antes de qualquer ação dependente de arquivo.
Mensagens de ActionData
Campo | Descrição dos dados de ação |
---|---|
[1] | Identificador de arquivo instalado. |
[6] | Tamanho do arquivo instalado em bytes. |
[9] | Identificador do diretório que contém o arquivo instalado. |
Comentários
A ação InstallFiles opera em arquivos especificados na tabela File. Cada arquivo é instalado com base no estado de instalação do componente associado do arquivo na tabela Componente. Somente os arquivos cujos componentes são resolvidos para o estado msiInstallStatelocal são qualificados para cópia.
A ação InstallFiles implementa as seguintes colunas da tabela File.
- A coluna FileName especifica o nome do arquivo de destino.
- A coluna Version especifica a versão do arquivo.
- A coluna Attributes especifica os bits do sinalizador de atributo da instalação e do arquivo.
- A coluna File especifica o token de arquivo exclusivo.
- A coluna FileSize especifica o tamanho do arquivo não compactado em bytes.
- A coluna Idioma especifica o identificador de idioma do arquivo.
- A coluna Sequence especifica o número da sequência na mídia.
A ação InstallFiles implementa as seguintes colunas da tabela Component.
- A coluna Directory_ especifica uma referência para um item da tabela Directory.
- A coluna Component especifica um nome exclusivo para o item de componente.
O arquivo especificado é copiado somente se um dos seguintes itens forem verdadeiros:
- O arquivo não está instalado no computador local no momento.
- O arquivo está no computador local, mas tem um número de versão menor do que o arquivo na tabela File.
- O arquivo está no computador local, mas não há um número de versão associado.
O diretório de origem de cada arquivo a ser copiado é determinado pelo sourceMode que, por sua vez, depende do valor na coluna Cabinet da tabela Media. Para obter uma discussão completa sobre o modo de origem, consulte a tabela Media.
Se o diretório de origem de um arquivo a ser copiado residir em mídia removível, como um disquete ou CD-ROM, a ação InstallFiles verificará se a mídia de origem adequada está inserida antes de tentar copiar o arquivo. A InstallFiles procura mídias do mesmo tipo removível com um rótulo de volume que corresponde ao valor fornecido na coluna VolumeLabel da tabela Media. Se um volume montado correspondente for encontrado, o processo de cópia de arquivo continuará. Se nenhuma correspondência for encontrada, uma caixa de diálogo solicitará que o usuário insira a mídia adequada. Nesse caso, a caixa de diálogo usa o nome de mídia encontrado na coluna DiskPrompt da tabela Media como parte do prompt.
É preciso tomar cuidado porque a ação InstallFiles pode excluir um arquivo original e não substituí-lo. Isso ocorre quando a ação InstallFiles apresenta um erro ao substituir um arquivo mais antigo e o usuário opta por ignorar o erro. O comportamento padrão do instalador é excluir um arquivo antigo antes de garantir que o novo arquivo seja copiado corretamente.
Para obter as regras de controle de versão de arquivo usadas pelo instalador, consulte Regras de controle de versão de arquivo.