Erstellen Sie ein Installationsprogramm, das ein update durchführen, wenn eine ältere version bereits installiert ist
Ich versuche zu konfigurieren Inno-setup für meine software (das ist ein c# - software).
Ich Plane die Veröffentlichung vieler Versionen meiner software, die ich ändern möchte das inno-setup-installer-Oberfläche, wenn bereits eine ältere version meiner Anwendung ist bereits auf dem computer installiert.
In diesem Fall, der Benutzer sollte nicht in der Lage sein, ändern Sie das Installationsverzeichnis.
Gibt es vier Fälle:
Ersten Fall: dies ist die erste installation von meinem Produkt, inno setup sollte normal fortgesetzt.
Zweiten Fall: das Produkt bereits installiert ist UND der installer enthält eine neuere version. Der Benutzer kann wählen Sie den Zielordner. Er kann einfach das update ausführen.
Dritten Fall: Wenn das Installationsprogramm enthält eine ältere version als die die installiert haben, die update deaktiviert und eine Nachricht angezeigt werden soll.
Vierten Fall: Die installer-version ist die gleiche, als die installierte version. Der Benutzer kann die Reparatur seiner aktuellen version, wenn nötig.
Ist es möglich, dass mit InnoSetup?
InformationsquelleAutor der Frage Ben | 2013-03-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, um ein feedback für den Benutzer, Sie können versuchen, so etwas wie, dass.
Zuerst von allen, sollten die Aktualisierung haben die gleichen
AppId
Namen als Ihre Haupt-App.Dann können Sie einige Prüfungen, das wird display-Meldungen informieren den Benutzer über den Zustand.
InformationsquelleAutor der Antwort RobeN
Inno Setup schon Griffen die Fälle 1, 2 und 4 automatisch, wenn Ihr
AppID
ist immer die gleiche für die Lebensdauer der Anwendung.Sie können auch ausblenden, die directory-und group-Seiten mit den folgenden
[Setup]
Richtlinien:Sehen diese ISXKB Artikel für mehr details.
Für Fall 3, wenn Ihre Dateien werden versioniert richtig, Inno-nicht downgrade nichts, aber es wird nicht wirklich den Benutzer warnen. Um das zu tun, müssen Sie code hinzufügen, um dies zu überprüfen, wahrscheinlich in der
InitializeSetup()
Ereignis-Funktion.InformationsquelleAutor der Antwort Deanna