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:
- Trova che il modulo contiene un'azione standard senza un numero di sequenza.
- Rileva che un'azione standard contiene valori immessi nei campi BaseAction o After della tabella ModuleAdminUISequence, ModuleAdminExecuteSequence,ModuleAdvtExecuteSequence tabella, ModuleInstallUISequence tabella o ModuleInstallExecuteSequence.
- Trova il modulo contiene un'azione personalizzata senza alcun valore immesso nei campi Sequence, BaseAction o After della tabella ModuleAdminUISequence, ModuleAdminExecuteSequence table, ModuleAdvtExecuteSequence table, ModuleInstallUISequence tabella o ModuleInstallExecuteSequence.
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.
Azione | Tipo | Source (Sorgente) | Destinazione |
---|---|---|---|
Action1 | 30 | source1 | target1 |
Action3 | 30 | source3 | target3 |
Azione | Sequenza | BaseAction | After | Condizione |
---|---|---|---|---|
Action2 | Action1 | 1 | true | |
Action3 | true |
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.
Argomenti correlati