Função MsiCreateTransformSummaryInfoA (msiquery.h)

A função MsiCreateTransformSummaryInfo cria informações resumidas de uma transformação existente para incluir condições de validação e erro. A execução dessa função define o registro de erro, que é acessível usando MsiGetLastErrorRecord.

Sintaxe

UINT MsiCreateTransformSummaryInfoA(
  [in] MSIHANDLE hDatabase,
  [in] MSIHANDLE hDatabaseReference,
  [in] LPCSTR    szTransformFile,
  [in] int       iErrorConditions,
  [in] int       iValidation
);

Parâmetros

[in] hDatabase

O identificador para o banco de dados que contém as novas informações de resumo do banco de dados.

[in] hDatabaseReference

O identificador para o banco de dados que contém as informações de resumo originais.

[in] szTransformFile

O nome da transformação à qual as informações de resumo são adicionadas.

[in] iErrorConditions

As condições de erro que devem ser suprimidas quando a transformação é aplicada. Use um ou mais dos valores a seguir.

Condição de erro Significado
nenhum
0x00000000
Nenhuma das condições a seguir.
MSITRANSFORM_ERROR_ADDEXISTINGROW
0x00000001
Adicionando uma linha que existe.
MSITRANSFORM_ERROR_DELMISSINGROW
0x00000002
Exclusão de uma linha que não existe.
MSITRANSFORM_ERROR_ADDEXISTINGTABLE
0x00000004
Adicionando uma tabela que existe.
MSITRANSFORM_ERROR_DELMISSINGTABLE
0x00000008
Exclusão de uma tabela que não existe.
MSITRANSFORM_ERROR_UPDATEMISSINGROW
0x00000010
Atualização de uma linha que não existe.
MSITRANSFORM_ERROR_CHANGECODEPAGE
0x00000020
As páginas de código de transformação e de banco de dados não correspondem e suas páginas de código são neutras.

[in] iValidation

Especifica as propriedades a serem validadas para verificar se a transformação pode ser aplicada ao banco de dados. Esse parâmetro pode usar um dos valores a seguir.

Sinalizador de validação Significado
nenhum
0x00000000
Não valide as propriedades.
MSITRANSFORM_VALIDATE_LANGUAGE
0x00000001
O idioma padrão deve corresponder ao banco de dados base.
MSITRANSFORM_VALIDATE_PRODUCT
0x00000002
O produto deve corresponder ao banco de dados base.
 

Validar sinalizadores de versão do produto.

Sinalizador de validação Significado
MSITRANSFORM_VALIDATE_MAJORVERSION
0x00000008
Verificar somente versão principal.
MSITRANSFORM_VALIDATE_MINORVERSION
0x00000010
Verificar somente versões principais e secundárias.
MSITRANSFORM_VALIDATE_UPDATEVERSION
0x00000020
Verifique as versões principal, secundária e de atualização.
 

Sinalizadores de relação de versão do produto. Na tabela a seguir, a versão instalada é a versão do pacote que está sendo transformado e a versão base é a versão do pacote que é usada para criar a transformação.

Sinalizador de validação Significado
MSITRANSFORM_VALIDATE_NEWLESSBASEVERSION
0x00000040
Versão base da versão < instalada.
MSITRANSFORM_VALIDATE_NEWLESSEQUALBASEVERSION
0x00000080
Versão instalada <= versão base.
MSITRANSFORM_VALIDATE_NEWEQUALBASEVERSION
0x00000100
Versão instalada = versão base.
MSITRANSFORM_VALIDATE_NEWGREATEREQUALBASEVERSION
0x00000200
Versão instalada >= versão base.
MSITRANSFORM_VALIDATE_NEWGREATERBASEVERSION
0x00000400
Versão base da versão > instalada.
 

Atualizar sinalizadores de validação de código.

Sinalizador de validação Significado
MSITRANSFORM_VALIDATE_UPGRADECODE
0x00000800
UpgradeCode deve corresponder ao banco de dados base.

Retornar valor

Essa função retorna UINT.

Comentários

A Propriedade ProductCode e a Propriedade ProductVersion devem ser definidas na Tabela de Propriedades dos bancos de dados base e de referência. Se MSITRANSFORM_VALIDATE_UPGRADECODE for usado, a Propriedade UpgradeCode também deverá ser definida em ambos os bancos de dados. Se essas condições não forem atendidas, MsiCreateTransformSummaryInfo retornará ERROR_INSTALL_PACKAGE_INVALID.

  • Não use o ponto e vírgula para nomes de arquivo ou caminhos, pois ele é usado como um delimitador de lista para transformações, fontes e patches.
  • Essa função não pode ser chamada de ações personalizadas. Uma chamada para essa função de uma ação personalizada faz com que a função falhe.

Observação

O cabeçalho msiquery.h define MsiCreateTransformSummaryInfo como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Installer 5.0 no Windows Server 2012, no Windows 8, no Windows Server 2008 R2 ou no Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 no Windows Server 2008 ou no Windows Vista. Windows Installer no Windows Server 2003 ou no Windows XP
Plataforma de Destino Windows
Cabeçalho msiquery.h
Biblioteca Msi.lib
DLL Msi.dll

Confira também

Transformações de banco de dados

Conjunto de propriedades de fluxo de informações de resumo