Compartilhar via


Função MsiProvideAssemblyA (msi.h)

A função MsiProvideAssembly retorna o caminho completo para um componente do Windows Installer que contém um assembly. A função solicita uma origem e executa qualquer instalação necessária. MsiProvideAssembly incrementa a contagem de uso do recurso.

Sintaxe

UINT MsiProvideAssemblyA(
  [in]      LPCSTR  szAssemblyName,
  [in]      LPCSTR  szAppContext,
  [in]      DWORD   dwInstallMode,
  [in]      DWORD   dwAssemblyInfo,
  [out]     LPSTR   lpPathBuf,
  [in, out] LPDWORD pcchPathBuf
);

Parâmetros

[in] szAssemblyName

O nome do assembly como uma cadeia de caracteres.

[in] szAppContext

Definido como nulo para assemblies globais. Para assemblies privados, defina szAppContext para o caminho completo do arquivo de configuração do aplicativo ou para o caminho completo do arquivo executável do aplicativo para o qual o assembly foi tornado privado.

[in] dwInstallMode

Define o modo de instalação. Esse parâmetro pode ser um dos valores a seguir.

Valor Significado
INSTALLMODE_DEFAULT
Forneça o componente e execute qualquer instalação necessária para fornecer o componente. Se o arquivo de chave de um componente no recurso solicitado ou um pai de recurso estiver ausente, reinstale o recurso usando MsiReinstallFeature com os seguintes bits de sinalizador definidos: REINSTALLMODE_FILEMISSING, REINSTALLMODE_FILEOLDERVERSION, REINSTALLMODE_FILEVERIFY, REINSTALLMODE_MACHINEDATA, REINSTALLMODE_USERDATA e REINSTALLMODE_SHORTCUT.
INSTALLMODE_EXISTING
Forneça o componente somente se o recurso existir. Caso contrário, retorne ERROR_FILE_NOT_FOUND.

Esse modo verifica se o arquivo de chave do componente existe.

INSTALLMODE_NODETECTION
Forneça o componente somente se o recurso existir. Caso contrário, retorne ERROR_FILE_NOT_FOUND.

Esse modo verifica apenas se o componente está registrado e não verifica se o arquivo de chave do componente existe.

INSTALLMODE_NOSOURCERESOLUTION
Forneça o componente somente se o estado de instalação do recurso for INSTALLSTATE_LOCAL. Se o estado de instalação do recurso for INSTALLSTATE_SOURCE, retorne ERROR_INSTALL_SOURCE_ABSENT. Caso contrário, retorne ERROR_FILE_NOT_FOUND. Esse modo verifica apenas se o componente está registrado e não verifica se o arquivo de chave existe.
INSTALLMODE_NODETECTION_ANY
Forneça o componente se houver um recurso de qualquer produto instalado. Caso contrário, retorne ERROR_FILE_NOT_FOUND. Esse modo verifica apenas se o componente está registrado e não verifica se o arquivo de chave do componente existe. Esse sinalizador é semelhante ao sinalizador INSTALLMODE_NODETECTION exceto que, com esse sinalizador, verificamos qualquer produto que tenha instalado o assembly em vez do último produto, como é o caso do sinalizador INSTALLMODE_NODETECTION. Esse sinalizador só pode ser usado com MsiProvideAssembly.
combinação dos sinalizadores REINSTALLMODE
Chame MsiReinstallFeature para reinstalar o recurso usando esse parâmetro para o parâmetro dwReinstallMode e forneça o componente.

[in] dwAssemblyInfo

Informações do assembly e tipo de assembly. Defina como um dos valores a seguir.

Valor Significado
MSIASSEMBLYINFO_NETASSEMBLY
0
Assembly do .NET
MSIASSEMBLYINFO_WIN32ASSEMBLY
1
Win32 Assembly

[out] lpPathBuf

Ponteiro para uma variável que recebe o caminho para o componente. Esse parâmetro pode ser nulo.

[in, out] pcchPathBuf

Ponteiro para uma variável que especifica o tamanho, em caracteres, do buffer apontado pelo parâmetro lpPathBuf. Na entrada, esse é o tamanho total do buffer, incluindo um espaço para um caractere nulo de terminação. Se o buffer passado for muito pequeno, a contagem retornada não incluirá o caractere nulo de encerramento.

Se lpPathBuf for nulo, pcchPathBuf poderá ser nulo.

Valor de retorno

Valor Significado
ERROR_BAD_CONFIGURATION
Os dados de configuração estão corrompidos.
ERROR_FILE_NOT_FOUND
O recurso está ausente ou desfeito. Esse erro é retornado para dwInstallMode = INSTALLMODE_EXISTING.
ERROR_INSTALL_FAILURE
Falha na instalação.
ERROR_INSTALL_NOTUSED
O componente que está sendo solicitado está desabilitado no computador.
ERROR_INVALID_PARAMETER
Um parâmetro inválido foi passado para a função.
ERROR_SUCCESS
A função foi concluída com êxito.
ERROR_UNKNOWN_FEATURE
A ID do recurso não identifica um recurso conhecido.
ERROR_UNKNOWN_COMPONENT
A ID do componente não especifica um componente conhecido.
ERROR_UNKNOWN_PRODUCT
O código do produto não identifica um produto conhecido.
INSTALLSTATE_UNKNOWN
Um produto não reconhecido ou um nome de recurso foi passado para a função.
ERROR_MORE_DATA
O estouro do buffer é retornado.
ERROR_NOT_ENOUGH_MEMORY
O sistema não tem memória suficiente para concluir a operação. Disponível com o Windows Server 2003.
ERROR_INSTALL_SOURCE_ABSENT
Não é possível detectar uma origem.
 

Para obter mais informações, consulte mensagens de erro exibidas.

Observações

Quando a função MsiProvideAssembly for bem-sucedida, o parâmetro pcchPathBuf contém o comprimento da cadeia de caracteres em lpPathBuf.

A opção INSTALLMODE_EXISTING não pode ser usada em combinação com o sinalizador REINSTALLMODE.

Os recursos com componentes que contêm um arquivo corrompido ou a versão errada de um arquivo devem ser explicitamente reinstalados pelo usuário ou fazendo com que a chamada do aplicativo MsiReinstallFeature.

Nota

O cabeçalho msi.h define MsiProvideAssembly 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. Consulte os Requisitos de Run-Time do Windows Installer para obter informações sobre o service pack mínimo do Windows exigido por uma versão do Windows Installer.
da Plataforma de Destino Windows
cabeçalho msi.h
biblioteca Msi.lib
de DLL Msi.dll

Consulte também

Funções Component-Specific

instalações Multiple-Package