Partilhar via


Tabela MsiPatchSequence

A tabela MsiPatchSequence contém todas as informações que o instalador requer 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 esta tabela ao aplicar um patch de de atualização principal. Ao aplicar um patch de de atualização secundária, o instalador usa apenas esta tabela para identificar patches substituídos que não devem ser sequenciados.

A tabela MsiPatchSequence tem as seguintes colunas.

Coluna Tipo Chave Nulo
Família PatchFamily Identificador Y N
Código do Produto GUID Y Y
Sequência Versão N N
Atributos inteiro N Y

 

Colunas

PatchFamily

Especifica que o patch é um membro da família de patches nomeada neste campo. Os patches da mesma família de patches destinados à mesma versão do produto são classificados pelos valores na coluna Sequência. Os patches dentro da família de adesivos são aplicados ao produto alvo na ordem de sequência crescente. 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 patches se se aplicar a mais de um produto ou incluir várias correções.

O Windows Installer não interpreta o valor PatchFamily de nenhuma outra forma além de comparações para igualdade com 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 patches, o identificador PatchFamily pode precisar ser globalmente exclusivo.

ProductCode

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

Um patch pode ter várias linhas na mesma PatchFamily e um ProductCode diferente para cada produto visado 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 NULL ProductCode. Se nenhum dos códigos de produto especificados corresponder ao destino, o patch será classificado e aplicado como membro da PatchFamily para todos os destinos do patch, independentemente do código do produto.

Sequência

O valor na coluna Sequence especifica a sequência desse patch dentro da PatchFamily especificada. O valor em Sequence é expresso no formato de dados Version. 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 crescente dos valores de Sequência. Por exemplo, os seguintes seis valores estão aumentando: 1, 1.1, 1.2, 2.01, 2.01.1, 2.01.1.1.

Atributos

A presença do atributo msidbPatchSequenceSupersedeEarlier em uma linha indica que o pequeno patch de de atualização substitui as atualizações fornecidas por todos os patches com valores de Sequência menores na mesma PatchFamily. Este patch contém todas as correções fornecidas por patches anteriores na PatchFamily especificada. Este atributo não significa que este patch substitui os patches anteriores em todos os casos, porque os patches anteriores podem pertencer a várias famílias de patches.

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

Designação Valor Significado
0x00 Indica um valor de sequenciamento simples.
msidbPatchSequenceSupersedeEarlier 0x01 Indica um patch que substitui os patches anteriores nesta família.

 

Validação

ICE03
ICE06

Não suportado no Windows Installer 2.0 e versões anteriores