ICE 102

Valida as tabelas MsiServiceConfig e MsiServiceConfigFailureActions.

Verifica se o valor na coluna Event nas tabelas MsiServiceConfig e MsiServiceConfigFailureActions é msidbServiceConfigEventInstall, msidbServiceConfigEventUninstall ou msidbServiceConfigEventReinstall. Verifica se o valor na coluna Component_ nas tabelas MsiServiceConfig e MsiServiceConfigFailureActions é uma chave válida na Tabela Component.

Verifica se os valores na coluna ConfigType da tabela MsiServiceConfig são um dos valores permitidos.

Verifica se os valores nas colunas Actions e Delayed Actions da tabela MsiServiceConfigFailureActions estão separados por [~]. Verifica se o número de valores listados na coluna Actions e o número de valores listados na coluna Delayed Actions em cada linha da tabela MsiServiceConfigFailureActions são os mesmos.

Se o valor no campo ConfigType na tabela MsiServiceConfig for SERVICE_CONFIG_DELAYED_AUTO_START o valor no campo Argument deverá ser 0 ou 1.

Se o valor no campo ConfigType na tabela MsiServiceConfig for SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO o valor no campo Argument deverá conter uma cadeia de caracteres válida de Constantes de Privilégio.

Se o valor no campo ConfigType na tabela MsiServiceConfig for SERVICE_CONFIG_SERVICE_SID_INFO o valor no campo Argument deverá ser SERVICE_SID_TYPE_NONE, SERVICE_SID_TYPE_RESTRICTED ou SERVICE_SID_TYPE_UNRESTRICTED.

Se o valor no campo ConfigType na tabela MsiServiceConfig for SERVICE_CONFIG_PRESHUTDOWN_INFO o valor no campo Argument deverá ser positivo ou vazio. Se o valor no campo ConfigType na tabela MsiServiceConfig for SERVICE_CONFIG_FAILURE_ACTIONS_FLAG o valor no campo Argument deverá conter 0 ou 1.

Windows Installer 4.5 ou versões anteriores: sem suporte. Esse ICE está disponível a partir do Windows Installer 5.0.

Result

O ICE102 posta os erros a seguir.

Erro ICE102 Descrição
Na entrada da tabela MsiServiceConfig (MsiServiceConfig = )[1], ConfigType =%d não é um parâmetro válido. Ele deve estar entre três e sete. O campo Config da tabela MsiServiceConfig não contém um dos valores permitidos.
Na entrada da tabela MsiServiceConfig (MsiServiceConfig = )[1], Argument =%s não é um parâmetro válido. Deveria ser %s. O campo Argument da tabela MsiServiceConfig não contém um dos valores permitidos.
Na entrada da tabela MsiServiceConfigFailureActions (MsiServiceConfigFailureActions = )[1], Actions=[3] não é um parâmetro válido. Deve ser uma lista de inteiros não negativos separados por nulo. O campo Actions de MsiServiceConfigFailureActions não contém uma matriz de inteiros positivos. Separe os valores na matriz por [~].
Na entrada da tabela MsiServiceConfigFailureActions (MsiServiceConfigFailureActions = )[1], DelayActions=[4] não é um parâmetro válido. Deve ser uma lista de inteiros não negativos separados por nulo. O campo DelayActions de MsiServiceConfigFailureActions não contém uma matriz de inteiros positivos. Separe os valores na matriz por [~].
Na entrada da tabela MsiServiceConfigFailureActions (MsiServiceConfigFailureActions = )[1], number of Actions (=%d) não é igual ao número de DelayActions (=%d). Devem ser iguais. O número de elementos nos campos Actions e DelayActions da tabela MsiServiceConfigFailureActions não é igual. O número de elementos nessas matrizes deve ser o mesmo.

 

O ICE102 posta os avisos a seguir.

Aviso ICE104 Descrição
Na entrada da tabela MsiServiceConfig (MsiServiceConfig = )[1], o campo Argument é deixado em branco. O valor de preshutdown padrão de 180000 será usado O atraso de tempo é de 180000 milissegundos porque o campo Argument da tabela MsiServiceConfig está em branco.
Na entrada da tabela MsiServiceConfigFailureActions (MsiServiceConfigFailureActions = )[1], ResetPeriod é deixado em branco. Ele será substituído por INFINITE. A contagem de falhas nunca é redefinida porque o campo ResetPeriod de/ MsiServiceConfigFailureActions está em branco.