Função MsiSourceListForceResolutionExA (msi.h)

A função MsiSourceListForceResolutionEx remove o registro da propriedade chamada "LastUsedSource". Essa função não afeta a lista de fontes registrada. Sempre que o instalador exigir que a origem reinstale um produto ou patch, ele primeiro tenta a origem registrada como "LastUsedSource". Se isso falhar ou se esse registro estiver ausente, o instalador pesquisará as outras fontes registradas até encontrar uma fonte válida ou até que a lista de fontes seja esgotada. Limpar o registro "LastUsedSource" força o instalador a fazer uma resolução de origem em relação às fontes registradas na próxima vez que exigir a origem.

Sintaxe

UINT MsiSourceListForceResolutionExA(
  [in]           LPCSTR            szProductCodeOrPatchCode,
  [in, optional] LPCSTR            szUserSid,
  [in]           MSIINSTALLCONTEXT dwContext,
  [in]           DWORD             dwOptions
);

Parâmetros

[in] szProductCodeOrPatchCode

O ProductCode ou o GUID de patch do produto ou patch. Use uma cadeia de caracteres terminada em nulo. Se a cadeia de caracteres tiver mais de 39 caracteres, a função falhará e retornará ERROR_INVALID_PARAMETER. Esse parâmetro não pode ser NULL.

[in, optional] szUserSid

Esse parâmetro pode ser um SID de cadeia de caracteres que especifica a conta de usuário que contém o produto ou patch. O SID não é validado ou resolvido. Um SID incorreto pode retornar ERROR_UNKNOWN_PRODUCT ou ERROR_UNKNOWN_PATCH. Ao referenciar um contexto de computador, szUserSID deve ser NULL e dwContext deve ser MSIINSTALLCONTEXT_MACHINE. O uso do SID do computador ("S-1-5-18") retorna ERROR_INVALID PARAMETER. Ao referenciar a conta de usuário atual, szUserSID pode ser NULL e dwContext pode ser MSIINSTALLCONTEXT_USERMANAGED ou MSIINSTALLCONTEXT_USERUNMANAGED.

[in] dwContext

Esse parâmetro especifica o contexto da instância de produto ou patch. Esse parâmetro pode conter um dos valores a seguir.

Tipo de contexto Significado
MSIINSTALLCONTEXT_USERMANAGED
O produto ou a instância de patch existe no contexto gerenciado por usuário.
MSIINSTALLCONTEXT_USERUNMANAGED
O produto ou a instância de patch existe no contexto por usuário não gerenciado.
MSIINSTALLCONTEXT_MACHINE
O produto ou a instância de patch existe no contexto por computador.

[in] dwOptions

O valor dwOptions determina a interpretação do valor szProductCodeOrPatchCode .

Sinalizador Significado
MSICODE_PRODUCT
szProductCodeOrPatchCode é um código de produto.
MSICODE_PATCH
szProductCodeOrPatchCode é um código de patch.

Valor retornado

A função MsiSourceListForceResolutionEx retorna os valores a seguir.

Valor Significado
ERROR_ACCESS_DENIED
O usuário não tem a capacidade de modificar a lista de origem especificada. Não indica se o produto ou patch foi encontrado.
ERROR_BAD_CONFIGURATION
Os dados de configuração estão corrompidos.
ERROR_INSTALL_SERVICE_FAILURE
Não foi possível acessar o serviço Windows Installer
ERROR_INVALID_PARAMETER
Um parâmetro inválido foi passado para a função.
ERROR_SUCCESS
O registro "LastUsedSource" foi limpo.
ERROR_UNKNOWN_PATCH
O patch não foi encontrado.
ERROR_UNKNOWN_PRODUCT
O produto ou patch especificado não foi encontrado.
ERROR_FUNCTION_FAILED
Falha interna inesperada.

Comentários

Os administradores podem modificar a instalação de um produto ou instância de patch que existe no contexto do computador ou em seu próprio contexto por usuário (gerenciado ou não gerenciado).) Eles podem modificar a instalação de um produto ou instância de patch que existe no contexto por usuário gerenciado por usuário. Os administradores não podem modificar a instalação de outro usuário de um produto ou instância de patch que existe no contexto não gerenciado por usuário desse outro usuário.

Não administradores não podem modificar a instalação de um produto ou instância de patch que existe no contexto por usuário de outro usuário (gerenciado ou não gerenciado).) Eles podem modificar a instalação de um produto ou instância de patch que existe em seu próprio contexto por usuário não gerenciado. Eles podem modificar a instalação de um produto ou instância de patch no contexto do computador ou seu próprio contexto gerenciado por usuário somente se estiverem habilitados para procurar um produto ou fonte de patch. Os usuários podem ser habilitados a procurar fontes definindo a política, para obter mais informações, consulte DisableBrowse, AllowLockdownBrowse e PolíticasAlwaysInstallElevated .

Observação

O cabeçalho msi.h define MsiSourceListForceResolutionEx 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

   
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 3.0 ou versões posteriores 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

Confira também

Sem suporte no Windows Installer 2.0 e nas versões anteriores

ProductCode

Resiliência de origem