ICEM12

ICEM12 comprueba que, en una tabla ModuleSequence, las acciones estándar que tienen números de secuencia y acciones personalizadas tienen valores BaseAction y After.

Este ICEM está disponible en el archivo Mergemod.cub proporcionado en el SDK de Windows Installer 2.0 y versiones posteriores. Para obtener más información, consulte Componentes de Windows SDK para desarrolladores de Windows Installer.

Resultado

ICEM12 publica un error en los siguientes casos:

ICEM12 publica una advertencia si encuentra una acción personalizada que tiene un número de secuencia especificado, pero ningún valor en los campos BaseAction o After.

Tenga en cuenta que todas las acciones que se encuentran en la tabla CustomAction se consideran acciones personalizadas. Todas las demás acciones se consideran acciones estándar.

Ejemplo

ICEM12 publica los siguientes mensajes de error y advertencia cuando un módulo contiene las entradas de la base de datos que se muestran a continuación:

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.

CustomAction

Acción Tipo Source Destino
Action1 30 source1 target1
Action3 30 source3 target3

 

ModuleAdminExecuteSequence

Acción Secuencia BaseAction Después Condición
Action2   Action1 1 true
Action3       true

 

ModuleInstallExecuteSequence

Acción Secuencia BaseAction Después Condición
Action1 1     true

 

Para corregir estos errores, intente lo siguiente:

  • Quite el número de secuencia de la acción personalizada Action1 y use los campos BaseAction y After en su lugar.
  • Escriba los valores en los campos Sequence, BaseAction o After de la acción personalizada Action3. Deje los campos BaseAction y After vacíos para la acción estándar Action2.
  • No deje vacío el campo Sequence para la acción estándar Action2.

Referencia ICE del módulo de combinación