ICEM12
ICEM12 проверяет, что в таблице ModuleSequence стандартные действия имеют порядковые номера и пользовательские действия имеют значения BaseAction и After.
Этот ICEM доступен в файле Mergemod.cub, предоставленном в пакете SDK для установщика Windows 2.0 и более поздних версий. Дополнительные сведения см. в разделе Windows компоненты пакета SDK для разработчиков установщиков Windows.
Результат
ICEM12 публикует ошибку в следующих случаях:
- Он находит, что модуль содержит стандартное действие без порядкового номера.
- Обнаруживается, что стандартное действие содержит значения, введенные в поля BaseAction или After таблицы ModuleAdminUISequence, moduleAdminExecuteSequence, таблица ModuleAdvtExecuteSequence, таблица ModuleInstallUISequence или таблица ModuleInstallExecuteSequence.
- Он находит, что модуль содержит настраиваемое действие без каких-либо значений, введенных в поля Sequence, BaseAction или After таблицы ModuleAdminUISequence, moduleAdminExecuteSequence, ModuleAdvtExecuteSequence,ModuleInstallUISequence или ModuleInstallExecuteSequence.
ICEM12 публикует предупреждение, если он находит настраиваемое действие с указанным порядковым номером, но не имеет значения в полях BaseAction или After.
Обратите внимание, что все действия, найденные в таблице CustomAction , считаются настраиваемыми действиями. Все остальные действия считаются стандартными действиями.
Пример
ICEM12 публикует следующие сообщения об ошибках и предупреждениях для модуля, содержащего записи базы данных, показанные ниже:
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.
Действие | Тип | Источник | Назначение |
---|---|---|---|
Действие1 | 30 | source1 | target1 |
Action3 | 30 | source3 | target3 |
Действие | Sequence | BaseAction | После | Условие |
---|---|---|---|---|
Action2 | Действие1 | 1 | Да | |
Action3 | Да |
Действие | Sequence | BaseAction | После | Условие |
---|---|---|---|---|
Действие1 | 1 | Да |
Чтобы устранить эти ошибки, попробуйте следующее:
- Удалите порядковый номер для настраиваемого действия Action1 и используйте поля BaseAction и After.
- Введите значения в поля Sequence, BaseAction или After для настраиваемого действия Action3. Оставьте поля BaseAction и After пустыми для стандартного действия Action2.
- Не оставляйте поле последовательности пустым для действия "Стандартный" action2.
Связанные темы