Share via


Propriedade Session.FeatureRequestState

A propriedade FeatureRequestState é uma propriedade de leitura/gravação do objeto Session. Ela pode ser usada para obter o estado de ação atual de um recurso ou para solicitar uma alteração na ação de um recurso e seus sub-recursos. O recurso deve ser nomeado na tabela Feature. Se uma alteração no estado de ação de um recurso for solicitada, o estado de ação de todos os componentes do recurso alterado também poderá ser alterado. O estado de ação dos componentes compartilhados por mais de um recurso será alterado conforme apropriado com base no novo estado de ação do recurso (consulte Comentários). A propriedade FeatureRequestState também pode ser usada para configurar todos os recursos de uma só vez especificando a palavra-chave ALL em vez de um nome de recurso específico.

Essa propriedade é leitura/gravação.

Sintaxe

propVal = Session.FeatureRequestState
Session.FeatureRequestState = propVal 

Valor da propriedade

Cadeia de caracteres necessária que especifica o nome do recurso a ser configurado. Para definir todos os recursos para um estado de solicitação desejado, use a palavra reservada que não diferencia maiúsculas de minúsculas: ALL.

Comentários

O método SetInstallLevel deve ser chamado antes de chamar FeatureRequestState.

Se o estado atual do recurso estiver sendo solicitado, a propriedade FeatureRequestState retornará um dos valores a seguir.

Nome do estado da seleção Significado
msiInstallStateUnknown = -1 Nenhuma ação é tomada para o recurso. Isso é equivalente a nulo.
msiInstallStateAdvertised =1 O recurso deve ser anunciado.
msiInstallStateAbsent = 2 O recurso deve ser removido.
msiInstallStateLocal = 3 O recurso deve ser instalado como run-local.
msiInstallStateSource = 4 O recurso deve ser instalado como run-from-source.
msiInstallStateDefault = 5 O recurso deve ser reinstalado com o estado de ação atual do recurso.

 

Por exemplo, o recurso seguinte obtém o estado atual de "MyFeature" de uma ação personalizada do VBScript.

Dim iRequestState
iRequestState = Session.FeatureRequestState("MyFeature")

Se o estado do recurso estiver sendo configurado, a propriedade FeatureRequestState deverá ser definida como um dos seguintes valores.

Nome do estado da seleção Significado
msiInstallStateAdvertised = 1 Anuncie o recurso.
msiInstallStateAbsent = 2 Remova o recurso.
msiInstallStateLocal = 3 Instale o recurso como run-local.
msiInstallStateSource = 4 Instale o recurso como run-from-source.

 

Por exemplo, as seguintes solicitações de uma ação personalizada do VBScript para que "MyFeature" seja instalado para ser executado localmente no computador.

Session.FeatureRequestState("MyFeature")=3

Quando FeatureRequestState é chamado, o instalador tenta definir o estado de ação de cada componente vinculado ao recurso especificado para o estado especificado, da melhor maneira possível. No entanto, há situações comuns em que a solicitação não pode ser totalmente respeitada. Por exemplo, se um recurso estiver vinculado a dois componentes, Componente A e Componente B, por meio da tabela FeatureComponents e o Componente A tiver o atributo msidbComponentAttributesLocalOnly e o componente B tiver o atributo msidbComponentAttributesSourceOnly. Nesse caso, se FeatureRequestState for chamado com um estado solicitado de msiInstallStateLocal ou msiInstallStateSource, a solicitação não poderá ser respeitada para ambos os componentes. Nesse caso, ambos os componentes podem ser ativados com o Componente A definido como msiInstallStateLocal e o Componente B definido como msiInstallStateSource.

Se mais de um recurso estiver vinculado a um único componente, o estado de ação final desse componente será determinado da seguinte maneira: se pelo menos um recurso chamar para que o componente seja instalado localmente, ele será instalado msiInstallStateLocal. Se pelo menos um recurso chamar para que o componente seja executado na mídia de origem, ele será instalado msiInstallStateSource. Se pelo menos um recurso chamar para a remoção do componente, o estado da ação será msiInstallStateAbsent. Para obter mais informações sobre como os recursos são selecionados para instalação, consulte a tabela Feature.

Em caso de falha da propriedade, obtenha mais informações sobre erros usando o método LastErrorRecord.

Requisitos

Requisito Valor
Versão
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
DLL
Msi.dll
IID
IID_ISession é definido como 000C109E-0000-0000-C000-000000000046

Confira também

Session

Recurso