Funções de banco de dados

Este material destina-se a desenvolvedores que estão escrevendo seus próprios programas de instalação e a desenvolvedores que querem aprender mais sobre as tabelas do banco de dados do instalador. Para obter informações gerais sobre o instalador, consulte Sobre o Windows Installer.

É possível usar as funções de acesso do instalador para acessar o banco de dados e o processo de instalação. Essas funções devem ser usadas apenas por ações de instalação personalizadas e ferramentas de autoria. Algumas funções de acesso do instalador exigem cadeias de caracteres de consulta SQL para consultar o banco de dados. As consultas devem seguir a sintaxe SQL do instalador.

Este tópico lista as funções de acesso ao banco de dados do instalador por categoria.

Funções gerais de acesso ao banco de dados

Função Descrição
MsiDatabaseCommit Confirma as alterações em um banco de dados.
MsiDatabaseGetPrimaryKeys Retorna os nomes de todas as colunas de chaves primárias.
MsiDatabaseIsTablePersistent Retorna uma enumeração que descreve o estado de uma tabela.
MsiDatabaseOpenView Prepara uma consulta de banco de dados e cria um objeto de exibição.
MsiGetActiveDatabase Retorna o banco de dados ativo para a instalação.
MsiViewGetColumnInfo Retorna nomes ou definições de coluna.
MsiOpenDatabase Abre um arquivo de banco de dados para acesso a dados.
MsiViewClose Libera o conjunto de resultados para uma exibição executada.
MsiViewExecute Executa a consulta de exibição e fornece os parâmetros necessários.
MsiViewFetch Busca o próximo registro sequencial da exibição.
MsiViewGetError Retorna o erro ocorrido na função MsiViewModify.
MsiViewModify Atualiza um registro obtido.

 

Funções de gerenciamento de banco de dados

Função Descrição
MsiCreateTransformSummaryInfo Cria informações resumidas para uma transformação existente.
MsiDatabaseApplyTransform Aplica uma transformação a um banco de dados.
MsiDatabaseExport Exporta uma tabela de um banco de dados aberto para um arquivo de texto.
MsiDatabaseGenerateTransform Gera um arquivo de transformação de diferenças entre dois bancos de dados.
MsiDatabaseImport Importa uma tabela de arquivo de texto do instalador para um banco de dados aberto.
MsiDatabaseMerge Mescla dois bancos de dados.
MsiGetDatabaseState Retorna o estado do banco de dados.

 

Funções de processamento de registro

Função Descrição
MsiCreateRecord Cria um novo objeto de registro com o número de campos especificado.
MsiFormatRecord Formata propriedades e dados de campo de registro usando uma cadeia de caracteres de formato.
MsiRecordClearData Define todos os campos em um registro como nulo.
MsiRecordDataSize Retorna o tamanho de um campo de registro.
MsiRecordGetFieldCount Retorna o número de campos em um registro.
MsiRecordGetInteger Retorna o valor inteiro de um campo de registro.
MsiRecordGetString Retorna o valor da cadeia de caracteres de um campo de registro.
MsiRecordIsNull Relata se um campo de registro for nulo.
MsiRecordReadStream Lê bytes de um campo de fluxo de registro em um buffer.
MsiRecordSetInteger Define um campo de registro como um campo inteiro.
MsiRecordSetStream Define um campo de fluxo de registro de um arquivo.
MsiRecordSetString Copia uma cadeia de caracteres para o campo designado.

 

Funções de propriedade de informações de resumo

Função Descrição
MsiGetSummaryInformation Obtém o identificador para o fluxo de informações de resumo do banco de dados do instalador.
MsiSummaryInfoGetProperty Obtém uma única propriedade das informações de resumo.
MsiSummaryInfoGetPropertyCount Retorna o número de propriedades no fluxo de informações de resumo.
MsiSummaryInfoPersist Grava informações de resumo alteradas de volta no fluxo de informações de resumo.
MsiSummaryInfoSetProperty Define uma única propriedade de informações de resumo.

 

Funções de acesso ao estado do instalador

Função Descrição
MsiGetLanguage Retorna o idioma numérico da instalação atual.
MsiGetLastErrorRecord Retorna o último registro de erro retornado do processo de chamada.
MsiGetMode Retorna um dos estados de instalação internos boolianos.
MsiGetProperty Obtém o valor de uma propriedade do instalador.
MsiSetProperty Define o valor de uma propriedade de instalação.
MsiSetMode Define um estado booliano de mecanismo interno.

 

Funções de ação do instalador

Função Descrição
MsiDoAction Executa ação interna, ação personalizada ou ação de assistente de interface do usuário.
MsiEvaluateCondition Avalia uma expressão condicional contendo nomes e valores de propriedade.
MsiProcessMessage Envia um registro de erro ao instalador para processamento.
MsiSequence Executa uma sequência de ações.

 

Funções de localização do instalador

Função Descrição
MsiGetSourcePath Retorna o caminho de origem completo para uma pasta na tabela de Diretórios.
MsiGetTargetPath Retorna o caminho de destino completo para uma pasta na tabela de Diretórios.
MsiSetTargetPath Define o caminho de destino completo para uma pasta na tabela de Diretórios.

 

Funções de seleção do instalador

Função Descrição
MsiEnumComponentCosts Enumera o espaço em disco por unidade necessário para instalar um componente.
MsiGetComponentState Obtém o estado de um componente.
MsiGetFeatureCost Retorna o espaço em disco exigido por um recurso.
MsiGetFeatureState Obtém o estado de um recurso.
MsiGetFeatureValidStates Retorna um estado de instalação válido.
MsiSetComponentState Define um componente para o estado especificado.
MsiSetFeatureAttributes Modifica os atributos padrão de um recurso em tempo de execução.
MsiSetFeatureState Define um recurso como um estado especificado.
MsiSetInstallLevel Define o nível de instalação de uma instalação completa do produto.
MsiVerifyDiskSpace Verifica se há espaço em disco suficiente.

 

Funções da interface do usuário

Função Descrição
MsiEnableUIPreview Habilita o modo de visualização da interface do usuário.
MsiPreviewBillboard Exibe uma mensagem de instalação com o controle de host na caixa de diálogo exibida.
MsiPreviewDialog Exibe uma caixa de diálogo como sem janela restrita e inativa.

 

Todas as funções dão suporte para chamadas ANSI e Unicode. Para usar essas funções, inclua MsiQuery.h e vincule com Msi.lib.

Funções de instalação

Além das funções de acesso ao banco de dados listadas acima, você cria um pacote de instalação para um aplicativo utilizando as funções do instalador listadas na seção Referência de funções do instalador.