Compartilhar via


Inicialização

No momento, cada instalação que tenta usar o Windows Installer começa verificando se o instalador está presente no computador do usuário e, caso não esteja presente, se o usuário e o computador estão prontos para instalar o Windows Installer. Um aplicativo de instalação Instmsi.exe está disponível com o SDK do Windows Installer que contém toda a lógica e funcionalidade para instalar o Windows Installer. No entanto, um aplicativo de inicialização deve gerenciar essa instalação.

O aplicativo de inicialização deve primeiro verificar se o Windows Installer está instalado no momento. Os aplicativos podem obter a versão do Windows Installer instalada no momento usando DllGetVersion. Se o Windows Installer não estiver instalado no momento, o aplicativo de inicialização deve consultar o sistema operacional para determinar qual versão do Instmsi.exe é necessária. Depois que a instalação do Windows Installer for iniciada, o aplicativo de inicialização deve manipular os códigos de retorno do aplicativo Instmsi.exe e qualquer reinicialização incorrida durante a instalação do Windows Installer. Para obter mais informações, confira Como determinar a versão do Windows Installer

O exemplo a seguir demonstra como o aplicativo de instalação do Microsoft Office 2000 verifica o sistema do usuário e configura a instalação do Windows Installer. Este exemplo foi elaborado especificamente para instalar o Office 2000 e deve ser usado apenas como referência geral.

Quando um usuário insere um CD-ROM do Office 2000 no computador, o Setup.exe tenta iniciar o modo de manutenção, o aplicativo de instalação ou não faz nada, de acordo com as necessidades do usuário. A seção a seguir descreve como o aplicativo de instalação do Office 2000, chamado Setup.exe, qualifica o usuário e o computador, constrói uma linha de comando e instala o Windows Installer usando o aplicativo Msiexec.exe.

Como o Setup.exe inicializa o Windows Installer ao instalar o Office 2000

  1. O usuário insere um CD-ROM do Office 2000 no computador. O sistema operacional Windows inicia o Setup.exe usando a opção /autorun e o arquivo Autorun.inf. O arquivo Autorun.inf é encontrado na raiz do CD-ROM do Office 2000 e contém as seguintes seções:

    [Autorun]

    [Office Features]

    [Product Information]

    [ServicePack].

    A seção [Autorun] contém uma linha de comando que executa o aplicativo Setup.exe, executa o ícone usado para exibir o disco e contém informações para adicionar a opção "Instalar" e a opção "Configurar" ao menu de contexto do CD-ROM.

    A seção [Office Features] contém uma lista de recursos e pares de nomes de recursos.

    A seção [Product Information] especifica o nome e a versão do aplicativo.

    A seção [ServicePack] permite que um administrador de rede defina o nível mínimo de service pack necessário. O administrador de rede pode usar esta seção para criar o texto de uma mensagem de alerta exibida, se o sistema operacional local não tiver o service pack necessário.

    Veja a seguir um exemplo de Autorun.inf.

    [autorun] 
    OPEN=setup.EXE /AUTORUN /KEY:Software\Microsoft\Office\9.0\Common\General\InstallProductID
    ICON=setup.EXE,1
    shell\configure=&Configure
    shell\configure\command=setup.EXE
    shell\install=&Install
    shell\install\command=setup.EXE
    [OfficeFeatures]
    Feature1=ACCESSFiles
    Feature2=OfficeFiles
    Feature3=WORDFiles
    Feature4=EXCELFiles
    Feature5=PPTFiles
    [ProductInformation]
    DisplayName=Microsoft Office 9
    Version=9.0
    ProductCode={product guid}
    [ServicePack]
    MessageText="The operating system does not have a required service pack. Please download and install this from www.microsoft.com."
    SPLevel=3
    
  2. O aplicativo Setup.exe verifica o mutex _MsiPromptForCD. O Windows Installer cria esse mutex quando solicita que o usuário insira o CD-ROM. A presença do mutex indica que o Windows Installer está executando uma instalação que solicitou o CD-ROM do Office 2000. Nesse caso, o aplicativo Setup.exe é encerrado imediatamente e permite que a instalação do Office 2000 continue. Se o mutex estiver ausente, o aplicativo Setup.exe continuará na etapa 3 em que uma chave do registro é avaliada para determinar se o Office 2000 está instalado.

  3. O aplicativo Setup.exe verifica a presença da chave do registro do Office9:

    HKCU/Software/Microsoft/Office/9.0/Common/General/InstallProductID

    Se essa chave do registro não existir, o aplicativo Setup.exe continuará na etapa 6 em que o sistema operacional é verificado para determinar se está qualificado para a instalação do Office 2000.

  4. Se a chave do registro do Office 2000 existir, o aplicativo Setup.exe verificará o estado de instalação atual chamando MsiQueryProductState. Um estado de retorno de InstallState_Default indica que o Office 2000 já está instalado e o aplicativo Setup.exe continua na etapa 5, em que o Office 2000 é verificado para ser executado na origem.

    Se o Office 2000 não estiver instalado, o aplicativo Setup.exe continuará na etapa 2000 em que o sistema operacional é verificado para determinar se está qualificado para a instalação do Office 6.

  5. O aplicativo Setup.exe chama MsiQueryFeatureState para cada um dos recursos na seção [OfficeFeatures] do arquivo Autorun.inf. Se qualquer um desses recursos retornar INSTALLSTATE_SOURCE, isso indicará que o recurso está sendo executado na origem e o aplicativo Setup.exe será encerrado imediatamente.

    Se nenhum dos recursos retornar INSTALLSTATE_SOURCE, o aplicativo Setup.exe iniciará o aplicativo instalador, Msiexec.exe, e apresentará o modo de manutenção do Windows Installer, antes de sair.

  6. O aplicativo Setup.exe determina se o sistema operacional está qualificado para uma instalação do Office 2000. O Windows XP é necessário para instalar o Office 2000. Se o sistema operacional exigir uma atualização de service pack para se qualificar para o Office 2000, o aplicativo Setup.exe exibirá o texto especificado no arquivo Autorun.inf. Se o sistema operacional não se qualificar para o Office 2000 ou uma atualização do Office 2000, o aplicativo Setup.exe exibirá uma mensagem que impedirá que o usuário continue.

    Se o sistema operacional se qualificar para o Office 2000, o aplicativo Setup.exe continuará na etapa 7, que determina se o Windows Installer está instalado no computador do usuário.

  7. Se o Windows Installer existir no computador do usuário, o aplicativo Setup.exe iniciará o aplicativo Msiexec.exe e passará o arquivo .msi do Office 2000 para ele.

    Se o Windows Installer não estiver instalado no computador local, o aplicativo Setup.exe continuará na etapa 8, que determina se o sistema operacional está qualificado para instalar o Windows Installer.

  8. Se o computador local estiver qualificado para instalar o Windows Installer, o aplicativo Setup.exe executará a versão correta do aplicativo instalador do Instmsi.exe na plataforma. O Setup.exe pode passar a opção de linha de comando "/q" para suprimir a interface do usuário e impedir que o usuário altere as opções de configuração de instalação.

  9. O aplicativo Setup.exe carregará o arquivo de Msi.dll recém-instalado e executará uma chamada para a função MsiInstallProduct para instalar o aplicativo do usuário.

