ICE 102

验证 MsiServiceConfigMsiServiceConfigFailureActions 表。

验证 MsiServiceConfigMsiServiceConfigFailureActions 表中的 Event 列中的值是否为 msidbServiceConfigEventInstall、msidbServiceConfigEventUninstall 或 msidbServiceConfigEventReinstall。 验证 MsiServiceConfig 和 MsiServiceConfigFailureActions 表中 Component_ 列中的值是否是 Component 表的有效键。

验证 MsiServiceConfig 表的 ConfigType 列中的值是否为允许的值之一。

验证 MsiServiceConfigFailureActions 表的 Actions 和 Delayed Actions 列中的值是否由 [~] 分隔。 验证 Actions 列中列出的值数目和 MsiServiceConfigFailureActions 表每一行的 Delayed Actions 列中列出的值数目是否相同。

如果 MsiServiceConfig 表中的 ConfigType 字段中的值为 SERVICE_CONFIG_DELAYED_AUTO_START,则 Argument 字段中的值必须为 0 或 1。

如果 MsiServiceConfig 表中的 ConfigType 字段中的值为 SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO,则 Argument 字段中的值必须包含“特权常量”的有效字符串。

如果 MsiServiceConfig 表中的 ConfigType 字段中的值为 SERVICE_CONFIG_SERVICE_SID_INFO,则 Argument 字段中的值必须 SERVICE_SID_TYPE_NONE、SERVICE_SID_TYPE_RESTRICTED或 SERVICE_SID_TYPE_UNRESTRICTED。

如果 MsiServiceConfig 表中中的 ConfigType 字段中的值为 SERVICE_CONFIG_PRESHUTDOWN_INFO,则 Argument 字段中的值必须为正数或空白。 如果 MsiServiceConfig 表中的 ConfigType 字段中的值为 SERVICE_CONFIG_FAILURE_ACTIONS_FLAG,则 Argument 字段中的值必须包含 0 或 1。

Windows Installer 4.5 或更低版本:不支持。 此 ICE 从 Windows Installer 5.0 开始提供。

结果

ICE102 发出以下错误。

ICE102 error 说明
在 MsiServiceConfig 表条目 (MsiServiceConfig = )[1] 中,ConfigType =%d 不是有效的参数。 值应介于 3 到 7 之间。 MsiServiceConfig 表的 Config 字段未包含允许的值。
在 MsiServiceConfig 表条目 (MsiServiceConfig = )[1] 中,Argument =%s 不是有效的 %s 参数。 应为 %s。 MsiServiceConfig 表的 Argument 字段未包含允许的值。
在 MsiServiceConfigFailureActions 表条目 (MsiServiceConfigFailureActions = )[1],Actions=[3] 不是有效的参数。 应该是 null 分隔的非负整数的列表。 MsiServiceConfigFailureActions 的 Actions 字段不包含正整数的数组。 用 [~] 分隔数组中的值。
在 MsiServiceConfigFailureActions 表条目 (MsiServiceConfigFailureActions = )[1],DelayActions=[4] 不是有效的参数。 应该是 null 分隔的非负整数的列表。 MsiServiceConfigFailureActions 的 DelayActions 字段不包含正整数的数组。 用 [~] 分隔数组中的值。
在 MsiServiceConfigFailureActions 表条目 (MsiServiceConfigFailureActions = )[1] 中,Actions (=%d) 的数值与 DelayActions (=%d) 的数值不相等。 这两者应该相等。 MsiServiceConfigFailureActions 表的 Actions 和 DelayActions 字段中的元素数不相等。 这些数组中的元素数应相同。

 

ICE102 发布以下警告。

ICE104 警告 说明
在 MsiServiceConfig 表条目 (MsiServiceConfig = )[1] 中,Argument 字段留空。 将使用 preshutdown 的默认值 180000 时间延迟为 180000 毫秒,因为 MsiServiceConfig 表的 Argument 字段为空。
在 MsiServiceConfigFailureActions 表条目 (MsiServiceConfigFailureActions = )[1] 中,ResetPeriod 留空。 将被替换为 INFINITE。 从不重置失败计数,因为 MsiServiceConfigFailureActions的 ResetPeriod 字段为空。