Condividi tramite


Azione MigrateFeatureStates

L'azione MigrateFeatureStates viene usata durante l'aggiornamento e durante l'installazione di una nuova applicazione su un'applicazione correlata. MigrateFeatureStates legge gli stati delle funzionalità nell'applicazione esistente e quindi imposta questi stati di funzionalità nell'installazione in sospeso. Il metodo è utile solo quando la nuova struttura ad albero delle funzionalità non è stata notevolmente modificata rispetto all'originale.

L'azione MigrateFeatureStates viene eseguita solo la prima volta che viene installato il prodotto. L'azione MigrateFeatureStates non viene eseguita durante la modalità di manutenzione o la disinstallazione.

L'azione MigrateFeatureStates viene eseguita in ogni record della tabella di aggiornamento in sequenza e confronta il codice di aggiornamento, la versione del prodotto e la lingua in ogni riga con tutti i prodotti installati nel sistema. Se l'azione MigrateFeatureStates rileva una corrispondenza e se il flag di bit msidbUpgradeAttributesMigrateFeatures viene impostato nella colonna Attributi della tabella Di aggiornamento, il programma di installazione esegue una query sugli stati delle funzionalità esistenti per il prodotto e imposta questi stati per le stesse funzionalità nella nuova applicazione. L'azione esegue la migrazione degli stati della funzionalità solo se la proprietà preselezionato non è impostata.

Restrizioni di sequenza

L'azione MigrateFeatureStates deve venire immediatamente dopo l'azione CostFinalize. MigrateFeatureStates deve essere sequenziato sia nella tabella InstallUISequence che nella tabella InstallExecuteSequence. Il programma di installazione impedisce l'esecuzione di MigrateFeatureStates in InstallExecuteSequence se l'azione è già stata eseguita in InstallUISequence.

Messaggi ActionData

MigrateFeatureSettings invia un messaggio di dati azione per ogni prodotto.

Osservazioni

Se più prodotti installati condividono una funzionalità, lo stato di installazione per tale funzionalità può variare tra i prodotti. L'azione MigrateFeatureState usa l'ordine di precedenza seguente quando si esegue la migrazione degli stati di installazione delle funzionalità: eseguire localmente, eseguire dall'origine, annunciare e disinstallare. Ad esempio, il prodotto installato A può avere funzionalità Y come INSTALLSTATE_LOCAL e il prodotto B installato potrebbe avere la funzionalità Y come INSTALLSTATE_ABSENT. Se un aggiornamento installa il prodotto C ed esegue la migrazione dello stato di installazione della funzionalità Y, MigrateFeatureState imposta lo stato di installazione della funzionalità Y nel prodotto C su INSTALLSTATE_LOCAL.

Per altre informazioni su come usare l'azione MigrateFeatureStates per gli aggiornamenti del prodotto, vedere Preparazione di un'applicazione per gli aggiornamenti principali futuri.