Compartir a través de


Reversión de acciones personalizadas

Cuando el instalador procesa el script de instalación, genera simultáneamente un script de reversión. Además del script de reversión, el instalador guarda una copia de cada archivo que elimina durante la instalación. Estos archivos se conservan en un directorio del sistema oculto. Una vez completada la instalación, se eliminan el script de reversión y los archivos guardados. Si una instalación no se realiza correctamente, el instalador intenta revertir los cambios realizados durante la instalación y restaurar el estado original del equipo.

Aunque las acciones personalizadas que programan las operaciones del sistema insertando filas en la tabla de base de datos se invierten mediante una reversión de la instalación, acciones personalizadas que cambian el sistema directamente o que emiten comandos a otros servicios del sistema, no siempre se puede revertir mediante una reversión. Una acción personalizada de reversión es una acción que el instalador ejecuta solo durante una reversión de la instalación y su propósito es invertir una acción personalizada que haya realizado cambios en el sistema.

Una acción personalizada de reversión es un tipo de acción personalizada de ejecución diferida, porque su ejecución se aplaza cuando se invoca durante la secuencia de instalación. Difiere de una acción personalizada diferida normal en que solo se ejecuta durante una reversión. Una acción personalizada de reversión siempre debe preceder a la acción personalizada diferida que revierte en la secuencia de acciones. Una acción personalizada de reversión también debe controlar el caso en el que se interrumpe la acción personalizada diferida en medio de la ejecución. Por ejemplo, si el usuario tenía que presionar el botón Cancelar mientras se estaba ejecutando la acción personalizada.

Tenga en cuenta que las acciones personalizadas de reversión no se pueden ejecutar de forma asincrónica. Consulte acciones personalizadas sincrónicas y asincrónicas.

El complemento a una acción personalizada de reversión es una acción personalizada de confirmación . El instalador ejecuta una acción personalizada de confirmación durante la secuencia de instalación, copia la acción personalizada en el script de reversión, pero no ejecuta la acción durante la reversión.

Tenga en cuenta que es posible que una acción personalizada de reversión no pueda quitar todos los cambios realizados mediante la confirmación de acciones personalizadas. Aunque el instalador escribe acciones personalizadas de reversión y confirmación en el script de reversión, las acciones personalizadas de confirmación solo se ejecutan después de que el instalador haya procesado correctamente el script de instalación. Confirmar acciones personalizadas son las primeras acciones que se ejecutarán en el script de reversión. Si se produce un error en una acción personalizada de confirmación, el instalador inicia la reversión, pero solo puede revertir esas operaciones ya escritas en el script de reversión. Esto significa que, en función de la acción personalizada de confirmación, es posible que una reversión no pueda deshacer los cambios realizados por la acción. Puede omitir los errores en las acciones personalizadas de confirmación mediante la creación de la acción personalizada para omitir los códigos de retorno.

Cuando el instalador ejecuta una acción personalizada de reversión, el único parámetro de modo que se establecerá es MSIRUNMODE_ROLLBACK. Consulte MsiGetMode para obtener una descripción de los parámetros del modo de ejecución.

Se puede especificar una acción personalizada de reversión agregando una marca de opción al campo Tipo de la tabla CustomAction de . Consulte Acción personalizada In-Script Opciones de ejecución para la marca de opción que designa una acción personalizada de reversión.

Las acciones personalizadas de reversión y confirmación no se ejecutan cuando la reversión está deshabilitada. Si un autor de paquetes requiere estos tipos de acciones personalizadas para una instalación adecuada, deben usar la propiedad RollbackDisabled en una condición que impida que la instalación continúe cuando se deshabilite la reversión. Para obtener información sobre cómo deshabilitar la reversión, consulte Instalación de reversión (Windows Installer).