96 votes

Inno Setup : Comment désinstaller automatiquement la version précédemment installée ?

J'utilise Inno Setup pour créer un programme d'installation.

Je veux que le programme d'installation désinstalle automatiquement la version installée précédemment, au lieu de l'écraser. Comment puis-je faire cela ?

2 votes

Notez que comme mlaan a déclaré il n'est normalement pas nécessaire de le faire avec une installation basée sur Inno, à moins que vous ne mettiez à niveau une version non Inno.

7 votes

Deanna : cela dépend des cas. Pour certains programmes avec des systèmes de plugins automatiques, qui lisent tout ce qui se trouve dans un dossier, la suppression des anciens fichiers est une nécessité absolue lors de l'installation d'une nouvelle version, et le simple fait d'exécuter la désinstallation est généralement le moyen le plus propre de le faire.

1 votes

@Nyerguds Mais InnoSetup s'occupe de cela en ayant une option pour supprimer certains fichiers/dossiers avant que l'installation ne commence (drapeau "InstallDelete") donc vous n'auriez pas besoin de désinstaller l'ancienne version d'abord.

-8voto

N'utilisez pas la section [Run], mais la section [UninstallRun]. En effet, les programmes sous [Run] sont exécutés. après l'installation, ce qui entraîne la désinstallation de votre programme immédiatement après l'installation. Au lieu de cela, la section [UninstallRun] est évaluée. avant l'installation.

4 votes

[UninstallRun] n'est pas une solution à la question.

-9voto

Tonny Nguyen Points 1

Suivez ce lien : http://news.jrsoftware.org/news/innosetup/msg55323.html

Dans la fonction InitializeSetup(), vous pouvez appeler "MSIEXEC /x {votre ID de programme}" après l'invite de l'utilisateur pour désinstaller l'ancienne version.

6 votes

MSIEXEC ne fonctionne que pour les paquets MSI. Cela ne s'applique pas à Inno Setup.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X