2017-07-10 1 views
4

Est-il possible de dire à Innosetup de désinstaller la version 32 bits de l'application (qui réside habituellement dans Program Files (x86)) afin d'installer la version 64 bits de l'application (habituellement dans Program Files). Si la version 32 bits n'est pas désinstallée, le bot commencera au démarrage, ce qui causera des problèmes.Désinstallez l'application 32 bits et installez l'application 64 bits

Je ne sais pas s'il existe une procédure pour cela. Compte tenu du fait que l'application 64 bits sera fondamentalement une application différente, essayer de désinstaller l'application 32 bits semble comme essayer de désinstaller une application non-connexe. La motivation sera que de moins en moins de fournisseurs offrent un support pour les bibliothèques 32 bits. Par exemple, il n'y a pas de bibliothèques 32 bits pour Qt pour msvc2017. Donc, plus tôt je passerai à 64 bits, mieux ce sera. Remarque: si cela n'est pas possible dans Innosetup, toute autre alternative est la bienvenue.

Répondre

0

Il suffit de désinstaller la précédente version 32 bits, comme toutes les autres.

Voir How to detect old installation and offer removal?

Il devrait fonctionner presque hors-the-box, aussi longtemps que les deux programmes d'installation pour 32 bits et la version 64 bits ont le même AppId. La seule différence est que vous devez rechercher explicitement la clé de désinstallation dans HKLM32 (ruche 32 bits) au lieu de HKLM/HKEY_LOCAL_MACHINE (par défaut, ruche 64 bits dans 64-bit install mode). Si vous désinstallez la version 32 bits de InitializeSetup déjà, comme la réponse acceptée à la question ci-dessus montre, Inno Setup ne remarquera pas que la version 32 bits a déjà existé et va même "réinitialiser" le chemin d'installation par défaut vers le dossier Program Files 64 bits.

+0

Cela ne semble pas fonctionner. J'ai utilisé le code des réponses que vous avez décrites et l'installation 32 bits n'est pas détectée. L'installation 64 bits ne semble détecter qu'une ancienne installation 64 bits. –

+0

Voir ma réponse éditée. –