Tabela ImageFamilies (Patchwiz.dll)
Uma família de imagens é um grupo de uma ou mais imagens atualizadas de um produto que foram atualizadas para a versão mais recente. Cada imagem atualizada pode pertencer a apenas uma família. Imagens atualizadas pertencentes a uma família de imagens compartilham um ou mais arquivos. Cada família de imagens tem seu próprio arquivo de gabinete no arquivo .msp contendo os patches binários e os novos arquivos necessários para atualizar as diferenças entre arquivos de destino e atualizados. O arquivo de gabinete não replica os patches binários e os novos arquivos usados pelos arquivos compartilhados.
Uma tabela ImageFamilies que contém pelo menos um registro é necessária em cada banco de dados de criação de patch (arquivo .pcp). Esta tabela é usada pela função UiCreatePatchPackageEx.
A tabela ImageFamilies contém as informações de aplicação de patch que devem ser adicionadas à tabela Mídia. Um patch adiciona uma entrada à tabela Mídia. Cada registro nas tabelas ImageFamilies refere-se a um grupo de imagens de produto relacionadas que foram atualizadas para a versão mais recente do produto.
A tabela ImageFamilies tem as seguintes colunas. Um valor nulo poderá ser usado nas colunas MediaSrcPropName, MediaDiskId e FileSequenceStart se o patch for aplicado com o Windows Installer e o Patchwiz.dll versão 2.0.
Coluna | Tipo | Chave | Nullable |
---|---|---|---|
Família | text | S | N |
MediaSrcPropName | text | S | |
MediaDiskId | inteiro | S | |
FileSequenceStart | inteiro | S | |
DiskPrompt | text | S | |
VolumeLabel | text | S |
Colunas
-
Família
-
O valor inserido neste campo é um identificador para um grupo de imagens de produto relacionadas que foram atualizadas para a versão mais recente do produto. Limitado a um total de 8 caracteres alfanuméricos ou sublinhados. O instalador insere um fluxo de gabinete no arquivo de patch do Windows Installer (arquivo .msp) para cada família na tabela. O gabinete contém os patches binários e novos arquivos necessários para atualizar uma imagem de destino em uma imagem atualizada do produto. O instalador prefixa o nome da família com PCW_CAB_ para gerar o nome de fluxo do gabinete que ele insere no campo Gabinete da nova entrada da tabela Mídia.
-
MediaSrcPropName
-
O valor inserido no campo Origem da nova entrada da tabela Mídia da imagem atualizada. Esse campo só poderá ser nulo se você estiver usando a versão 2.0 do Patchwiz.dll e se o MinimumRequiredMsiVersion na tabela Propriedades (Patchwiz.dll) estiver definido como 200.
-
MediaDiskId
-
O instalador insere esse valor no campo DiskId do novo registro da tabela Mídia. O valor DiskID deve ser maior do que qualquer DiskID atual no pacote de destino. O limite para MediaDiskId é 32767. Esse campo só poderá ser nulo se você estiver usando a versão 2.0 do Patchwiz.dll e se o MinimumRequiredMsiVersion na tabela Propriedades (Patchwiz.dll) estiver definido como 200.
-
FileSequenceStart
-
Esse campo é o número de sequência do arquivo inicial. Esse mesmo número de sequência de arquivos não deve existir em dois patches para o mesmo produto. Para garantir isso, o valor nesse campo deve ser maior do que todos os números de sequência usados em patches anteriores ou no pacote de instalação original. O maior número de sequência em um patch pode ser determinado adicionando o número total de entradas no arquivo de gabinete de patch ao número FileSequenceStart desse patch. Uma maneira de determinar isso é examinar o arquivo .ddf gerado por Patchwiz.dll durante a criação do patch. O limite para FileSequenceStart é 32767. Esse campo só poderá ser nulo se você estiver usando a versão 2.0 do Patchwiz.dll e se o MinimumRequiredMsiVersion na tabela Propriedades (Patchwiz.dll) estiver definido como 200.
-
DiskPrompt
-
O instalador insere esse valor no campo DiskPrompt do novo registro da tabela Mídia.
-
VolumeLabel
-
O instalador insere esse valor no campo VolumeLabel do novo registro de Mídia.
Comentários
O patch adiciona o nome do gabinete no arquivo .msp ao campo Gabinete do novo registro adicionado à tabela Mídia. Como ele é um gabinete inserido, o nome é prefixado com um caractere “#”. O patch adiciona uma propriedade ao campo Origem do novo registro na tabela Mídia. Nenhum dos dois patches pode ter a mesma propriedade de origem.
Os arquivos compartilhados dentro da família de imagens devem ter a mesma chave de tabela de arquivo em cada imagem atualizada da família. Todas as chaves de tabela de arquivo compartilhadas entre as imagens atualizadas devem representar o mesmo arquivo e devem ser idênticas em todas as imagens atualizadas. A chave da tabela de arquivos é o valor inserido na coluna Arquivo da tabela Arquivo.
O limite para MediaDiskId e FileSequenceStart é 32767. Para aumentar esse limite, exporte a tabela ImageFamilies para um arquivo .idt com Msidb.exe e altere o tipo de coluna de i2 para i4 ou de I2 para I4 e importe o arquivo .idt de volta para o banco de dados .pcp. Transformações e patches não podem ser criados entre dois pacotes com tipos de coluna diferentes.