ICEM12

ICEM12 verifica che in una tabella ModuleSequence le azioni standard abbiano numeri di sequenza e azioni personalizzate abbiano valori BaseAction e After.

Questo ICEM è disponibile nel file Mergemod.cub fornito in Windows Installer 2.0 SDK e versioni successive. Per informazioni dettagliate, vedere Componenti di Windows SDK per sviluppatori di Windows Installer.

Risultato

ICEM12 invia un errore nei casi seguenti:

ICEM12 invia un avviso se trova un'azione personalizzata con un numero di sequenza specificato, ma nessun valore nei campi BaseAction o After.

Si noti che tutte le azioni disponibili nella tabella CustomAction sono considerate azioni personalizzate. Tutte le altre azioni sono considerate azioni standard.

Esempio

ICEM12 inserisce i messaggi di errore e di avviso seguenti per un modulo che contiene le voci del database illustrate di seguito:

Error. Custom actions should use the BaseAction and After fields and not use the 
Sequence field in the Module Sequence tables. The custom action 'Action1' uses the Sequence field 
and does not use the BaseAction and After fields in the ModuleInstallExecuteSequence table. 
    
Error. Custom actions should not leave the Sequence, BaseAction, and After fields 
of the Module Sequence tables all empty. The custom action 'Action3' leaves the Sequence, 
BaseAction, and After fields empty in the ModuleAdminExecuteSequence table.

Error. Standard actions should not use the BaseAction and After fields in Module 
Sequence tables. The standard action 'Action2' has a values entered in the BaseAction 
or After fields of the ModuleAdminExecuteSequence table.

Error. Standard actions must have a entry in the Sequence field of Module Sequence 
tables. The standard action 'Action2' does not have a Sequence value in the 
ModuleExecuteSequence table.

CustomAction

Azione Tipo Source (Sorgente) Destinazione
Action1 30 source1 target1
Action3 30 source3 target3

 

ModuleAdminExecuteSequence

Azione Sequenza BaseAction After Condizione
Action2   Action1 1 true
Action3       true

 

ModuleInstallExecuteSequence

Azione Sequenza BaseAction After Condizione
Action1 1     true

 

Per correggere questi errori, provare a eseguire le operazioni seguenti:

  • Rimuovere il numero di sequenza per l'azione personalizzata Action1 e usare invece i campi BaseAction e After.
  • Immettere i valori nei campi Sequence, BaseAction o After per l'azione personalizzata Action3. Lasciare vuoti i campi BaseAction e After per l'azione standard Action2.
  • Non lasciare vuoto il campo Sequenza per l'azione standard Action2.

Riferimento ICE del modulo merge