Condividi tramite


Proprietà Session.FeatureValidStates

La proprietà FeatureValidStates dell'oggetto Session restituisce un numero intero che rappresenta i flag di bit con ogni bit pertinente che rappresenta uno stato di installazione valido per la funzionalità specificata.

Questa proprietà è di sola lettura.

Sintassi

propVal = Session.FeatureValidStates

Valore proprietà

Nome stringa obbligatorio dell'elemento di funzionalità i cui stati di installazione validi devono essere recuperati.

Commenti

Il valore restituito è costituito da flag di bit come indicato di seguito. Bit 0: se impostato, Local è uno stato valido. Bit 1: se impostato, l'origine è uno stato valido.

La proprietà FeatureValidStates riesce solo dopo che il programma di installazione ha chiamato le azioni CostInitialize e CostFinalize .

FeatureValidStates determina la validità dello stato eseguendo query su tutti i componenti collegati alla funzionalità specificata senza tenere conto dello stato installato corrente di qualsiasi componente.

Gli stati validi possibili per una funzionalità vengono determinati come segue:

  • Se la funzionalità non contiene componenti, sia INSTALLSTATE_LOCAL che INSTALLSTATE_SOURCE sono stati validi per la funzionalità.
  • Se almeno un componente della funzionalità ha un attributo msidbComponentAttributesLocalOnly o msidbComponentAttributesOptional, INSTALLSTATE_LOCAL è uno stato valido per la funzionalità.
  • Se almeno un componente della funzionalità ha un attributo msidbComponentAttributesSourceOnly o msidbComponentAttributesOptional, INSTALLSTATE_SOURCE è uno stato valido per la funzionalità.
  • Se un file di un componente appartenente alla funzionalità viene sottoposto a patch o da un'origine compressa, INSTALLSTATE_SOURCE non viene incluso come stato valido per la funzionalità.
  • INSTALLSTATE_ADVERTISE non è uno stato valido se la funzionalità non consente l'annuncio (msidbFeatureAttributesDisallowAdvertise) o la funzionalità richiede il supporto della piattaforma per l'annuncio (msidbFeatureAttributesNoUnsupportedAdvertise) e la piattaforma non lo supporta.
  • INSTALLSTATE_ABSENT è uno stato valido per la funzionalità se i relativi attributi non includono msidbFeatureAttributesUIDisallowAbsent.
  • Gli stati validi per le funzionalità figlio contrassegnate per seguire la funzionalità padre (msidbFeatureAttributesFollowParent) si basano sull'azione della funzionalità padre o sullo stato installato.

Se la proprietà ha esito negativo, è possibile ottenere informazioni di errore estese usando il metodo LastErrorRecord .

Requisiti

Requisito Valore
Versione
Windows Installer 5.0 in Windows Server 2012, Windows 8, Windows Server 2008 R2 o Windows 7. Windows Installer 4.0 o Windows Installer 4.5 in Windows Server 2008 o Windows Vista. Windows Installer in Windows Server 2003 o Windows XP
DLL
Msi.dll
IID
IID_ISession è definito come 000C109E-0000-0000-C000-000000000000046