Share via


Reinstalación de una característica o una aplicación

Windows Installer puede reparar, reemplazar y comprobar los archivos contenidos en una aplicación. Es posible que se requiera una reinstalación parcial o completa de la aplicación si faltan o están dañados archivos o entradas de registro asociados a cualquier característica.

Cuando se vuelve a instalar una característica o aplicación, también se vuelven a instalar todos los servicios, variables de entorno y acciones personalizadas que pertenecen a la característica o aplicación. Tenga en cuenta que esto significa que se pierden los cambios realizados en las variables de entorno entre la instalación original y la reinstalación.

La lista siguiente contiene métodos para volver a instalar una característica o un producto. El instalador ha automatizado los dos primeros métodos:

  • Repare, reemplace o compruebe los archivos mediante una llamada a la función MsiReinstallFeature.
  • Vuelva a instalar todo el producto llamando a la función MsiReinstallProduct.
  • Reinstale, reemplace o compruebe los archivos con un botón de control de UI del instalador a través de Reinstalar ControlEvent.
  • Reinstale, reemplace o compruebe los archivos desde una línea de comandos estableciendo la propiedad REINSTALL y la propiedad REINSTALLMODE.

Para obtener más información sobre la reinstalación de una característica o aplicación, consulte Resistencia.

Para volver a instalar un producto mediante el instalador

Para volver a instalar una característica mediante el instalador

Para volver a instalar un producto o una característica con una interfaz de usuario del instalador

  1. Agregue un botón al cuadro de diálogo especificado agregando una entrada a la tabla Control.

  2. Agregue un control ReinstallMode ControlEvent a la tabla ControlEvent, con los campos Dialog_ y Control_ haciendo referencia al control de botón creado en el paso 1. En el campo Argumento, escriba una cadena que contenga las letras correspondientes a los modos de reinstalación que desee (los valores aceptables para este campo son idénticos a los aceptados para la propiedad REINSTALLMODE). El valor de la columna Ordering para este evento debe ser 1.

  3. Agregue un evento Reinstalar ControlEvent a la tabla ControlEvent y vuelva a hacer referencia al mismo control de botón. El campo Argumento de este evento normalmente será ALL, para forzar la reinstalación de todas las características, pero aquí puede colocar el nombre de una característica específica. El valor de la columna Ordering para este evento debe ser 2.

  4. Agregue un evento más vinculado al mismo control de botón para iniciar realmente la reinstalación. Puede ser un evento EndDialog (con un argumento Return). Sin embargo, normalmente se usaría un evento NewDialog aquí para saltar a un cuadro de diálogo de confirmación ¿Está seguro de que desea reinstalar? El valor de la columna Ordering para este evento debe ser 3.

    Si lo desea, se pueden crear varios botones REINSTALL para un único cuadro de diálogo, lo que permite al usuario seleccionar el tipo de reinstalación realizada. En este caso, cada botón se crea como se describe en el procedimiento anterior, con un parámetro ReinstallMode ControlEvent diferente para cada botón.

Una vez instalado un producto determinado (con algunas o todas las características del producto), se puede realizar una reinstalación en la línea de comandos:

Para volver a instalar un producto o una característica desde una línea de comandos

  1. En el símbolo del sistema, especifique la propiedad REINSTALL.

  2. En el símbolo del sistema, especifique la propiedad REINSTALLMODE.

    Especificar estas propiedades permite al usuario volver a instalar cualquiera de las características del producto o todas ellas. También se puede especificar el tipo de reinstalación. Por ejemplo, puede especificar que solo se deben volver a instalar los archivos que falten por completo, o que solo se reemplacen los archivos dañados (por ejemplo, cualquier archivo ejecutable cuya suma de comprobación no coincida con el contenido real del archivo).