Ich muss ein paar Installer im gleichen Verzeichnis installieren, damit es mit dem Inno-Setup-Deinstallationsprogramm-Namen unins000.exe
und unins000.dat
Gibt es eine Möglichkeit, den Standardnamen eines Inno-Setup-Deinstallationsprogramms zu ändern?
Das ist der Antwort von Elektrostudios ähnlich, und das hat bei mir funktioniert:
%Vor%Unter Windows 7 habe ich festgestellt, dass der "Move" -Befehl nicht funktionieren würde, wenn ich nicht die Dateien zuerst verschieben müsste, was bedeutet, dass ich die mkdir-Zeile ganz oben hinzufügen müsste. Außerdem würde das Deinstallationsprogramm nicht funktionieren, ohne dass die .msg-Datei ebenfalls verschoben wurde. Daher folgte ich dem Muster und fügte auch diese Zeile hinzu.
Ich habe mir nicht die Mühe gemacht, "Windows 8" zu "Windows 7" zu ändern, aber das machte keinen Unterschied, also lasse ich es in Ruhe. Wenn es ein Problem damit gibt, von dem ich nichts achte, bin ich sicher, dass jemand dies in einem Kommentar angeben wird.
{# MyAppName} ist natürlich die Konstante, die am Anfang der ISS-Datei definiert ist und den Namen der Anwendung deklariert. Ihre Konstante wird möglicherweise anders definiert. Sie müssen sie daher ändern, um sie anzupassen, falls erforderlich.
Nein. 'unins' ist in der Namensgenerierungsprozedur der ausführbaren Dateien, Daten und msg-Dateien festgeschrieben, in GenerateUninstallInfoFilename
'procedure in' install.pas 'von inno-setup-Quellen.
GenerateFilenames
sub-Prozedur hat dies:
Dabei ist 'I' eine ganze Zahl und 'BaseDir' wird von UninstallFilesDir
abgeleitet, die Sie ändern können.
Nun, obwohl es noch nicht möglich ist, den Namen des Uninstallers zu ändern, verwende ich Batch-Befehle im Abschnitt run, um das Deinstallationsprogramm umzubenennen und dasselbe in den Registrierungspfaden des Deinstallationsprogramms zu tun:
%Vor%Ich habe das gerade selbst erledigt. Sie sollten die ausführbare Datei des Deinstallationsprogramms nicht verschieben, aus Gründen, auf die Martin Prikryl hingewiesen hat. Aber ich stimme zu, dass es unbefriedigend ist, eine Reihe von nummerierten Deinstallierern in einem Verzeichnis zu haben, in dem es keine offensichtliche Möglichkeit gibt zu sagen, welches das ist.
Es gibt eine Lösung, die die von Inno Setup bereitgestellten Funktionen verwendet. Im Abschnitt [Setup]
:
Dann im Abschnitt [Dirs]
:
Und schließlich erstellen Sie in [Icons]
benannte Verknüpfungen, die auf die Deinstallationsprogramme verweisen, die immer den gleichen Namen haben, weil Sie sie entkoppelt haben:
Damit bleiben Verweise im Betriebssystem nur auf die Deinstallationsprogramme zurück, verbirgt die verwirrenden ausführbaren Namen in einem Ordner, den der Benutzer normalerweise nicht sehen kann, aber dennoch zugreifen kann, und bietet beschreibende, beschreibende Verknüpfungen, die alle im selben Ordner gespeichert werden können. Sie können den Verknüpfungen auch ein gutes Symbol geben. Für ein gutes Maß, vielleicht eine zusätzliche README im Verzeichnis \ EXE löschen, um zu erklären, was gerade passiert, falls jemand neugierig wird (sie werden natürlich).
Inno Setup bietet keine Möglichkeit, das Deinstallationsprogramm zu benennen (oder umzubenennen). Inno Setup kümmert sich selbst um Namenskonflikte.
Beachten Sie außerdem, dass Sie beim Versuch, das Deinstallationsprogramm manuell umzubenennen (wie einige Antworten hier tun), den Verweis auf das Deinstallationsprogramm in Hinzufügen oder Remoteanwendung in der Systemsteuerung aufheben.
Auch wenn Sie die Referenz korrigieren, gibt es ein anderes Problem. Wenn Sie später ein Upgrade durchführen, findet das neue Installationsprogramm keine Protokolle des vorherigen Installationsprogramms und kann diese nicht zusammenführen. Folglich wird eine zukünftige Deinstallation die Anwendung nicht vollständig entfernen. Weitere Informationen finden Sie in der Ergänzung vorhandener Deinstallationsprotokolle in der Inno-Installationsdokumentation.
Tags und Links installer uninstall inno-setup uninstaller