ICEM12
ICEM12 ověřuje, že v tabulce ModuleSequence mají standardní akce pořadová čísla a vlastní akce mají hodnoty BaseAction a After.
Tento ICEM je k dispozici v souboru Mergemod.cub, který je k dispozici v instalační službě systému Windows Installer 2.0 SDK a novější. Podrobnosti najdete v tématu Součásti sady Windows SDK pro vývojáře instalační služby systému Windows.
Výsledek
ICEM12 publikuje chybu v následujících případech:
- Zjistí, že modul obsahuje standardní akci bez pořadového čísla.
- Zjistí, že standardní akce obsahuje hodnoty zadané v poli BaseAction nebo After tabulky ModuleAdminUISequence, ModuleAdminExecuteSequence tabulka, Tabulka ModuleAdvtExecuteSequence, Tabulka ModuleInstallUISequencenebo Tabulka ModuleInstallExecuteSequence.
- Zjistí, že modul obsahuje vlastní akci bez jakýchkoli hodnot zadaných do sekvence. Pole BaseAction nebo After tabulky ModuleAdminUISequence, ModuleAdminExecuteSequence table, ModuleAdvtExecuteSequence table, ModuleInstallUISequence tablenebo ModuleInstallExecuteSequence table.
ICEM12 publikuje upozornění, pokud najde vlastní akci se zadaným pořadovým číslem, ale žádná hodnota v polích BaseAction nebo After.
Všimněte si, že všechny akce nalezené v tabulce CustomAction jsou považovány za vlastní akce. Všechny ostatní akce jsou považovány za standardní akce.
Příklad
ICEM12 publikuje následující chybové a upozorňující zprávy pro modul, který obsahuje položky databáze uvedené níže:
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.
Akce | Typ | Zdroj | Cíl |
---|---|---|---|
Akce 1 | 30 | zdroj1 | target1 |
Akce 3 | 30 | zdroj3 | target3 |
Akce | Posloupnost | BaseAction | Po | Podmínka |
---|---|---|---|---|
Akce 2 | Akce 1 | 1 | pravdivý | |
Akce 3 | pravdivý |
Akce | Posloupnost | BaseAction | Po | Podmínka |
---|---|---|---|---|
Akce 1 | 1 | pravdivý |
Pokud chcete tyto chyby opravit, zkuste následující:
- Odeberte pořadové číslo vlastní akce Action1 a místo toho použijte pole BaseAction a After.
- Zadejte hodnoty do polí Sequence, BaseAction nebo After pro vlastní akci Action3. Pole BaseAction a Za ponechejte prázdná pro standardní akci Action2.
- Nechejte pole Sequence prázdné pro standardní akci Action2.
Související témata
-
referenční modulu sloučení ICE