Tabella delle funzionalità
La tabella delle funzionalità definisce la struttura ad albero logico delle funzionalità e contiene le colonne illustrate nella tabella seguente.
Colonna | Tipo | Chiave | Nullable |
---|---|---|---|
Funzionalità | Identificatore | S | N |
Feature_Parent | Identificatore | N | S |
Titolo | Text | N | S |
Descrizione | Text | N | S |
Visualizza | Integer | N | S |
Level | Integer | N | N |
Directory_ | Identificatore | N | S |
Attributi | Integer | N | N |
-
Funzionalità
-
Chiave primaria utilizzata per identificare un record di funzionalità specifico. Il valore in questo campo non deve superare una lunghezza massima di 38 caratteri.
-
Feature_Parent
-
Chiave facoltativa di un record padre nella stessa tabella.
La chiave punta alla colonna Funzionalità. Se la funzionalità padre non è selezionata, questa funzionalità non viene installata. Un valore Null in questo campo indica che questa funzionalità non ha un elemento padre ed è un elemento radice. La colonna Feature_Parent non deve corrispondere alla colonna Feature dello stesso record.
Nota
La profondità massima di qualsiasi funzionalità è 16. Un errore 2701 restituisce un risultato se esiste una funzionalità che supera questa profondità massima.
-
Titolo
-
Stringa breve di testo che identifica una funzionalità.
Questa stringa viene elencata come elemento dal controllo SelectionTree della finestra di dialogo di selezione.
-
Descrizione
-
Stringa di testo più lunga che descrive una funzionalità.
Questa stringa localizzabile viene visualizzata dal controllo testo della finestra di dialogo di selezione.
-
Visualizzazione
-
Il numero in questo campo specifica l'ordine in cui deve essere visualizzata la funzionalità nell'interfaccia utente.
Il valore determina anche se la funzionalità viene inizialmente visualizzata espansa o compressa. Se il valore è Null o 0 (zero), il record non viene visualizzato.
- Se il valore è dispari, il nodo della funzionalità viene espanso inizialmente.
- Se il valore è pari, il nodo della funzionalità viene compresso inizialmente.
-
Livello
-
Livello di installazione iniziale di questa funzionalità. L'elaborazione della tabella condizione può modificare il valore del livello.
Un livello di installazione pari a 0 (zero) disabilita l'elemento e ne impedisce la visualizzazione. Una funzionalità con un livello di installazione pari a 0 (zero) non viene installata durante alcuna installazione, incluse le installazioni amministrative. Per altre informazioni, vedere le informazioni "Livello di installazione" nella sezione Osservazioni di questo argomento.
-
Directory_
-
La colonna Directory_ specifica il nome di una directory che può essere configurata da una finestra di dialogo di selezione.
Poiché questo campo è una chiave nella tabella directory, la directory specificata deve essere elencata nella prima colonna della tabella directory. È necessario immettere una proprietà pubblica in questa colonna per rendere configurabile la directory e per visualizzare un pulsante Sfoglia nella finestra di dialogo di selezione.
-
Attributi
-
Opzione di esecuzione remota per le funzionalità non installate e per cui non viene effettuata alcuna richiesta di stato della funzionalità usando una delle proprietà seguenti.
- ADDLOCAL, proprietà
- ADDSOURCE, proprietà
- ADDDEFAULT, proprietà
- COMPADDLOCAL, proprietà
- COMPADDSOURCE, proprietà
- FILEADDLOCAL, proprietà
- FILEADDSOURCE, proprietà
- REMOVE, proprietà
- REINSTALL, proprietà
- ADVERTISE, proprietà
Aggiungere i bit indicati al valore totale di questa colonna per includere un'opzione di esecuzione remota.
- Se questo campo è vuoto, il valore predefinito è 0 (zero), msidbFeatureAttributesFavorLocal.
- Se il livello di installazione della funzionalità è 0 (zero) o maggiore o uguale al livello di installazione corrente, non viene apportata alcuna modifica nello stato della funzionalità.
Nome Decimal Valore esadecimale Descrizione msidbFeatureAttributesFavorLocal 0 0x0000 I componenti di questa funzionalità non contrassegnati per l'installazione dall'origine vengono installati localmente. Un componente condiviso da due o più funzionalità, alcune delle quali sono impostate su msidbFeatureAttributesFavorLocal e alcune su msidbFeatureAttributesFavorSource, vengono installate localmente. I componenti contrassegnati come msidbComponentAttributesSourceOnly nella tabella dei componenti vengono sempre eseguiti dal cd/server di origine. I bit msidbFeatureAttributesFavorLocal e msidbFeatureAttributesFavorSource funzionano con le funzionalità non elencate dalla proprietà ADVERTISE. msidbFeatureAttributesFavorSource 1 0x0001 I componenti di questa funzionalità non contrassegnati per l'installazione locale vengono installati per l'esecuzione dal cd-ROM di origine o dal server. Un componente condiviso da due o più funzionalità, alcuni dei quali sono impostati su msidbFeatureAttributesFavorLocal e alcuni su msidbFeatureAttributesFavorSource, vengono installati in locale. I componenti contrassegnati da msidbComponentAttributesLocalOnly nella tabella componente vengono sempre installati in locale. I bit msidbFeatureAttributesFavorLocal e msidbFeatureAttributesFavorSource funzionano con le funzionalità non elencate dalla proprietà ADVERTISE. msidbFeatureAttributesFollowParent 2 0x0002 Impostare questo attributo e lo stato della funzionalità è lo stesso dello stato dell'elemento padre della funzionalità. Non è possibile usare questa opzione se la funzionalità si trova nella radice di un albero delle funzionalità. Omettere questo attributo e lo stato della funzionalità viene determinato in base a msidbFeatureAttributesDisallowAdvertise e msidbFeatureAttributesFavorLocal e msidbFeatureAttributesFavorSource.
Per garantire che lo stato della funzionalità figlio segue sempre lo stato del padre, anche quando il figlio e il padre sono inizialmente impostati su assente nel controllo SelectionTree, è necessario includere sia msidbFeatureAttributesFollowParent che msidbFeatureAttributesUIDisallowAbsent negli attributi della funzionalità figlio.
Si noti che se si imposta msidbFeatureAttributesFollowParent senza impostare msidbFeatureAttributesUIDisallowAbsent, il programma di installazione non può forzare la funzionalità figlio dallo stato assente. In questo caso, la funzionalità figlio corrisponde allo stato di installazione dell'elemento padre solo se il figlio è impostato su un elemento diverso da assente.
Impostare msidbFeatureAttributesFollowParent e msidbFeatureAttributesUIDisallowAbsent per garantire che una funzionalità figlio segue lo stato della funzionalità padre.msidbFeatureAttributesFavorAdvertise 4 0x0004 Impostare questo attributo e lo stato della funzionalità è Pubblicizzare. Se la funzionalità è elencata dalla proprietà ADDDEFAULT questo bit viene ignorata e lo stato della funzionalità viene determinato in base a msidbFeatureAttributesFavorLocal e msidbFeatureAttributesFavorSource. Omettere questo attributo e lo stato della funzionalità viene determinato in base a msidbFeatureAttributesDisallowAdvertise e msidbFeatureAttributesFavorLocal e msidbFeatureAttributesFavorSource. msidbFeatureAttributesDisallowAdvertise 8 0x0008 Si noti che questo bit funziona solo con le funzionalità elencate dalla proprietà ADVERTISE. Impostare questo attributo per impedire che la funzionalità venga pubblicizzata.
Impostare questo attributo e se la funzionalità elencata non è padre o figlio, la funzionalità viene installata in base a msidbFeatureAttributesFavorLocal e msidbFeatureAttributesFavorSource.
Impostare questo attributo per l'elemento padre di una funzionalità elencata e viene installato l'elemento padre.
Impostare questo attributo per l'elemento figlio di una funzionalità elencata e lo stato dell'elemento figlio è Assente.
Omettere questo attributo e se la funzionalità elencata non è padre o figlio, lo stato della funzionalità è Annuncio.
Omettere questo attributo e se la funzionalità elencata è un elemento padre o figlio, lo stato di entrambe le funzionalità è Annuncio.msidbFeatureAttributesUIDisallowAbsent 16 0x0010 Impostare questo attributo e l'interfaccia utente non visualizza un'opzione per modificare lo stato della funzionalità su Assente. L'impostazione di questo attributo forza la funzionalità allo stato di installazione, indipendentemente dal fatto che la funzionalità sia visibile nell'interfaccia utente. Omettere questo attributo e l'interfaccia utente visualizza un'opzione per modificare lo stato della funzionalità in Assente.
Impostare msidbFeatureAttributesFollowParent e msidbFeatureAttributesUIDisallowAbsent per garantire che una funzionalità figlio segue lo stato della funzionalità padre.
L'impostazione di questo attributo non influisce solo sull'interfaccia utente, ma forza anche la funzionalità allo stato di installazione se la funzionalità è visibile nell'interfaccia utente o meno.msidbFeatureAttributesNoUnsupportedAdvertise 32 0x0020 Impostare questo attributo e pubblicità è disabilitato per la funzionalità se la shell del sistema operativo non supporta i descrittori di Windows Installer. Omettere questo attributo e la pubblicità non è disabilitata. Alcuni attributi sono esclusivi tra loro. Il tentativo di impostare questi attributi nella stessa funzionalità causa l'esito negativo della convalida del pacchetto di installazione.
- Non usare msidbFeatureAttributesFavorAdvertise con msidbFeatureAttributesDisallowAdvertise.
- Non usare msidbFeatureAttributesNoUnsupportedAdvertise con msidbFeatureAttributesDisallowAdvertise insieme.
- Non usare msidbFeatureAttributesFollowParent con msidbFeatureAttributesFavorSource.
- Si noti che i valori msidbFeatureAttributesFollowParent e msidbFeatureAttributesFavorLocal si escludono a vicenda. Se viene usato il valore msidbFeatureAttributesFollowParent, il valore msidbFeatureAttributesFavorLocal non esiste.
Si noti che se viene installata una funzionalità figlio, viene installata anche la relativa funzionalità padre. Se viene installata una funzionalità padre, la funzionalità figlio non viene necessariamente installata a meno che non vengano impostati gli attributi msidbFeatureAttributesFollowParent e msidbFeatureAttributesUIDisallowAbsent. Questa relazione gerarchica dell'installazione delle funzionalità padre e figlio viene usata anche per le installazioni e le installazioni GUI che usano le proprietà della riga di comando.
Diverse colonne temporanee aggiuntive vengono aggiunte a questa tabella quando vengono caricate in memoria per i calcoli usati dalla selezione dell'interfaccia utente e dei costi.
Un componente può essere condiviso tra due o più funzionalità o applicazioni. Se due o più funzionalità fanno riferimento allo stesso componente, tale componente viene selezionato per l'installazione se sono selezionate una delle funzionalità associate. Ciò può anche essere il motivo per cui le funzionalità figlio non vengono disinstallate quando viene rimossa una funzionalità padre. Se la funzionalità figlio è costituita da componenti necessari da altre funzionalità o applicazioni, Windows Installer non rimuove la funzionalità figlio.
Per altre informazioni, vedere Controllo degli stati di selezione delle funzionalità.
Livello di installazione:
- Per qualsiasi installazione, esiste un livello di installazione definito, ovvero un valore integrale compreso tra 1 e 32.767. Il valore iniziale viene determinato dalla proprietà INSTALLLEVEL, impostata nella tabella delle proprietà.
- Una funzionalità viene installata solo se il valore del livello di funzionalità è minore o uguale al livello di installazione corrente. L'interfaccia utente può essere creata in modo che, quando l'installazione viene inizializzata, il programma di installazione consente all'utente di modificare il livello di installazione di qualsiasi funzionalità nella tabella delle funzionalità. Ad esempio, un autore può definire valori di livello di installazione che rappresentano opzioni di installazione specifiche, ad esempio Personalizzato, Tipico o Minimo, e quindi creare una finestra di dialogo che usa SetInstallLevel ControlEvents per consentire all'utente di selezionare uno di questi stati.
- A seconda dello stato selezionato dall'utente, la finestra di dialogo imposta la proprietà del livello di installazione sul valore corrispondente. Se l'autore assegna un livello tipico di 100 e l'utente seleziona Tipico, vengono installate solo queste funzionalità con un livello di 100 o meno. Inoltre, l'opzione Personalizzata potrebbe portare a un'altra finestra di dialogo contenente un controllo SelectionTree. Il controllo SelectionTree consente quindi all'utente di modificare singolarmente se ogni funzionalità è installata o meno.
ICE03
ICE06
ICE10
ICE14
ICE21
ICE32
ICE41
ICE45
ICE47
ICE50
ICE57
ICE59
ICE62
ICE67
ICE79
ICE86
ICE94