Modifier le nom par défaut d'une Inno-Setup programme de désinstallation pour éviter les conflits de noms
J'ai besoin d'installer un couple de installateurs dans le même répertoire, de sorte qu'elle entre en conflit avec l'inno setup programme de désinstallation nom unins000.exe
et unins000.dat
Est-il un moyen de modifier le nom par défaut d'une Inno-Setup programme de désinstallation?
Ce n'est pas possible. Et vous devez éviter d'utiliser des hacks pour les réponses ci-dessous. Renommer le programme de désinstallation des fichiers de briser les mises à niveau. Voir jrsoftware.org/ishelp/index.php?topic=appendnotes
OriginalL'auteur ElektroStudios | 2013-09-04
Vous devez vous connecter pour publier un commentaire.
Ceci est similaire à Elektrostudios réponse, et c'est ce qui a fonctionné pour moi:
À l'aide de Windows 7, j'ai découvert que la commande "Move" ne fonctionne pas, sauf si j'ai eu quelque part à déplacer les fichiers vers la première, ce qui signifie que j'ai dû ajouter de la mkdir ligne en haut. Aussi, le programme de désinstallation ne fonctionne pas sans la .msg fichier déplacé, j'ai donc suivi la tendance et a ajouté que la ligne trop.
Je n'ai pas pris la peine de changer de "Windows 8" pour "Windows 7", mais il n'a fait aucune différence, donc je vais le laisser seul. Si il y a un problème avec ça, je suis pas d', je suis sûr que quelqu'un va l'indiquer dans un commentaire.
{#MyAppName} est, bien sûr, la constante définie à la partie supérieure de l'ISS fichier de déclarer le nom de l'application. Votre constante peut être défini de différentes manières, de sorte que vous aurez besoin de le changer pour correspondre le cas échéant.
Oui, @SertacAkyuz vous avez raison, il n'est pas "changer le programme de désinstallation par défaut nom", cependant, il est une solution de contournement dans l'incapacité de le faire. Ainsi, alors que ce n'est pas une réponse directe à la question à portée de main, il n'résoudre le problème.
Il n'y a aucune garantie que le programme de désinstallation est nommé
unins000.exe
. Le nombre varie, si il y a un autre fichier avec ce nom. Ce qui peut arriver, si vous êtes le déclassement de votre application, par exemple. Voir aussi jrsoftware.org/ishelp/index.php?topic=appendnotesOriginalL'auteur Steven C. Britton
Pas. 'unins' est codé en dur dans le nom de la procédure de génération de l'exécutable, les données et les fichiers msg, dans
GenerateUninstallInfoFilename
' procédure 'installer.pas' inno-setup sources.GenerateFilenames
procédure sub a ceci:Où le 'je' est un entier et "BaseDir" est dérivé de
UninstallFilesDir
que vous pouvez changer.OriginalL'auteur Sertac Akyuz
Inno-t-elle automatiquement lorsqu'il détecte une application différente d'être installé dans le même répertoire (basé sur un autre
AppID
). Il devrait y avoir aucun besoin d'aller derrière son dos et renommer le programme de désinstallation des fichiers.Le fait que quelqu'un qui passait par hasard à travers les dossiers ne peuvent pas les distinguer, ne rend pas le fait que Inno gère automatiquement que c'est mal. Si vous, en tant que développeur veux pour le rendre plus facile, ajouter des raccourcis dans le menu démarrer groupe pointant vers
{uninstallexe}
, point à Ajouter/Supprimer des Programmes de l'applet, ou de définir laUninstallDir
. Inno encore des poignées de différentes applications, il int un même dossier parfaitement bien et par la conception.OriginalL'auteur Deanna
Bien, pendant qu'il est encore impossible de nativelly modifier le programme de désinstallation de nom, alors je vais utiliser les commandes de traitement par Lots à l'exécution de la section de renommer le programme de désinstallation et de faire de même pour le programme de désinstallation de registre, les chemins d'accès:
excellent hack !
OriginalL'auteur ElektroStudios
Justement de traiter avec moi-même. Vous ne devriez pas aller de l'exécutable de désinstallation sur elle-même, pour des raisons Martin Prikryl souligné. Mais je suis d'accord c'est décevant d'avoir un tas de numérotée programmes de désinstallation assis dans un répertoire ayant pas de moyen évident de dire qui est qui.
Il y a une solution en utilisant les installations de Inno Setup fournit. Dans le
[Setup]
section:Puis dans le
[Dirs]
section:Et enfin vous créez nommé raccourcis dans
[Icons]
qui pointent vers les programmes de désinstallation qui vous permettra de toujours avoir le même nom parce que vous avez séquestré:Cela laisse des références dans l'OS pour les programmes de désinstallation seul, se cache la confusion de noms exécutable dans un dossier de l'utilisateur ne sera pas l'habitude de voir, mais peut encore accès, et nommés, descriptif raccourcis qui vivent tous dans le même dossier. Vous pouvez également donner les raccourcis une bonne icône. Pour faire bonne mesure, peut-être déposer un supplément de fichier README dans le \répertoire exe pour expliquer ce qui se passe juste au cas où quelqu'un se fouineuses (ils seront, naturellement).
UninstallFilesDir={app}\<Your Installer Name>
était assez bon pour moiOriginalL'auteur MikeTheCoder
Inno Setup n'offre aucun moyen de vous laisser nom (ou renommer) le programme de désinstallation. Inno Setup prend soin de conflits de noms sur son propre.
Notez également que lorsque vous essayez de renommer le programme de désinstallation manuelle (comme des réponses ici), vous casser la référence pour le programme de désinstallation dans Ajouter ou à distance de l'application dans le Panneau de Contrôle.
Même si vous résoudre la référence, il y a un autre problème. Lorsque vous mettez à niveau plus tard, le nouveau programme d'installation ne sera pas trouver des journaux de la précédente installer et ne pas être en mesure de les fusionner. Par conséquent, un avenir de désinstallation de ne pas supprimer complètement l'application. Voir la Ajoutant à l'Existant, Désinstaller les Logs dans Inno Setup de la documentation.
OriginalL'auteur Martin Prikryl