Partilhar via


Reinstalando um recurso ou aplicativo

O Windows Installer pode reparar, substituir e verificar arquivos contidos em um aplicativo. Uma reinstalação parcial ou completa do aplicativo pode ser necessária se quaisquer arquivos ou entradas do Registro associados a qualquer recurso estiverem ausentes ou corrompidos.

Quando um recurso ou aplicativo é reinstalado, todos os serviços, variáveis de ambiente e ações personalizadas pertencentes ao recurso ou aplicativo também são reinstalados. Observe que isso significa que todas as alterações feitas nas variáveis de ambiente entre a instalação original e a reinstalação são perdidas.

A lista a seguir contém métodos de reinstalação de um recurso ou produto. Os dois primeiros métodos foram automatizados pelo instalador:

  • Repare, substitua ou verifique arquivos chamando a funçãoMsiReinstallFeature.
  • Reinstale todo o produto chamando a função MsiReinstallProduct.
  • Reinstale, substitua ou verifique ficheiros com um botão de controlo da interface de utilizador do instalador por meio do Reinstall ControlEvent.
  • Reinstale, substitua ou verifique arquivos de uma linha de comando definindo a propriedadeREINSTALL e a propriedadeREINSTALLMODE.

Para obter mais informações sobre como reinstalar um recurso ou aplicativo, consulte Resiliência .

Para reinstalar um produto usando o instalador

Para reinstalar um recurso usando o do instalador

Para reinstalar um produto ou recurso com uma interface de usuário do instalador

  1. Adicione um botão à caixa de diálogo especificada adicionando uma entrada à tabela Control.

  2. Adicione um ControlEvent ReinstallMode à tabela ControlEvent, com os campos Dialog_ e Control_ fazendo referência ao controle de botão criado na etapa 1. No campo Argumento, insira uma cadeia de caracteres contendo as letras correspondentes aos modos de reinstalação desejados (os valores aceitáveis para este campo são idênticos aos aceitos para a propriedadeREINSTALLMODE). O valor na coluna Ordenação para este evento deve ser 1.

  3. Adicione um evento Reinstall ControlEvent à tabela ControlEvent, novamente fazendo referência ao mesmo controle de botão. O campo Argumento para este evento normalmente será ALL, para forçar a reinstalação de todos os recursos, mas você pode colocar o nome de um recurso específico aqui. O valor na coluna Ordenação para este evento deve ser 2.

  4. Adicione mais um evento vinculado ao mesmo controle de botão, para realmente iniciar a reinstalação. Isso pode ser um evento EndDialog (com um argumento de Return). No entanto, mais tipicamente, usaria-se um evento NewDialog aqui para saltar para uma caixa de diálogo de confirmação: Tem a certeza de que deseja reinstalar?. O valor na coluna Ordenação para este evento deve ser 3.

    Se desejar, vários botões REINSTALL podem ser criados para uma única caixa de diálogo, permitindo que o usuário selecione o tipo de reinstalação realizada. Nesse caso, cada botão é criado conforme descrito no procedimento anterior, com um diferente ReinstallMode ControlEvent parâmetro para cada botão.

Uma vez que um determinado produto tenha sido instalado (com alguns ou todos os recursos do produto), uma reinstalação pode ser executada na linha de comando:

Para reinstalar um produto ou recurso a partir de uma linha de comando

  1. No prompt de comando, especifique a propriedade REINSTALL.

  2. No prompt de comando, especifique a propriedade REINSTALLMODE.

    A especificação dessas propriedades permite que o usuário reinstale qualquer um ou todos os recursos do produto. O tipo de reinstalação também pode ser especificado. Por exemplo, você pode especificar que apenas os arquivos que estão completamente ausentes devem ser reinstalados ou que apenas os arquivos corrompidos (por exemplo, qualquer arquivo executável cuja soma de verificação não corresponde ao conteúdo real do arquivo) devem ser substituídos.