setup prime msi instalador descargar advanced wix windows-installer uninstall

wix - prime - setup msi download



La cagué, ¿cómo puedo desinstalar mi programa? (7)

Mi instalador de Wix funcionó instalando mi programa, pero está roto para la desinstalación. Un archivo se elimina demasiado pronto y se necesita más adelante. El desinstalador falla y revierte sus cambios.

Esto significa que no puedo eliminar el paquete de mi máquina y, por lo tanto, no puedo instalar más compilaciones de mi instalador (un inconveniente considerable). ¿Cómo puedo forzar la eliminación del paquete?


  1. Encuentre su paquete en C:/Windows/Installer , donde Windows guarda copias de los paquetes MSI instalados. Los nombres se generan de forma aleatoria, por lo que deberá consultar las fechas de creación de los archivos.

  2. Abra el archivo MSI con Orca . (Desafortunadamente, no hay una descarga simple para el instalador de orca. Puede obtenerlo instalando las "Herramientas MSI" del SDK de Windows 10 y luego buscando orca.msi en C:/Program Files (x86)/Windows Kits ).

  3. Elimine la acción personalizada ofensiva de la tabla CustomAction

Ahora deberías poder desinstalar el paquete.

edit : según la respuesta de @ darkrock76 a continuación, la carpeta para el paso 1 también podría ser C:/ProgramData/Package Cache/ . Tengo ambos en mi máquina Windows 7 SP1. No pude encontrar inmediatamente documentación sobre esto.

ACTUALIZACIÓN : Hola Wim, gracias por la buena información de COM sin registro que proporcionaste anteriormente. Un par de actualizaciones sobre este problema de desinstalación: la respuesta de darkrock76s es incorrecta, por favor , vea mi comentario para él a continuación . Además, en lugar de eliminar la acción personalizada en el paso 3 anterior, puede establecer su condición en la tabla InstallExecuteSequence en 0 (cero numérico == falso) para evitar que se ejecute. La eliminación de la entrada de la tabla de acciones personalizadas deja algunas referencias de claves externas rotas (podría fallar en algún punto, supongo). La herramienta Microsoft FixIt también se puede probar antes de recurrir a este truco. Hay algunas alternativas, herramientas / editores / visores de MSI gratuitos (hacia la parte inferior) además de Orca. Tal vez el usuario también debería hacer un zip del MSI original antes de editarlo, pero supongo que eso está implícito. Elimine este comentario desordenado una vez que lo tenga; podría escribir un breve resumen de las diferentes maneras de forzar tales desinstalaciones si tengo tiempo (la herramienta FixIt MS, utilizando actualizaciones menores, edite el MSI en caché directamente, aplique la transformación para el desinstalar, y cualquier otra cosa que haya). Rock en el despliegue :-). Su respuesta de COM sin registro me ha ayudado (a Stein) bastante en el pasado. Muchas gracias.

Y olvidó una cosa: puede encontrar el archivo MSI de caché real utilizando Powershell . Eso fue para un paquete, también puede obtener para todos los paquetes (desplácese hacia abajo hasta la primera captura de pantalla).


Dependiendo de la razón exacta del comportamiento que describió, puede tener al menos un par de opciones.

Si el motivo del error es una acción personalizada que se ejecuta en la desinstalación y esta acción personalizada está condicionada por algunas propiedades en las que puede influir, puede intentar pasar el valor deseado a través de la línea de comandos:

msiexec /x {YOUR-PRODUCTCODE-HERE} RUNMYACTION=false

En este ejemplo, RUNMYACTION es una propiedad de Windows Installer que participa en una condición de acción personalizada, y si pasa false como su valor, la acción no se ejecutará.

De lo contrario, puede arreglar la lógica (o simplemente deshabilitar la acción personalizada explícitamente) y compilar el nuevo paquete MSI. Luego, cárguelo en esa máquina de destino y ejecute así:

msiexec /i YourPackage.msi REINSTALL=ALL REINSTALLMODE=vomus

Aquí YourPackage.msi es un nuevo paquete fijo, REINSTALL=ALL indica a msiexec que vuelva a instalar el producto utilizando este nuevo paquete, y REINSTALLMODE=vomus (la parte v de él) volverá a almacenar en caché el paquete MSI y estará capaz de eliminarlo de la manera normal después.

Una nota al margen: debe probar su instalación en una máquina virtual para no arriesgar su verdadera.


Este comando generalmente funciona para mí:

msiexec /fv installer.msi

Algo así como el instalador, puedes volver a intentarlo con uno corregido.

Una vez este comando no funcionó y tuve que usar Microsoft FixIt. Resolvió el problema (un shock para mí).


FYI: En Windows 8.1 los instaladores se han movido aquí: C: / ProgramData / Package Cache /



Por lo general, busco <Your Installer''s Name>.msi o <Your Installer''s Company Name> en el registro y elimino algunas de las claves de desinstalación de algunos de los Products debajo de los árboles del instalador de Windows y todo funciona bien después, aunque esto DEBERÍA dejar algunas cosas por ahí como instaladores en caché y posiblemente un montón de otras claves de registro para cada archivo instalado, etc., pero SIEMPRE funcionó para mí al desarrollar instaladores porque, honestamente, ¿a quién le importa si queda un MSI y se guarda en algún lugar? Estás utilizando la máquina para el desarrollo de todos modos, ¿verdad?


Si estás realmente desesperado y todas las soluciones anteriores no funcionan, prueba

msizap.exe

Esto borrará todo lo que su instalador puso en una máquina.
POCA ADVERTENCIA

No ejecute msizap sin saber con qué opciones desea ejecutarlo (para obtener una lista de opciones, ejecute msizap /? Primero).