ICE 102
Проверяет таблицы MsiServiceConfig и MsiServiceConfigFailureActions .
Проверяет, что значение в столбце Event таблиц MsiServiceConfig и MsiServiceConfigFailureActions равно msidbServiceConfigEventInstall, msidbServiceConfigEventUninstall или msidbServiceConfigEventReinstall. Проверяет, является ли значение в столбце Component_ таблиц MsiServiceConfig и MsiServiceConfigFailureActions допустимым ключом в таблице компонентов.
Проверяет, являются ли значения в столбце ConfigType таблицы MsiServiceConfig одним из допустимых значений.
Проверяет, разделены ли значения в столбцах Actions и Delayed Actions таблицы MsiServiceConfigFailureActions по [~]. Проверяет, что количество значений, перечисленных в столбце Действия, и количество значений, перечисленных в столбце Отложенные действия в каждой строке таблицы MsiServiceConfigFailureActions, совпадают.
Если значение в поле ConfigType таблицы MsiServiceConfig равно SERVICE_CONFIG_DELAYED_AUTO_START значение в поле Аргумент должно быть равно 0 или 1.
Если значение в поле ConfigType таблицы MsiServiceConfig равно SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO значение в поле Argument должно содержать допустимую строку констант привилегий.
Если значение в поле ConfigType таблицы MsiServiceConfig равно SERVICE_CONFIG_SERVICE_SID_INFO значение в поле Аргумент должно быть SERVICE_SID_TYPE_NONE, SERVICE_SID_TYPE_RESTRICTED или SERVICE_SID_TYPE_UNRESTRICTED.
Если значение в поле ConfigType таблицы MsiServiceConfig равно SERVICE_CONFIG_PRESHUTDOWN_INFO значение в поле Аргумент должно быть положительным или пустым. Если значение в поле ConfigType таблицы MsiServiceConfig равно SERVICE_CONFIG_FAILURE_ACTIONS_FLAG значение в поле Аргумент должно содержать 0 или 1.
Установщик Windows 4.5 или более ранней версии: Не поддерживается. Этот ice доступен начиная с установщика Windows 5.0.
Результат
ICE102 публикует следующие ошибки.
Ошибка ICE102 | Описание |
---|---|
В записи таблицы MsiServiceConfig (MsiServiceConfig = )[1], ConfigType =%d не является допустимым параметром. Значение должно находиться в диапазоне от 3 до 7. | Поле Config таблицы MsiServiceConfig не содержит ни одного из допустимых значений. |
В записи таблицы MsiServiceConfig (MsiServiceConfig = )[1] аргумент =%s не является допустимым параметром %s. Это должно быть %s. | Поле Argument таблицы MsiServiceConfig не содержит ни одного из допустимых значений. |
В записи таблицы MsiServiceConfigFailureActions (MsiServiceConfigFailureActions = )[1], Actions=[3] не является допустимым параметром. Это должен быть список неотрицательных целых чисел с разделителями NULL. | Поле Actions объекта MsiServiceConfigFailureActions не содержит массив положительных целых чисел. Разделите значения в массиве по [~]. |
В записи таблицы MsiServiceConfigFailureActions (MsiServiceConfigFailureActions = )[1], DelayActions=[4] не является допустимым параметром. Это должен быть список неотрицательных целых чисел с разделителями NULL. | Поле DelayActions msiServiceConfigFailureActions не содержит массив положительных целых чисел. Разделите значения в массиве по [~]. |
В записи таблицы MsiServiceConfigFailureActions (MsiServiceConfigFailureActions = )[1] число действий (=%d) не равно числу объектов DelayActions (=%d). Они должны быть равными. | Количество элементов в полях Actions и DelayActions таблицы MsiServiceConfigFailureActions не равно. Количество элементов в этих массивах должно быть одинаковым. |
ICE102 публикует следующие предупреждения.
Предупреждение ICE104 | Описание |
---|---|
В записи таблицы MsiServiceConfig (MsiServiceConfig = )[1] поле Аргумент остается пустым. Будет использоваться значение предварительного завершения по умолчанию 180000 | Задержка времени составляет 180 000 миллисекунда, так как поле Argument таблицы MsiServiceConfig пусто. |
В записи таблицы MsiServiceConfigFailureActions (MsiServiceConfigFailureActions = )[1], ResetPeriod остается пустым. Он будет заменен на INFINITE. | Число сбоев никогда не сбрасывается, так как поле ResetPeriod msiServiceConfigFailureActions пусто. |