Ändern Sie den Standardnamen eines Inno-Setup-Deinstallationsprogramms, um Namenskonflikte zu vermeiden

7

Ich muss ein paar Installer im gleichen Verzeichnis installieren, damit es mit dem Inno-Setup-Deinstallationsprogramm-Namen unins000.exe und unins000.dat

in Konflikt gerät

Gibt es eine Möglichkeit, den Standardnamen eines Inno-Setup-Deinstallationsprogramms zu ändern?

    
ElektroStudios 04.09.2013, 23:40
quelle

6 Antworten

4

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.

    
Steven C. Britton 05.01.2014, 22:23
quelle
10

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:

%Vor%

Dabei ist 'I' eine ganze Zahl und 'BaseDir' wird von UninstallFilesDir abgeleitet, die Sie ändern können.

    
Sertac Akyuz 05.09.2013 00:33
quelle
7

Inno führt dies automatisch aus, wenn es erkennt, dass eine andere Anwendung in demselben Verzeichnis installiert wird (basierend auf einer anderen AppID ). Es sollte nicht nötig sein, hinter den Rücken zu gehen und die Uninstaller-Dateien umzubenennen.

    
Deanna 13.02.2014 10:50
quelle
6

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%     
ElektroStudios 05.09.2013 03:15
quelle
2

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] :

%Vor%

Dann im Abschnitt [Dirs] :

%Vor%

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:

%Vor%

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).

    
MikeTheCoder 20.10.2017 16:35
quelle
0

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.

    
Martin Prikryl 09.07.2016 05:42
quelle