ICE12
ICE12 запрашивает таблицы CustomAction, Directory, AdminExecuteSequence, AdminUISequence, AdvtExecuteSequence, InstallExecuteSequence и InstallUISequence для проверки следующего:
- Действие CostFinalize происходит в любой таблице последовательности, содержащей действия типа Настраиваемое действие 35 или Тип настраиваемого действия 51.
- Каждый тип настраиваемого действия 35 следует за действием CostFinalize. в таблицах последовательностей.
- Каждый тип настраиваемого действия 51 , имеющий внешний ключ к таблице Directory в столбце Source таблицы CustomAction, перед действием CostFinalize в таблицах последовательностей.
Обратите внимание, что ICE12 не проверяет форматированный текст в столбце Target таблицы CustomAction.
Результат
ICE12 отправляет сообщение об ошибке, если проверка пользовательских действий, устанавливающих свойство каталога, завершается ошибкой.
Пример
ICE12 опубликует три ошибки для показанного примера.
- Для CA1 папка MyFolder не найдена в таблице каталогов.
- Для CA2 последовательность "80" входит в таблицу InstallExecuteSequence перед CostFinalize. Он должен прийти после (CF@100)
- Для CA3 последовательность "125" выполняется после CostFinalize в таблице InstallExecuteSequence. Это должно быть раньше (CF@100)
Таблица CustomAction (частичная)
Действие | Тип | Источник |
---|---|---|
CA1 | 35 | MyFolder |
CA2 | 35 | WindowsFolder |
CA3 | 51 | WindowsFolder |
Directory | Directory_Parent | DefaultDir |
---|---|---|
TARGETDIR | SourceDir | |
WindowsFolder | TARGETDIR | WindowsFolder |
InstallExecuteSequence Table (partial)
Действие | Последовательность |
---|---|
CostFinalize | 100 |
CA2 | 80 |
CA3 | 125 |
Чтобы исправить ошибку для CA1, измените запись в столбце Source таблицы CustomAction на существующую запись в таблице Directory или добавьте MyFolder в таблицу Directory.
Чтобы исправить ошибку для CA2, измените ее последовательность в таблице InstallExecuteSequence так, чтобы она была после действия CostFinalize.
Чтобы исправить ошибку для CA3, измените ее последовательность в таблице InstallExecuteSequence таким образом, чтобы она была до действия CostFinalize.
Связанные темы