Parâmetros de linha de comando do Setup.exe

O aplicativo Setup.exe permite que administradores e usuários passem as opções de linha de comando para o aplicativo Msiexec.exe. Para obter mais informações, confira Opções de linha de comando. A tabela a seguir lista as opções de comando que podem ser usadas com o Setup.exe.

Opção Uso Significado
/autorun setup.exe /autorun Executa o Autorun.inf descrito acima.
/a setup.exe /a Inicia uma instalação administrativa.
/j [u|m]Packageor
[u|m]Package /t Transform List
ou
[u|m]Package /g LanguageID
Anuncia um produto. Essa opção ignora todos os valores de propriedade inseridos na linha de comando. u Anuncia para o usuário atual.
m Anuncia a todos os usuários do computador.
g Identificador de idioma
t Aplica transformação ao pacote anunciado.
/I setup.exe /I Office9.msi /t ProgramMgmt.mst Especifica o arquivo .msi que o Setup.exe deve instalar. Se a opção /I não estiver incluída, o Setup.exe usará o arquivo Office9.msi.
/o<property=value> setup.exe /o CDKEY=111111-1111 Define as propriedades no arquivo .msi. O Setup.exe passa essas propriedades para msiexec, conforme gravado.
/q setup.exe /q Define o nível da interface do usuário da instalação. /q no UI (/qn for msiexec.) /qb basic UI
/qr reduced UI.
/m# setup.exe /m4 Dá suporte a várias licenças de acordo com os contratos do Select. Essa propriedade é usada na ação personalizada Verificação de Licença para gravar o certificado LV. A opção /m deve ser seguida pelo número de desbloqueios permitidos. O valor especificado pela opção /m deve ser definido como a propriedade "M" no arquivo Office9.msi. Se nenhum valor for especificado, mas a opção /m for usada com a instalação, o valor de 0 deverá ser definido. A opção /m é necessária para dar suporte aos clientes do Select usando um CD ou uma rede.
/settings setup.exe /settings mysettings.ini Permite que os administradores especifiquem um arquivo .ini que contém todas as configurações personalizadas a serem passadas durante a instalação do Office 2000. Confira a descrição do arquivo .ini abaixo.

Como usar um arquivo .ini

Criar um arquivo de inicialização pode ser mais fácil do que criar uma linha de comando longa. Usando a opção /settings, o aplicativo Setup.exe lê o arquivo .ini especificado e constrói uma linha de comando para passar para o aplicativo Msiexec.exe. Há suporte apenas para propriedades compatíveis com a linha de comando no arquivo .ini. Se uma propriedade ou um valor for encontrado no arquivo .ini e na linha de comando, as configurações de linha de comando substituirão as configurações do arquivo .ini.

O formato do arquivo .ini é:

[msi]

[mst]

[options]

[Display]

A seção [msi] do arquivo .ini especifica o caminho para o pacote de instalação. Isso corresponde à opção /I na linha de comando.

A seção [mst] do arquivo .ini especifica o caminho para as transformações usadas com essa instalação. Isso corresponde à opção /j na linha de comando. Várias transformações são indicadas em uma linha diferente, usando MST1 MST(N). Quando analisada na linha de comando, a lista no arquivo .ini é transformada da esquerda para a direita. Observe que o número associado ao título MST(N) está presente apenas para manter os identificadores exclusivos e não tem significado programático.

A seção [options] permite que os administradores de rede definam e substituam propriedades nos arquivos .msi ou .mst. As opções definidas no arquivo .ini são adicionadas à linha de comando usando a opção /o. Cada opção na seção de opções deve ter um nome de propriedade e um valor.

A seção [Display] é usada para definir o nível de interface do usuário aplicado durante a instalação. Isso corresponde à opção /q na linha de comando. Os valores válidos são nenhum, básico, reduzido e completo.

Arquivo de .ini de exemplo

[MSI]

MSI=\\sourceshare\Office2000\Office2000.msi

[MST]

MST1=\\sourceshare\Office2000\trns1.mst

MST2=\\sourceshare\Office2000\trns2.mst

[Options]

PUBLICPROPERTY=your value

[Display]

Display=None