Ändern Sie den Standardnamen eines Inno-Setup uninstaller, um Namenskonflikte zu vermeiden
Muss ich installieren um ein paar Installer in dem gleichen Verzeichnis, so dass es Konflikte mit dem inno setup uninstaller name unins000.exe
und unins000.dat
Gibt es eine Möglichkeit zum ändern der Standardeinstellung den Namen eines Inno-Setup uninstaller?
- Es ist nicht möglich. Und sollten Sie es vermeiden, die hacks von den Antworten unten. Die Umbenennung der uninstaller-Dateien brechen-upgrades. Siehe jrsoftware.org/ishelp/index.php?topic=appendnotes
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist ähnlich zu Elektrostudios' Antwort, und die ist was für mich gearbeitet:
Unter Windows 7, entdeckte ich, dass der "Move" - Befehl nicht funktionieren würde, es sei denn, ich hatte irgendwo um die Dateien zu verschieben, um zunächst, was bedeutet, dass ich hatte, um die mkdir-Linie an der Spitze. Auch der uninstaller nicht funktionieren würde ohne die .msg-Datei verschoben, so dass ich folgte dem Muster und fügte hinzu, dass auch.
Ich nicht die Mühe zu ändern "Windows 8" auf "Windows 7", aber es machte keinen Unterschied, also bin ich verlassen Sie allein. Wenn es ein problem mit, dass ich bewusst bin, bin ich sicher, dass jemand angeben, wie in einem Kommentar.
{#MyAppName} ist natürlich die Konstante definiert, die an der Spitze der ISS-Datei deklarieren Sie den Namen der Anwendung. Ihre Konstanten können unterschiedlich definiert werden, so müssen Sie ändern, um es zu entsprechen, wo nötig.
unins000.exe
. Die Zahl schwankt, wenn es eine andere Datei, die bereits mit diesem Namen. Was kann passieren, wenn Sie eine Herabstufung Ihrer Anwendung zum Beispiel. Siehe auch jrsoftware.org/ishelp/index.php?topic=appendnotesNicht. 'unins' ist hart codiert in der name-generation-Verfahren der ausführbaren Datei -, Daten-und msg-Dateien in
GenerateUninstallInfoFilename
"- Verfahrens " installieren.pas' von inno-setup Quellen.GenerateFilenames
sub-Prozedur ist diese:Wo 'ich' ist eine ganze Zahl und 'BaseDir' ist abgeleitet von
UninstallFilesDir
die Sie ändern können.Inno tut dies automatisch, wenn es erkennt, dass eine andere Anwendung installiert in das gleiche Verzeichnis (basierend auf einem anderen
Anwendungs-id
). Es sollte keine Notwendigkeit zu gehen, hinter Ihrem Rücken, und benennen Sie die Deinstallationsdateien.{uninstallexe}
, zeigen Sie auf Programme Hinzufügen/Entfernen-applet, oder legen Sie dieUninstallDir
. Inno noch mit verschiedenen Anwendungen int er im gleichen Ordner sehr gut, und durch das design.Behandelt nur mit diesem mich. Sollten Sie sich nicht bewegen Sie den uninstaller ausführbare Datei selbst um, aus Gründen, die von Martin Prikryl hingewiesen. Aber ich Stimme es ist unbefriedigend, ein paar nummeriert Uninstaller sitzen in einem Verzeichnis mit keine offensichtliche Mittel zu sagen, was was ist.
Gibt es eine Lösung, die mit den Einrichtungen Inno-Setup bietet. In der
[Setup]
Abschnitt:Dann in der
[Dirs]
Abschnitt:Und schließlich erstellen Sie benannte Verknüpfungen in
[Icons]
zu den Uninstaller, die immer den gleichen Namen haben, weil Sie haben abgesondert Sie:Diese Blätter Verweise in der OS zu den Uninstaller allein, verbirgt sich die verwirrende ausführbaren Namen in einem Ordner der Benutzer in der Regel nicht sehen, aber es kann noch immer Zugriff, und stellt mit Namen, beschreibende Abkürzungen, die können alle Leben im gleichen Ordner. Sie können auch die Tastenkombinationen ein gutes Symbol. Für eine gute Maßnahme, vielleicht fallen ein extra README-Datei in der \exe Verzeichnis zu erklären, was Los ist, nur für den Fall, jemand wird neugierig (Sie natürlich).
UninstallFilesDir={app}\<Your Installer Name>
war gut genug für michGut, solange es noch nicht möglich nativelly ändern Sie den uninstaller-Namen, dann werde ich über Batch-Befehle ausführen Abschnitt benennen Sie das Deinstallationsprogramm und das gleiche zu tun in der uninstaller registry Pfade:
Inno-Setup bietet keine Möglichkeit, lassen Sie Ihren Namen (oder umbenennen) Sie die uninstaller. Inno Setup kümmert sich um Namenskonflikte auf seine eigenen.
Beachten Sie auch, dass, wenn Sie versuchen, benennen Sie den uninstaller manuell (wie hier einige Antworten tun), brechen Sie den Verweis auf das Deinstallationsprogramm in Hinzufügen oder eine remote-Anwendung in der Systemsteuerung.
Selbst wenn Sie fix mit dem Verweis, es ein anderes problem. Wenn Sie später zu aktualisieren, den neuen installer nicht finden-Protokolle der vorherigen installer und nicht in der Lage sein, miteinander zu verschmelzen. Folglich wird eine Zukunft deinstallation nicht vollständig entfernen Sie die Anwendung. Finden Sie die Anfügen an Vorhandene Protokolle Deinstallieren im Inno-Setup-Dokumentation.