Ich verwende Inno Setup, um meine Python-Anwendung zu installieren und zu aktualisieren.
Beim Update löscht das Installationsprogramm keine Py-Dateien von der vorherigen Installation, was zu zwei Problemen führt:
Ich benutze Plugins: Wenn ich ein Plugin in einer neuen Version lösche, ist es immer noch für Benutzer vorhanden, die ein Update durchgeführt haben.
Beim Deinstallieren einer aktualisierten Installation werden Dateien von den alten Installationen nicht entfernt. (Kann nicht reproduziert werden ...)
Wie kann ich Inno Setup dazu zwingen, meine Anwendung vor dem Upgrade zu deinstallieren?
Hier ist mein Skript:
%Vor%Es ist zwar möglich, die Deinstallation vor einem Upgrade durchzuführen, dies wird jedoch nicht empfohlen.
Stattdessen sollten Sie [InstallDelete]
-Einträge verwenden, um die spezifischen Dateien zu entfernen, die jetzt redundant sind. Sie sollten wissen, welche Dateien das sind.
Es ist zwar möglich, Platzhalter zu verwenden, dies wird jedoch nicht empfohlen (insbesondere keine Platzhalter, die Dateierweiterungen ignorieren), da Benutzerdateien unbeabsichtigt gelöscht werden können, besonders wenn {app}
irgendwo unerwartet ist (vielleicht wurden sie direkt in ihrem Windows Ordner installiert) .
Was Ihre zweite Behauptung betrifft: "Bei der Deinstallation einer aktualisierten Installation werden Dateien aus den alten Installationen nicht entfernt.", das ist einfach nicht wahr. Solange Sie den Ordner AppId
und den Zielordner beibehalten, deinstalliert die Deinstallation alle zuvor installierten Dateien auch nach einem Update. Sie sollten die folgende Einstellung verwenden, um dies sicherzustellen:
Zusätzlich, vorausgesetzt, Sie haben diese Anwendung noch nicht veröffentlicht, sollten Sie stattdessen ihre DefaultDirName
auf {userpf}\YourAppName
ändern; Dies ist ein besserer Speicherort für benutzerspezifische Anwendungen. (Wenn Sie die App bereits freigegeben haben, können Sie diesen Wert trotzdem ändern, vorausgesetzt, Sie ändern AppId
nicht, Sie müssen jedoch berücksichtigen, dass ältere Installationen auf dem älteren Pfad verbleiben.)
Tags und Links inno-setup