Voilà, j'ai une appli que je fais installer via Inno Setup. Mais comme cette appli tourne sous le runtime Paradox 10, Inno se charge aussi de l'install du runtime (il lance son installeur).
Du coup, Inno doit donc pouvoir réaliser les 2 désinstallations.
Pour celà, il doit d'abord commencer par lancer la désinstallation du runtime via la section [UninstallRun]. Or...
1/ Il n'y arrive pas directement :-(
J'ai le message d'erreur suivant : "Impossible d'ouvrir ce package d'installation. Vérifiez qu'il existe et que vous êtes autorisé à y accéder, ou vérifiez auprès de votre revendeur d'applicaztions que ce package de Windows Installer est valide"
Du coup j'ai créé un .bat que lance Inno et qui lui lance la désinstalle du runtime ; et là ça marche.
Voilà ce qui ne marche pas :
[UninstallRun]
Filename: "MsiExec.exe"; Parameters: "/x{{14A...081}}"
Le double { est normal, sinon Inno prend la clé pour une variable.
Et voilà ce qui marche :
Filename: "{app}\batch\UninstRT.bat"; Flags: runminimized
Avec le batch UninstRT.bat dans lequel il y a : MsiExec.exe /x{14A...081}
Quelqu'un sait pourquoi Inno n'arrive pas à lancer lui directement la désinstalle du runtime ?
2/ Sous 2000 et XP je n'ai pas de problème avec ce batch, mais sous 95/98, soit la fenêtre du bach se ferme sitôt la commande exécutée et n'attend pas la fin de l'exécution du programme, soit au contraire elle s'ouvre et ne se ferme jamais.
Du coup, soit Inno poursuit la désinstallation de l'appli avant même celle du runtime car il pense l'opération terminée, soit il ne passe jamais à la désinstallation de l'appli car il attend la fermeture de la fenêtre (la fin de l'exécution pour lui)
Sur le fond il y a 3comportements possibles pour la fenêtre de ligne de commande :
- Soit elle s'ouvre, lance la commande et se ferme automatiquement (95/98)
- Soit elle s'ouvre, lance la commande et attend que le soft ait terminé pour se fermer automatiquement (2000/XP)
- Soit elle s'ouvre, lance la commande mais reste ouverte quelque soit ce qui peut se passer (95/98 avec un "@" devant la ligne de commande dans le batch)
Savez vous quel paramètre utiliser sous 95/98 pour obtenir le même comportement que sous 2000/XP : que la fenêtre de ligne de commande se ferme à la fin de l'exécution du programme ?
3/ Comme Inno effectue 2 désinstallations, et même si l'utilisateur a bien demandé celle de mon appli, j'aimerais demander confirmation pour celle du runtime.
En effet, le mec peut vouloir virer l'appli mais laisser le runtime sous lequel tourne d'autre appli.
Comment faire afficher une boite de dialogue de demander de confirmation avant de lancer l'exécution d'un fichier via [UninstallRun] ?
Merci d'avance
Message édité par -ET- le 27-03-2003 à 16:35:30