Compartilhar via


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 do banco de dados que contém as novas informações de resumo do banco de dados.

[in] hDatabaseReference

O identificador do 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
Excluindo uma linha que não existe.
MSITRANSFORM_ERROR_ADDEXISTINGTABLE
0x00000004
Adicionando uma tabela que existe.
MSITRANSFORM_ERROR_DELMISSINGTABLE
0x00000008
Excluindo uma tabela que não existe.
MSITRANSFORM_ERROR_UPDATEMISSINGROW
0x00000010
Atualizando 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 ser um ou mais 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
Verifique somente a versão principal.
MSITRANSFORM_VALIDATE_MINORVERSION
0x00000010
Verifique somente as versões principais e secundárias.
MSITRANSFORM_VALIDATE_UPDATEVERSION
0x00000020
Verifique as versões principais, secundárias 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 instalada < versão base.
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 instalada > versão base.
 

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

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

Valor de retorno

Essa função retorna UINT.

Observações

A propriedade ProductCode e a propriedade ProductVersion devem ser definidas no Property Table 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.

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

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

Consulte também

transformações de banco de dados

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