2016-03-03 3 views
0

Il n'y a pas si longtemps, j'ai travaillé sur un outil créé pour faciliter la vie des gens. sur AWR.Le fichier .ini n'est pas modifié/mis à jour lors de la mise à niveau avec installshield car certains dossiers ne sont pas supprimés lors de la mise à niveau

J'ai réussi plusieurs corrections et améliorations que j'ai pu distribuer via des programmes d'installation HotFix (il suffit d'écraser les fichiers qui s'y trouvent déjà).

Ma dernière modification/ajout à l'outil nécessite que je crée un programme d'installation complet pour l'outil. Cet outil particulier installe toujours 2 versions, le courant/nouveau et le précédent/ancien, pour donner une transition plus douce aux utilisateurs. Je n'ai jamais fait d'installateur auparavant, donc j'apprends comme je vais.

J'ai été capable de créer un programme d'installation en utilisant le projet installshield précédent en mettant simplement à jour/ajouter/supprimer des fichiers et des dossiers. Cela fonctionne très bien lorsqu'aucune version de l'outil n'est installée sur l'ordinateur et qu'il n'existe aucun fichier/dossier de n'importe quelle version sur les emplacements d'installation.

J'ai regardé en ligne et j'ai trouvé que pour faire un installateur qui va installer sur une version précédente, je devrais faire une mise à niveau majeure avec installshield, ce que j'ai fait après avoir lu cela. Maintenant que le programme d'installation s'installe avec succès sur l'ancienne version, il place les nouveaux fichiers et dossiers sur leur emplacement mais laisse toujours derrière lui un dossier vide particulier, celui de la version 1.1.1.

Cela n'a pas semblé être un problème jusqu'à ce que je me suis rendu compte que le fichier .exe n'a pas réussi à modifier le fichier .ini qu'il doit modifier pour laisser AWR savoir où chercher les scripts. J'ai regardé à travers le code .exe et après avoir exécuté quelques tests, l'exécutant seul, j'ai réalisé le .exe n'est pas le problème, il fait le travail correctement. Après avoir fait de nombreux tests, j'ai trouvé que tant que ces dossiers vides existent, les fichiers .ini ne peuvent pas être modifiés. Je ne sais pas pourquoi puisque le fichier .ini est à peu près un fichier .txt et cela n'a aucun sens qu'il y ait une sorte de dépendance sur le dossier 1.1.1. Donc, mon problème est l'un des deux, soit je dois trouver un moyen de m'assurer que la mise à niveau supprime les dossiers 1.1.1 ou trouver un moyen de modifier les fichiers .ini avec ces dossiers toujours là. J'ai regardé en ligne et chaque solution exige de moi/l'utilisateur de faire manuellement quelque chose et on me demande de faire l'installateur simplement travailler lorsqu'il est utilisé. Ils me demandent de faire en sorte que l'installateur prenne soin de tout et que l'utilisateur ne fasse rien sauf exécuter l'installateur. Comme le programme d'installation fonctionne correctement tant que ces dossiers ne sont pas là, j'ai pensé que m'assurer que l'installateur les enlève est la meilleure solution, mais je suis coincé et je ne sais pas comment procéder.

Nous vous remercions de vos conseils et de votre aide pour ce problème.

Répondre

0

Solution: Tous les fichiers dont j'avais besoin pour être sûrs ont été mis à jour à partir de la liste des composants et ajoutés de nouveau au projet installshield. Depuis que tout cela a été mis à jour correctement et les dossiers ont été supprimés depuis le fichier .exe était le bon.