Compartilhar 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 encerrará 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 todas as sequências de caixa de diálogo da interface do usuário que permitem que o usuário modifique estados de seleção e/ou diretórios devem ser sequenciados antes da ação InstallValidate.

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

Mensagens ActionData

Não há mensagens ActionData.

Observações

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. Essa sequência de caixa de diálogo da interface do usuário deverá apresentar uma caixa de diálogo Espaço em 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á nenhuma interface do usuário e a ação InstallValidate encerra a instalação se não houver espaço em disco suficiente. A causa da terminação prematura será registrada no arquivo de log se o registro em log estiver habilitado.

Uma entrada será adicionada a uma tabela Interna FilesInUse se qualquer arquivo for substituído ou removido enquanto ele estiver aberto para execução ou modificação por qualquer processo durante de arquivo custando. 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 em busca de 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 registro contém os seguintes valores em cada coluna:

da propriedade: FileInUseProcess

 

Value: Name of process

 

Texto: Texto contido na legenda da janela principal do processo

A ação InstallValidate exibe a caixa de diálogo Arquivos em Uso. Essa 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 caixa de diálogo tabela para uma caixa de diálogo criada com o nome reservado a caixa de diálogo FilesInUse e a exibe. Essa caixa de diálogo deve conter um controle ListBox que esteja vinculado a uma propriedade chamada FileInUseProcess. Por convenção, essa caixa de diálogo tem um botão Sair, Repetirou Ignorar, mas isso cabe ao 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 maneira ao valor retornado pelo DoAction ControlEvent, conforme determinado por um destes argumentos EndDialog associados ao botão pressionado pelo usuário:

de repetição: todos os valores adicionados à tabela ListBox são limpos e todo o arquivo procedimento de de custo é repetido, verificando novamente os 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 será repetido; 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 retornado: 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, os InstallFiles e/ou InstallAdminPackage ações devem agendar os arquivos 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 sairá 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 Fora do Espaço em Disco padrão que contém de Anulação e de Repetição será apresentada ao usuário se o nível da interface do usuário for básico.