Função MsiSetFeatureStateA (msiquery.h)
A função MsiSetFeatureState define um recurso como um estado especificado.
Sintaxe
UINT MsiSetFeatureStateA(
[in] MSIHANDLE hInstall,
[in] LPCSTR szFeature,
[in] INSTALLSTATE iState
);
Parâmetros
[in] hInstall
Manipule a instalação fornecida para uma ação personalizada de DLL ou obtida por meio MsiOpenPackage, MsiOpenPackageExou MsiOpenProduct.
[in] szFeature
Especifica o nome do recurso.
[in] iState
Especifica o estado a ser definido. Esse parâmetro pode ser um dos valores a seguir.
Valor de retorno
A função MsiSetFeatureState
Observações
A função
A função msiSetInstallLevel
Quando msiSetFeatureState é chamado, o instalador tenta definir o estado de ação de cada componente vinculado ao recurso especificado para o estado especificado. No entanto, há situações comuns em que a solicitação não pode ser totalmente implementada. Por exemplo, se um recurso estiver vinculado a dois componentes, o componente A e o componente B, por meio da tabela FeatureComponents e o componente A tiver o atributo msidbComponentAttributesLocalOnly e o componente B tem o atributo msidbComponentAttributesSourceOnly. Nesse caso, se MsiSetFeatureState for chamado com um estado solicitado de INSTALLSTATE_LOCAL ou INSTALLSTATE_SOURCE, a solicitação não poderá ser totalmente implementada para ambos os componentes. Nesse caso, ambos os componentes são ativados, com o componente A definido como Local e o componente B definido como Origem.
Se mais de um recurso estiver vinculado a um único componente (um cenário comum), o estado de ação final desse componente será determinado da seguinte maneira:
- Se pelo menos um recurso exigir que o componente seja instalado localmente, o recurso será instalado com um estado local.
- Se pelo menos um recurso exigir que o componente seja executado a partir da origem, o recurso será instalado com um estado de origem.
- Se pelo menos um recurso exigir a remoção do componente, o estado da ação estará ausente.
Se a função falhar, você poderá obter informações de erro estendidas usando msiGetLastErrorRecord.
Nota
O cabeçalho msiquery.h define MsiSetFeatureState 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 |
da Plataforma de Destino |
Windows |
cabeçalho | msiquery.h |
biblioteca | Msi.lib |
de DLL |
Msi.dll |