Instmsi.exe
Instmsi.exe é o pacote redistribuível para instalar o Windows Installer 2.0 e versões anteriores do Windows Installer. Consulte Windows Installer Redistributables para obter os redistribuíveis do Windows Installer 3.0 e versões posteriores.
Para obter mais informações sobre qual versão do Windows Installer foi fornecida com seu sistema operacional, consulte Versões lançadas do Windows Installer.
Alguns redistribuíveis não devem ser executados em determinadas versões do sistema operacional. A tabela a seguir descreve qual Instmsi é compatível em qual sistema operacional.
Se o Instmsi.exe instalar esta versão do Windows Installer | O Instmsi.exe pode ser executado nesses sistemas operacionais | O Instmsi.exe não deve ser executado nesses sistemas operacionais |
---|---|---|
Versão 1.0 do Windows Installer | Windows 95, Windows 98, Windows NT 4.0+SP3 | Windows Me, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008 |
Versão 1.1 do Windows Installer | Windows 95, Windows 98, Windows NT 4.0+SP3 | Windows Me, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008 |
Versão 1.2 do Windows Installer | Windows 95, Windows 98, Windows Me, Windows NT 4.0+SP3 | Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008 |
Versão 2.0 do Windows Installer | Windows 95, Windows 98, Windows Me, Windows NT 4.0+SP6, Windows 2000 | Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008 |
Por exemplo, um aplicativo que redistribui o Windows Installer versão 1.1 deve verificar se o sistema operacional é o Windows NT 4.0 SP3 ou o Windows 98/95 antes de executar o pacote redistribuível. Os aplicativos que usam o pacote redistribuível também devem garantir que a versão ANSI do Windows Installer esteja instalada no Windows 98/95 e que a versão Unicode esteja instalada no Windows NT ou Windows 2000. Alguns aplicativos renomeiam a versão Unicode para InstMsiW.
Opções de instmsi
As opções de linha de comando não diferenciam maiúsculas de minúsculas.
Opção | Descrição |
---|---|
/q | Para uso por aplicativos que redistribuem o Windows Installer como parte de um aplicativo de inicialização. Nenhuma interface é apresentada ao usuário. O aplicativo de inicialização deve verificar o código de retorno para determinar se uma reinicialização é necessária para concluir a instalação do Windows Installer. |
/t | Usado apenas para fins de depuração. |
/c:"msiinst /delayreboot" | A opção de reinicialização atrasada. Impede que o Instmsi solicite uma reinicialização ao usuário, mesmo que seja necessário substituir os arquivos que estavam em uso durante a instalação. Se o Instmsi for invocado com essa opção, ele retornará ERROR_SUCCESS_REBOOT_REQUIRED se tivesse que substituir arquivos que estavam em uso. Se não for preciso substituir os arquivos que estavam em uso, ele retornará ERROR_SUCCESS. Disponível com o Instmsi para Windows Installer 2.0 ou posterior. Consulte a seção de comentários para obter informações adicionais sobre reinicializações atrasadas. |
/c:"msiinst /delayrebootq" | A versão silenciosa da opção de reinicialização atrasada. Ele não apresenta nenhuma interface para o usuário. Caso contrário, o comportamento será idêntico à opção anterior. Disponível com o Instmsi para Windows Installer 2.0 ou posterior. Consulte a seção de comentários para obter informações adicionais sobre reinicializações atrasadas. |
/? | Exibe a ajuda. |
Aplicativos de inicialização que usam o Instmsi.exe para instalar o Windows Installer com outro aplicativo podem exigir uma reinicialização extra do sistema. Pode ser uma reinicialização extra, além de quaisquer reinicializações necessárias para instalar o aplicativo.
A opção de reinicialização atrasada é recomendada apenas para desenvolvedores de instalação que desejam eliminar uma reinicialização extra causada pelo uso do Instmsi.exe com um aplicativo de instalação que instala arquivos que estão em uso.
Os desenvolvedores devem fazer o seguinte no aplicativo de instalação para usar a opção de reinicialização atrasada. Essa opção não está disponível com as versões do Instmsi.exe que instalam versões do Windows Installer anteriores à versão 2.0:
Para usar a opção de reinicialização atrasada
Chame Instmsi.exe com uma das opções de linha de comando de reinicialização atrasada.
Trate o retorno de ERROR_SUCCESS ou ERROR_SUCCESS_REBOOT_REQUIRED como sucesso.
Obtenha o caminho até a pasta que contém os binários do Windows Installer recém-instalados do valor InstallerLocation em:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer
Esse valor é do tipo REG_SZ.
Defina o diretório atual para o caminho obtido na etapa 3.
Invoque Msiexec no pacote do aplicativo e execute outro código de instalação específico para o aplicativo. Se o aplicativo de instalação usar MsiInstallProduct, o aplicativo deverá carregar MSI.DLL no local obtido na etapa 3.
Observação
Os aplicativos que chamam LoadLibrary no novo MSI.DLL no local obtido na etapa 3 devem garantir que uma versão mais antiga do MSI.DLL ainda não tenha sido carregada no processo. Se uma versão mais antiga do MSI.DLL foi carregada no processo, ela deverá ser descarregada do espaço de endereço do processo antes da chamada LoadLibrary para o novo MSI.DLL.
Se a etapa (5) não exigir uma reinicialização e se Instmsi.exe tiver retornado ERROR_SUCCESS_REBOOT_REQUIRED na etapa (1), solicite ao usuário uma reinicialização para concluir a instalação dos binários do Windows Installer no sistema. No entanto, se ocorrer uma reinicialização na etapa (5), nenhuma etapa adicional será necessária.
O Instmsi.exe está disponível nos Componentes do SDK do Windows para desenvolvedores do Windows Installer.