Partilhar via


Ação InstallValidate

A ação InstallValidate verifica se todos os volumes aos quais custo foi atribuído têm espaço suficiente para a instalação. A ação InstallValidate termina a instalação com um erro fatal se algum volume estiver com pouco espaço em disco.

A ação InstallValidate também notifica o usuário se um ou mais arquivos a serem substituídos ou removidos estiverem atualmente em uso por um processo ativo. Para obter mais informações, consulte reinicializações do sistema.

Restrições de sequência

A ação CostFinalize e quaisquer sequências de caixa de diálogo da interface do usuário que permitam ao usuário modificar estados de seleção e/ou diretórios devem ser sequenciadas antes da ação InstallValidate.

Ações personalizadas que alteram o estado de instalação de recursos ou componentes devem ser sequenciadas antes da ação InstallValidate.

Mensagens ActionData

Não há mensagens ActionData.

Comentários

Normalmente, uma sequência de caixa de diálogo da interface do usuário anterior deve executar a mesma verificação que a ação InstallValidate quando o usuário tenta iniciar a cópia de arquivos. Esta sequência de caixa de diálogo da interface do usuário deve apresentar uma caixa de diálogo espaço fora do disco se os volumes selecionados não tiverem espaço suficiente para a instalação. As caixas de diálogo da interface do usuário devem ser criadas de forma a impedir que o usuário prossiga com a instalação se não houver espaço em disco suficiente. No caso de uma instalação silenciosa, não há interface do usuário e a ação InstallValidate encerra a instalação se não houver espaço em disco suficiente. A causa do término prematuro é registrada no arquivo de log se o registro estiver habilitado.

Uma entrada é adicionada a uma tabela interna FilesInUse se algum arquivo for substituído ou removido enquanto estiver aberto para execução ou modificação por qualquer processo durante o de arquivo custeando. A tabela FilesInUse contém colunas para o nome e o caminho completo do arquivo. Quando a ação InstallValidate é executada, o instalador consulta a tabela FilesInUse para entradas e determina o nome do processo usando o arquivo. A ação InstallValidate adiciona um registro à tabela ListBox interface do usuário para cada processo exclusivo identificado por essa consulta. O registo contém os seguintes valores em cada coluna:

da propriedade : FileInUseProcess

 

Valor: Nome do processo

 

Texto: Texto contido na legenda da janela principal do processo

Em seguida, a ação InstallValidate exibe a caixa de diálogo Files In Use. Esta caixa de diálogo exibe os processos que devem ser desligados para evitar a necessidade de reiniciar o sistema para substituir os arquivos em uso.

A ação InstallValidate consulta a tabela Diálogo para uma caixa de diálogo criada com o nome reservado caixa de diálogo FilesInUse e a exibe. Essa caixa de diálogo deve conter um controle ListBox vinculado a uma propriedade chamada FileInUseProcess. Por convenção, essa caixa de diálogo tem um Sair, Repetirou botão Ignorar, mas isso depende do autor da interface do usuário. Cada botão deve ser vinculado a um EndDialog ControlEvent na tabela ControlEvent. A ação InstallValidate responde da seguinte forma ao valor retornado pelo DoAction ControlEvent, conforme ditado por um desses EndDialog argumentos associados ao botão pressionado pelo usuário:

Repetir: Todos os valores adicionados à tabela ListBox do são limpos e todo o procedimento dede custeio dede arquivo é repetido, verificando novamente se há arquivos que ainda estão em uso. Se um ou mais processos ainda forem identificados como usando arquivos a serem substituídos ou excluídos, o processo se repete; caso contrário, InstallValidate retorna o controle para o instalador com um status de msiDoActionStatusSuccess.

Exit: A ação InstallValidate retorna imediatamente o controle para o instalador com um status de msiDoActionStatusUserExit. Isso encerra a instalação.

Qualquer outro valor de retorno: A ação InstallValidate retorna imediatamente o controle para o instalador com um status de msiDoActionStatusSuccess. Nesse caso, como um ou mais arquivos ainda estão em uso, as ações subsequentes InstallFiles e/ou InstallAdminPackage devem agendar o(s) arquivo(s) em uso para serem substituídos ou excluídos quando o sistema for reiniciado.

Se não houver nenhuma tabela ListBox no banco de dados, InstallValidate será encerrado silenciosamente sem um erro.

O ponto-e-vírgula é o delimitador de lista para transformações, fontes e patches, e não deve ser usado nesses nomes de arquivo ou caminhos.

Os arquivos marcados como somente leitura em um local somente leitura nunca são considerados em uso pelo instalador.

Uma caixa de diálogo padrão out of Disk Space contendo botões Abortar e Repetir é apresentada ao usuário se o nível da interface do usuário for básico.