Função MsiOpenPackageExA (msi.h)
A função MsiOpenPackageEx abre um pacote a ser usado com funções que acessam o banco de dados do produto. A função MsiCloseHandle deve ser chamada com o identificador quando o identificador não é mais necessário.
Sintaxe
UINT MsiOpenPackageExA(
[in] LPCSTR szPackagePath,
[in] DWORD dwOptions,
[out] MSIHANDLE *hProduct
);
Parâmetros
[in] szPackagePath
O caminho para o pacote.
[in] dwOptions
Os sinalizadores de bit para indicar se o estado do computador deve ou não ser ignorado. Passe 0 (zero) para usar o comportamento msiOpenPackage .
Constante | Significado |
---|---|
|
Ignore o estado do computador ao criar o identificador do produto. |
[out] hProduct
Um ponteiro para uma variável que recebe o identificador do produto.
Valor retornado
Valor | Significado |
---|---|
|
As informações de configuração estão corrompidas. |
|
Não foi possível abrir o produto. |
|
O Windows Installer não permite a instalação de uma conexão de área de trabalho remota. |
|
Um parâmetro inválido é passado para a função . |
|
A função é concluída com êxito. |
Se essa função falhar, ela poderá retornar um código de erro do sistema. Para obter mais informações, consulte Códigos de erro do sistema.
Comentários
Para criar um identificador de produto restrito independente do estado do computador atual e incapaz de alterar o estado atual do computador, use MsiOpenPackageEx com MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE definido em dwOptions.
Observe que, se dwOptions for MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE ou 1, MsiOpenPackageEx ignorará o estado atual do computador ao criar o identificador do produto. Se o valor de dwOptions for 0, MsiOpenPackageEx será o mesmo que MsiOpenPackage e criará um identificador de produto que depende se o pacote especificado por szPackagePath já está instalado no computador.
O identificador restrito criado usando MsiOpenPackageEx com MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE permite apenas a execução de caixas de diálogo, um subconjunto das ações padrão e ações personalizadas que definem propriedades ( Tipo de Ação Personalizada 35, Tipo de Ação Personalizada 51 e Tipo de Ação Personalizada 19). O identificador restrito impede o uso de ações personalizadas que executam Bibliotecas de Link Dinâmico, Arquivos Executáveis ou Scripts.
Você pode chamar MsiDoAction nas seguintes ações padrão usando o identificador restrito. Todas as outras ações retornam ERROR_FUNCTION_NOT_CALLED se forem chamadas com o identificador restrito.
- ADMIN
- ADVERTISE
- INSTALL
- SEQUENCE
- Ação AppSearch
- CCPSearch
- CostFinalize
- CostInitialize
- FileCost
- FindRelatedProducts
- Ação IsolateComponents
- LaunchConditions
- MigrateFeatureStates
- ResolveSource
- RMCCPSearch
- ValidateProductID
Observação
O cabeçalho msi.h define MsiOpenPackageEx 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. Confira os Requisitos de tempo de execução do Windows Installer para obter informações sobre o service pack mínimo do Windows exigido por uma versão do Windows Installer. |
Plataforma de Destino | Windows |
Cabeçalho | msi.h |
Biblioteca | Msi.lib |
DLL | Msi.dll |