Desinstalación de un VSPackage con Windows Installer

En su mayor parte, Windows Installer puede desinstalar el VSPackage simplemente "deshacer" lo que hizo para instalar vsPackage. Las acciones personalizadas descritas en Comandos que deben ejecutarse después de la instalación deben ejecutarse también después de una desinstalación. Dado que las llamadas a devenv.exe se producen justo antes de la acción estándar InstallFinalize para la instalación y desinstalación, las entradas de la tabla CustomAction e InstallExecuteSequence sirven en ambos casos.

Nota:

Ejecute devenv /setup después de desinstalar un paquete MSI.

Como regla general, si agrega acciones personalizadas a un paquete de Windows Installer, debe controlar esas acciones durante la desinstalación y la reversión. Si agrega acciones personalizadas para registrar automáticamente el VSPackage, por ejemplo, debe agregar acciones personalizadas para anular el registro también.

Nota:

Es posible que un usuario instale el VSPackage y, a continuación, desinstale las versiones de Visual Studio con las que está integrado. Puede ayudar a garantizar que la desinstalación de VSPackage funcione en ese escenario eliminando acciones personalizadas que ejecutan código con dependencias en Visual Studio.

Controlar las condiciones de inicio en el momento de la desinstalación

La acción estándar LaunchConditions lee las filas de la tabla LaunchCondition para mostrar los mensajes de error si no se cumplen las condiciones. A medida que las condiciones de inicio se usan generalmente para asegurarse de que se cumplen los requisitos del sistema, normalmente puede omitir las condiciones de inicio durante la desinstalación agregando la condición , NOT Installeda la fila LaunchConditions de la tabla LaunchCondition.

Una alternativa es agregar OR Installed a las condiciones de inicio que no son importantes durante la desinstalación. Esto garantiza que la condición siempre será true durante la desinstalación y, por tanto, no mostrará el mensaje de error de la condición de inicio.

Nota:

Installed es la propiedad que Establece Windows Installer cuando detecta que el VSPackage ya se ha instalado en el sistema.