2009-06-27 7 views
5

Mon entreprise développe une application qui dépend d'une autre de nos applications. Cette deuxième application a déjà un programme d'installation Inno Setup. Donc je pense que je voudrais regrouper le programme d'installation de la deuxième application dans le programme d'installation Inno Setup pour la première application. Mais je ne suis pas sûr de savoir comment s'y prendre correctement. Est-ce que quelqu'un sait la "bonne façon" de le faire?Exécution d'un autre programme d'installation dans une installation Inno Setup

J'ai trouvé ceci: Inno Setup Knowledge Base—HOWTO: Install .MSI files. Je suppose que la technique pourrait être utilisée pour un programme d'installation Inno Setup imbriqué. Mais j'ai quelques questions au sujet des détails fins:

  1. Comment pourrais-je faire ainsi si la première application est désinstallée, la deuxième est également désinstallée?
  2. Est-ce une bonne chose à faire (désinstaller automatiquement la deuxième application), ou devrais-je laisser l'utilisateur le faire manuellement?
  3. Si l'utilisateur essaie de désinstaller la deuxième application alors que la première est désinstallée, devrais-je la détecter et donner un avertissement? Comment pourrais-je faire ça?

Répondre

2

Pour le niveau de fonctionnalité de programme de désinstallation dont vous parlez, je vous suggère de vous familiariser avec les scripts pascal dans Inno Setup (si ce n'est pas déjà fait). Il offre une personnalisation incroyable, mais a l'inconvénient de rendre vos projets beaucoup plus complexes.

Pour répondre à votre troisième question première:

Oui, vous devriez le faire. Pour le faire correctement, vous devez ajouter cette fonctionnalité au programme de désinstallation de la deuxième application (c'est-à-dire celle dont dépend votre application). Voir Uninstall event functions dans l'aide d'Inno Setup. Vous devez vérifier dans ce programme de désinstallation si votre application est installée (en vérifiant par exemple si HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\SecondAppName existe) et dans ce cas, afficher un avertissement supplémentaire.

Quant à votre deuxième question:

S'il est à distance possible que votre client souhaite continuer à utiliser la seconde application, même s'il décide qu'il veut désinstaller le premier, vous devriez lui offrir le choix. Je le ferais avec une page d'assistant séparée dans le programme de désinstallation de votre application, après la désinstallation de votre application.

Et enfin, votre première question:

Vous devez déterminer le nom (chemin complet) de désinstalleur exe de l'autre application. Vous pouvez le récupérer à partir de la clé de registre HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\SecondAppName\UninstallString. Pour l'exécuter à partir d'un script dans la section [CODE], voir Exec dans l'aide d'Inno Setup.

+1

Partagez du code! – tmighty

Questions connexes