Usar uma tabela de sequência

A criação das tabelas de sequência é uma parte essencial do desenvolvimento de um pacote do instalador porque essas tabelas especificam a ordem de execução para as ações padrão que controlam o processo de instalação e exibem as caixas de diálogo da interface do usuário.

Há três modos de instalação e dois tipos de tabelas de sequência para cada modo.

Os três modos de instalação separados com suporte no momento pelo instalador são:

  • Instalação simples
  • Instalação administrativa
  • Instalação de anúncio

Cada uma das tabelas de sequência tem três campos: Action, Condition e Sequence. O campo Action nomeia uma ação padrão ou personalizada ou uma caixa de diálogo definida pelo usuário ou sequência que o instalador executa. O campo Condition permite que o criador especifique uma expressão lógica que controla se uma ação ou uma caixa de diálogo definida pelo usuário é executada ou exibida. Se o campo Condition estiver em branco ou contiver uma expressão que seja avaliada como True, a ação ou a caixa de diálogo será executada ou exibida. A ação ou caixa de diálogo será ignorada se a expressão for avaliada como False. O campo Sequence especifica a ordem de execução de cada ação ou caixa de diálogo definida pelo usuário na tabela.

Cada um desses modos de instalação processa as tabelas de sequência de interface do usuário e as tabelas de sequência de execução. As tabelas de sequência de interface do usuário só serão processadas se o instalador tiver sido inicializado com o nível de exibição da interface do usuário definido como Reduzido ou Completo. Consulte a referência MsiSetInternalUI para obter mais informações sobre os níveis de exibição da interface do usuário.

As tabelas de sequência de interface do usuário normalmente contêm ações padrão relacionadas à coleta de informações do sistema exibidas ao usuário por meio da interface do usuário. A interface do usuário é exibida gravando as chaves estrangeiras nos nomes das caixas de diálogo na tabela Dialog no campo Action da abela Sequence de interface do usuário. Em seguida, o usuário tem a oportunidade de modificar ou aceitar as informações do sistema e iniciar a instalação, que ocorre quando a tabela de sequência de execução é processada.

Durante uma instalação simples, a ação INSTALL de nível superior é executada e, por sua vez, processa a tabela InstallUISequence e a tabela InstallExecuteSequence.

Uma Instalação Administrativa normalmente é iniciada por um administrador de rede para atribuir e instalar aplicativos para usuários individuais e grupos de usuários. Durante esse tipo de instalação, a ação de nível superior ADMIN é executada e processa a tabela AdminUISequence e a tabela AdminExecuteSequence.

Para anunciar um aplicativo ou recurso, o instalador deve ser iniciado com a ação ADVERTISE. Durante esse tipo de instalação, a tabela AdvtExecuteSequence é processada.

Ao criar qualquer tabela de sequência, é uma boa prática usar o número de sequência para ações padrão das sequências sugeridas nos tópicos abaixo. Para ações padrão que não têm posição padrão na tabela de sequência, como ForceReboot, ValidateProductID e InstallExecute, use um número de sequência que seja múltiplo de dez para identificar a ação como uma ação padrão. Para ações personalizadas, use um número de sequência que não seja um múltiplo de dez para diferenciá-lo das ações padrão na tabela de sequência.

Para obter sequências de ação sugeridas para cada tabela de sequência, consulte os seguintes tópicos:

Para obter uma descrição detalhada das tabelas de Sequência e como as ações padrão são executadas, consulte o exemplo detalhado da tabela de sequência.

**Windows Installer 3.0 ou posterior: **

A partir do Windows Installer 3.0, um pacote de patch pode conter a tabela MsiPatchSequence. Essa tabela contém todas as informações exigidas pelo instalador para determinar a sequência da aplicação de um pequeno patch de atualização em relação a todos os outros patches. Para obter mais informações, consulte Aplicar patch e atualizações.

Observação

Os Módulos de mesclagem podem conter Tabelas de banco de dados de módulo de mesclagem que modificam as tabelas de sequência de ações do arquivo .msi de destino. Mesclar o módulo em um banco de dados pode modificar as informações na tabela de sequência, mas não adiciona essas tabelas ao arquivo .msi. Para obter mais informações, consulte Criar tabelas de sequência de módulos de mesclagem.