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.