Partilhar via


Reinicializações do sistema

O Windows Installer pode determinar quando uma reinicialização do sistema é necessária e solicitar automaticamente que o usuário reinicie no final da instalação. Por exemplo, o instalador solicita automaticamente uma reinicialização se precisar substituir quaisquer arquivos que estejam em uso durante a instalação.

Os aplicativos que usam Windows Installer versão 4.0 ou posterior para instalação e manutenção usam automaticamente o do Restart Manager para reduzir as reinicializações do sistema. O Windows Installer versão 4.0 ou posterior tem propriedades e políticas que permitem que o autor do pacote e os administradores controlem a interação do Windows Installer com o Gerenciador de Reinicialização. Para obter mais informações, consulte Usando o Windows Installer com o Gerenciador de Reinicialização.

Os autores do pacote de instalação podem agendar e suprimir reinicializações usando ações padrão nas tabelas de sequência e definindo propriedades. As seguintes ações e propriedades são usadas para lidar com reinicializações do sistema.

Ação, caixa de diálogo ou propriedade Breve descrição
ForceReboot Action Solicita ao usuário uma reinicialização durante a instalação.
Ação ScheduleReboot Solicita ao usuário uma reinicialização no final da instalação.
Propriedade REBOOT Força ou suprime certos prompts automáticos para uma reinicialização do sistema.
Propriedade REBOOTPROMPT Suprime a exibição de solicitações de reinicializações para o usuário. Todas as reinicializações necessárias acontecem automaticamente.
Propriedade AFTERREBOOT Comumente usado em uma condição imposta à ação ForceReboot.
Ação InstallValidate Exibe a caixa de diálogo FilesInUse, se necessário, dando aos usuários a oportunidade de desligar processos e evitar algumas reinicializações do sistema.
caixa de diálogo FilesInUse Dá aos usuários a oportunidade de desligar processos para evitar algumas reinicializações do sistema.
de diálogo MsiRMFilesInUse Oferece aos usuários a opção de usar o do Restart Manager para fechar e reiniciar aplicativos. Disponível a partir do Windows Installer versão 4.0.
Propriedade ReplacedInUseFiles Defina se o instalador é instalado sobre um arquivo em uso. Essa propriedade é usada por ações personalizadas para detetar que uma reinicialização é necessária.
MSIRESTARTMANAGERCONTROL Propriedade para desativar a interação do Windows Installer com o Restart Manager. Disponível a partir do Windows Installer versão 4.0.
MSIDISABLERMRESTART Especifica como o Gerenciador de Reinicialização do fecha e reinicia aplicativos. Disponível a partir do Windows Installer versão 4.0.
MSIRMSHUTDOWN Especifica como o Gerenciador de Reinicialização do fecha e reinicia aplicativos. Disponível a partir do Windows Installer versão 4.0.
MsiSystemRebootPending O instalador define essa propriedade se uma reinicialização do sistema operacional estiver pendente. Disponível a partir do Windows Installer versão 4.0.
DisableAutomaticApplicationShutdown Política para desativar a interação do Windows Installer com o Restart Manager. Disponível a partir do Windows Installer versão 4.0.

 

ERROR_INSTALL_SUSPEND significa que a instalação não foi concluída ou revertida. A instalação deve ser retomada antes de ser concluída. O sistema pode precisar ser reinicializado antes que a instalação possa ser retomada.

O Windows Installer retorna o código de erro ERROR_INSTALL_SUSPEND quando a ação ForceReboot é executada. Ele retorna ERROR_SUCCESS_REBOOT_REQUIRED se uma reinicialização é necessária antes de executar o aplicativo, e retorna ERROR_SUCCESS_REBOOT_INITIATED se o instalador realmente iniciou uma reinicialização. Observe que, como as reinicializações são assíncronas, a reinicialização pode realmente ocorrer antes que o código de erro seja retornado. Para obter mais informações, consulte códigos de erro.

Ações personalizadas podem forçar uma solicitação de reinicialização no final de uma instalação chamando MsiSetMode. As ações personalizadas também podem verificar se há um prompt de reinicialização pendente chamando MsiGetMode.

Caixa de diálogo FilesInUse

O instalador pode determinar quando uma reinicialização do sistema é necessária e solicitar ao usuário uma solicitação para reinicializar. Geralmente, uma reinicialização do sistema é necessária porque o instalador está tentando instalar um arquivo que está sendo usado no momento. Se a ação InstallValidate detetar a instalação de um arquivo em uso, ela exibirá a caixa de diálogo FilesInUse.

Se você espera que o instalador exiba um FilesInUseDialog, mas isso não acontece, isso pode ser devido a um dos seguintes motivos:

  • Os arquivos em uso não são executáveis.
  • O instalador não está realmente tentando instalar esses arquivos.
  • O processo que contém esses arquivos é o processo que invoca a instalação.
  • O processo que contém esses arquivos é aquele que não tem uma janela com um título associado a ele.

Para obter mais informações, consulte Log de solicitações de reinicialização.