Bonjour à tous et à toutes...
Après avoir chercher, je pose ma question :
Je souhaite vérifier qu'un programme n'est pas lancé avant de le mettre à jour (en mode update seulement).
Pour faire ceci j'utilise actuellement IssProc.dll, voir le site web.
Seulement, pour les OS 64 bits, lors de la désinstallation la dll IssProc.dll est lockée et ne peut pas être supprimée, il reste alors des fichiers lors de la désinstallation (pas propre).
Je me suis donc penché sur des nouveautées de InnoSetup, à savoir l'évènement RegisterExtraCloseApplicationsResources.
Voilà ce que j'ai compris.
Dans la section [Setup] il faut mettre CloseApplications=yes pour forcer les fichiers exe à être correctement fermées avec MAJ.
RestartApplications=no (ou yes) pour les relancer après fermeture.
Ceci devrait appeler l'évènement Procedure RegisterExtraCloseApplicationsResources(); pour ajouter manuellement des fichier lockés à vérifier.
Rien n'est appelé, je peux faire une mise à jour alors que le fichier est locké.
Je ne sais pas à quoi sert RegisterExtraCloseApplicationsResources(); qui n'est jamais appelé ni la fonction RegisterExtraCloseApplicationsResource.
Aucune personne n'a un exemple, les fichiers iss d'exemple de InnoSetup n'en contienne pas, rien sur internet et une documentation merdique... Enfin bon, comment ça s'utilise, à quoi ça sert vraiment ? Aucune idée.
Donc si quelqu'un peut m'aiguiller ça serait sympa.
Merci d'avance
Partager