una subir entradas entrada crear contenido como blog añadir articulo agregar wix uninstaller

entradas - como subir un blog a wix



¿Cómo desinstalas otro programa en el instalador wix? (3)

Perdí el GUID para mi antiguo instalador. Me las arreglé para obtener la id de actualización con Orca, pero todavía no elimina la versión anterior de la lista de programas y características. ¿Cómo puedo desinstalar un viejo msi / bootstrapper con uno nuevo?


Otra forma sería leer la clave de desinstalación (HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall) del registro y buscar el nombre / editor de la aplicación y, si se encuentra una coincidencia, ejecutar el comando UninstallString .


-Haga uso de la API del instalador de Windows: MsiEnumRelatedProducts () para obtener una lista de todos los productos que comparten el mismo UpgradeCode.

https://msdn.microsoft.com/en-us/library/aa370103(v=vs.85).aspx

Esta API devuelve el código del producto de todos los productos instalados en el sistema que comparten el mismo Código de actualización.

Probablemente pueda ver ejemplos del uso de esto en Internet o en el SDK del instalador de Windows.

Espero que esto ayude.

Además, recientemente hubo una pregunta relacionada:

WiX - Permitir una desinstalación * manual * de un msi para desinstalar otro msi que comparte el mismo Código de actualización (y no solo durante el MajorUpgrade)

-El otro enfoque es actualizar su antiguo paquete msi utilizando el nuevo paquete msi.

http://wixtoolset.org/documentation/manual/v3/howtos/updates/major_upgrade.html

Espero que esto ayude.


Si tiene que desinstalar un MSI (es decir, no un programa de arranque), entonces debe poder desinstalarlo con el elemento WIX <Upgrade> , especificándolo allí así:

<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is installed." /> <Upgrade Id="{YOUR-OTHER-STUFF-GUID-HERE}"> <UpgradeVersion OnlyDetect="no" Property="OTHER_STUFF_FOUND" Minimum="0.0.0" /> </Upgrade>

Si tiene algún EXE para desinstalar, no MSI, entonces AFAIK solo una acción personalizada es una solución (simplemente ejecute la línea de desinstalación usando acción personalizada).