Função MsiDeterminePatchSequenceA (msi.h)
A função MsiDeterminePatchSequence usa um conjunto de arquivos de patch, arquivos XML e blobs XML e determina a melhor sequência de aplicativos para os patches para um produto instalado especificado. Essa função contabiliza patches que já foram aplicados ao produto e contas para patches obsoletos e substituídos.
Sintaxe
UINT MsiDeterminePatchSequenceA(
[in] LPCSTR szProductCode,
[in, optional] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] DWORD cPatchInfo,
[in] PMSIPATCHSEQUENCEINFOA pPatchInfo
);
Parâmetros
[in] szProductCode
O produto que é o destino para o conjunto de patches. O valor deve ser o ProductCode GUID do produto.
[in, optional] szUserSid
Cadeia de caracteres terminada em nulo que especifica um SID (identificador de segurança) de um usuário. Esse parâmetro restringe o contexto de enumeração para essa conta de usuário. Esse parâmetro não pode ser as cadeias de caracteres sid especiais "S-1-1-0" (todos) ou "S-1-5-18" (sistema local). Para o contexto do computador dwContext está definido como MSIINSTALLCONTEXT_MACHINE e szUserSid deve ser NULL. Para o contexto de usuário atual szUserSid pode ser nulo e dwContext pode ser definido como MSIINSTALLCONTEXT_USERMANAGED ou MSIINSTALLCONTEXT_USERUNMANAGED.
[in] dwContext
Restringe a enumeração a um contexto por usuário não gerenciado, por usuário ou por computador. Esse parâmetro pode ser qualquer um dos valores a seguir.
[in] cPatchInfo
O número de patches na matriz.
[in] pPatchInfo
Ponteiro para uma matriz de estruturas de MSIPATCHSEQUENCEINFO
Valor de retorno
A função MsiDeterminePatchSequence retorna os valores a seguir.
Valor | Significado |
---|---|
|
A função falhou de uma maneira não abordada nos outros códigos de erro. |
|
Um argumento é inválido. |
|
Nenhuma sequência válida foi encontrada para o conjunto de patches. |
|
Não é possível abrir um pacote de instalação referenciado por caminho. |
|
Os patches foram classificados com êxito. |
|
O arquivo .msi não foi encontrado. |
|
O caminho para o arquivo .msi não foi encontrado. |
|
Os dados do patch XML são inválidos. |
|
O pacote de instalação era inválido. |
|
Um usuário que não é um administrador tentou chamar a função com um contexto de um usuário diferente. |
|
Os dados de configuração de um patch ou produto registrados são inválidos. |
|
O ProductCode GUID especificado não está registrado. |
|
O Windows Installer versão 3.0 é necessário para determinar a melhor sequência de patch. A função foi chamada com szProductCode ainda não instalado com o Windows Installer versão 3.0. |
|
Esse erro poderá ser retornado se a função tiver sido chamada de uma ação personalizada ou se o MSXML 3.0 não estiver instalado. |
|
O patch especificado é desconhecido. |
Observações
Os usuários que não têm privilégios de administrador podem chamar essa função apenas em seu próprio contexto ou no computador. Os usuários que são administradores podem chamá-lo para outros usuários.
Se essa função for chamada de uma ação personalizada, ela falhará e retornará ERROR_CALL_NOT_IMPLEMENTED. A função requer MSXML versão 3.0 para processar XML e retorna ERROR_CALL_NOT_IMPLEMENTED se o MSXML 3.0 não estiver instalado.
A função MsiDeterminePatchSequence
Se a função for bem-sucedida, a estrutura MSIPATCHSEQUENCEINFO
Se a função for bem-sucedida, os patches excluídos da melhor sequência de aplicação de patch retornarão uma estrutura MSIPATCHSEQUENCEINFO
Se a função falhar, a estrutura
Nota
O cabeçalho msi.h define MsiDeterminePatchSequence 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. 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
sem suporte no Windows Installer 2.0 e anteriores