Partilhar via


Inicialização

Atualmente, cada instalação que tenta usar o Windows Installer começa verificando se o instalador está presente no computador do usuário e, se não estiver 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 atualmente instalada usando DllGetVersion. Se o Windows Installer não estiver instalado no momento, o aplicativo de inicialização deverá 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 deverá manipular códigos de retorno do aplicativo Instmsi.exe e lidar com qualquer reinicialização incorrida durante a instalação do Windows Installer. Para obter mais informações, consulte Determinando a versão do Windows Installer

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

Quando um usuário insere um CD-ROM do Office 2000 em seu computador, 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 seu computador, constrói uma linha de comando e instala o Windows Installer usando o aplicativo Msiexec.exe.

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

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

    [Autorun]

    [Recursos do Office]

    [Informação sobre o produto]

    [Pacote de Serviço].

    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 uma opção "Instalar" e uma opção "Configurar" ao menu de contexto do CD-ROM.

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

    A seção [Informações do produto] 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 necessário do service pack. 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.

    A seguir está 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 _MsiPromptForCD mutex. 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, onde 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 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, onde o sistema operacional é verificado para determinar se ele se qualifica para a instalação do Office 2000.

  4. Se a chave do Registro do Office 2000 existir, o aplicativo Setup.exe verificará o estado atual da instalação 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, onde o Office 2000 é verificado para execução a partir da origem.

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

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

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

  6. O aplicativo Setup.exe determina se o sistema operacional se qualifica 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 do 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 impede o usuário de continuar.

    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 na máquina do usuário, o aplicativo Setup.exe iniciará o aplicativo Msiexec.exe e passará o arquivo de .msi do Office 2000 para ele.

    Se o Windows Installer não estiver instalado na máquina local, o aplicativo Setup.exe continuará na etapa 8, que determina se o sistema operacional se qualifica para ter o Windows Installer instalado.

  8. Se o computador local estiver qualificado para ter o Windows Installer instalado, o aplicativo Setup.exe executará a versão correta do aplicativo instalador do Instmsi.exe para a plataforma. 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 quaisquer opções de configuração de instalação.

  9. A aplicação Setup.exe carrega o ficheiro Msi.dll recém-instalado e executa uma chamada à função MsiInstallProductdopara instalar a aplicação do utilizador.

Setup.exe parâmetros de linha de comando

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

Opção Utilização Significado
/execução automática setup.exe /autorun Executa o Autorun.inf descrito acima.
/a setup.exe /a Inicia uma instalação administrativa.
/j [u|m]Pacoteou
[u|m]Pacote /t Transformar Lista
ou
[u|m]Pacote /g ID de Idioma
Anuncia um produto. Esta opção ignora quaisquer valores de propriedade inseridos na linha de comando. u Anuncie para o usuário atual.
m Anuncie para todos os usuários da máquina.
g Identificador da língua
t Aplica transformação no pacote anunciado.
/Eu setup.exe /I Office9.msi /t ProgramMgmt.mst Especifica o arquivo de .msi que Setup.exe deve instalar. Se a opção /I não estiver incluída, Setup.exe usará o arquivo Office9.msi.
/o<propriedade=valor> setup.exe /o CDKEY=111111-1111 Define propriedades no arquivo .msi. Setup.exe passa isso para msiexec como escrito.
/q setup.exe /q Defina o nível da interface de utilizador durante a instalação. /q sem UI (/qn para msiexec.) /qb UI básica
/qr UI reduzida.
/m# setup.exe /m4 Suporta várias licenças de acordo com os contratos Select. Esta propriedade é utilizada na ação personalizada de Verificação de Licença para escrever 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 deve ser definido. A opção /m é necessária para suportar clientes selecionados que usam um CD ou rede.
/Configurações setup.exe /configurações mysettings.ini Permite que os administradores especifiquem um arquivo de .ini contendo todas as configurações personalizadas a serem passadas durante a instalação do Office 2000. Veja a descrição do arquivo .ini abaixo.

Usando 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 de .ini especificado e constrói uma linha de comando para passar para o aplicativo Msiexec.exe. Somente as propriedades suportadas na linha de comando são suportadas no arquivo .ini. Se uma propriedade ou valor for encontrado no arquivo .ini e na linha de comando, as configurações da linha de comando substituem as configurações do arquivo .ini.

O formato do arquivo .ini é:

[MSI]

[MST]

[opções]

[Mostrar]

A seção [msi] do arquivo .ini especifica o caminho para o pacote de instalação da 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 esta 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 é virada da esquerda para a direita. Observe que o número associado ao título MST(N) está presente apenas para manter identificadores exclusivos e não tem significado programático.

A seção [opções] 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 da interface do usuário usado durante a configuração. Isso corresponde à opção /q na linha de comando. Os valores válidos são nenhum, básico, reduzido e completo.

Exemplo de arquivo .ini

[MSI]

MSI=\\sourceshare\Office2000\Office2000.msi

[MST]

MST1=\\sourceshare\Office2000\trns1.mst

MST2=\\sourceshare\Office2000\trns2.mst

[Opções]

PUBLICPROPERTY=seu valor

[Visualizar]

Display=Nenhum