Compartilhar via


Tabela MsiPatchSequence

A tabela MsiPatchSequence contém todas as informações necessárias pelo instalador para determinar a sequência de aplicação de uma pequena atualização patch em relação a todos os outros patches. A tabela deve estar no banco de dados do arquivo de patch e não em uma transformação no patch. O instalador ignora essa tabela ao aplicar um patch de atualização principal. Ao aplicar um atualização secundária patch, o instalador usa apenas essa tabela para identificar patches substituídos que não devem ser sequenciados.

A tabela MsiPatchSequence tem as colunas a seguir.

Coluna Tipo Chave Nullable
PatchFamily identificador de Y N
ProductCode guid do Y Y
Seqüenciar de versão do N N
Atributos inteiro N Y

 

Colunas

PatchFamily

Especifica que o patch é um membro da família de patch nomeado neste campo. Os patches na mesma família de patch direcionados à mesma versão do produto são classificados pelos valores na coluna Sequência. Os patches dentro da família de patch são aplicados ao produto de destino na ordem de aumento da sequência. O PatchFamily também é usado para determinar quais patches devem ser substituídos. Um patch pode ser listado em várias linhas e pertencer a várias famílias de patch se ele se aplicar a mais de um produto ou incluir várias correções.

O Windows Installer não interpreta o valor PatchFamily de qualquer forma diferente das comparações de igualdade em relação a outros valores patchFamily. Um valor PatchFamily deve ser exclusivo dentro do ProductCode direcionado pelo conjunto de patches. Nos cenários complexos de aplicação de patch, o identificador PatchFamily pode precisar ser globalmente exclusivo.

ProductCode

Um valor nesse campo é opcional. Se um código do produto GUID for inserido neste campo e o patch estiver sendo aplicado ao produto especificado, o patch será classificado e aplicado como um membro do PatchFamily especificado. Se um GUID de código do produto for inserido nesse campo e o patch não estiver sendo aplicado ao produto especificado pelo ProductCode, essa linha será ignorada. Se o valor em ProductCode for NULL, o patch será classificado e aplicado como um membro do PatchFamily para todos os destinos do patch, independentemente do código do produto.

Um patch pode ter várias linhas no mesmo PatchFamily e um ProductCode diferente para cada produto direcionado pelo patch. Uma linha para o PatchFamily pode especificar NULL para ProductCode. Se o produto de destino corresponder a uma linha com um ProductCode não NULL, o instalador usará a linha correspondente e ignorará a linha com o ProductCode NULL. Se nenhum dos códigos de produto especificados corresponder ao destino, o patch será classificado e aplicado como um membro do PatchFamily para todos os destinos do patch, independentemente do código do produto.

Sequência de

O valor na coluna Sequência especifica a sequência desse patch no PatchFamily especificado. O valor em Sequência é expresso no formato de dados Versão. O valor contém entre 1 e 4 campos e cada campo tem um intervalo de 0 a 65535. Os membros do PatchFamily são classificados e aplicados ao produto de destino na ordem de aumento dos valores de sequência. Por exemplo, os seis valores a seguir estão aumentando: 1, 1.1, 1.2, 2.01, 2.01.1, 2.01.1.1.

Atributos de

A presença do atributo msidbPatchSequenceSupersedeEarlier em uma linha indica que a pequena atualização patch substitui as atualizações fornecidas por todos os patches com valores de sequência menores no mesmo PatchFamily. Esse patch contém todas as correções fornecidas por patches anteriores no PatchFamily especificado. Esse atributo não significa que esse patch substitua os patches anteriores em todos os casos porque os patches anteriores podem pertencer a várias famílias de patch.

Uma pequena atualização patch não pode substituir um de atualização secundária ou patch de atualização principal em qualquer circunstância, mesmo que o msidbPatchSequenceSupersedeEarlier esteja definido.

Nome Valor Significado
0x00 Indica um valor de sequenciamento simples.
msidbPatchSequenceSupersedeEarlier 0x01 Indica um patch que substitui patches anteriores nessa família.

 

Validação

ICE03
ICE06

sem suporte no Windows Installer 2.0 e anteriores