Cómo crear un ICE
Si no encuentra los evaluadores de coherencia interna que necesita entre las acciones personalizadas de ICE existentes que figuran en la Referencia sobre ICE, deberá preparar su propio ICE para validar el paquete.
Al crear acciones personalizadas de ICE, debe hacer lo siguiente:
- Base los ICE solo en acciones personalizadas de tipos que figuren en la tabla que se muestra.
- Llame a MsiProcessMessage y publique un tipo de mensaje INSTALLMESSAGE_USER. Al crear los mensajes de ICE, respete el formato de mensaje de las Reglas de mensajes de ICE.
- Escriba el ICE de modo que recoja los errores de API y siempre devuelva ERROR_SUCCESS. Esto es necesario para permitir que las acciones personalizadas posteriores se ejecuten después del error de una ICE.
Las acciones personalizadas de ICE se limitan a los siguientes tipos de acción personalizadas.
Tipo de acción personalizada | Descripción |
---|---|
Tipo de acción personalizada 1 | DLL en secuencia binaria |
Tipo de acción personalizada 2 | EXE en secuencia binaria |
Tipo de acción personalizada 5 | JScript en secuencia binaria |
Tipo de acción personalizada 6 | VBScript en secuencia binaria |
Tipo de acción personalizada 37 | Código JScript como cadena |
Tipo de acción personalizada 38 | Código VBScript como cadena |
Al crear una acción personalizada de ICE, no haga lo siguiente:
- No presuponga que el identificador del motor que recibe el ICE es una instancia de instalación de la base de datos del instalador. Si no es una instancia de instalación, no se definirán algunas propiedades, no se resolverán los directorios de origen y de destino y no se definirán los estados actuales de las características.
- No parta de la ejecución anterior, o no ejecución, de cualquier acción del instalador, acción personalizada u otra ICE. Dado que un ICE anterior puede haber creado columnas temporales en cualquier tabla, los autores deben hacer referencia a las columnas por el nombre siempre que sea posible. Los ICE deben limpiar las columnas o tablas temporales antes de salir.
- No presuponga que los autores tienen acceso a una imagen del directorio de origen de la base de datos.
- No presuponga que los cambios realizados en la base de datos no se conservan.
Temas relacionados