2013-10-23 17 views

Antwort

4

Normalerweise deinstallieren Sie ältere Versionen der Anwendung nicht, wenn Sie ein Upgrade installieren.

Die AppId ist eine Art von verwandten; Wenn Sie zwei Installationsprogramme (oder häufiger zwei Versionen desselben Installationsprogramms) mit der gleichen ID verwenden, bietet Inno standardmäßig die Installation in demselben Ordner wie die vorherige Installation an, und die beiden Benutzer geben Informationen zur Deinstallation weiter.

Im Allgemeinen, wenn eine aktualisierte Version der gleichen Anwendung Freigabe alles, was Sie tun müssen, um sicherzustellen, dass die AppId ist das gleiche wie in der älteren Version (oder die AppName, wenn Sie nicht eine ID angegeben haben), und alles wird nur funktionieren.

Eine Sache, die stark aber (auch für die erste Version) empfohlen wird, ist das folgende in der [Setup] Abschnitt hinzuzufügen:

DisableDirPage=auto 
DisableProgramGroupPage=auto 

Auf diese Weise können die Benutzer wählen, wo man zuerst installieren auf installieren, aber verstecken die Auswahl bei nachfolgenden Installationen/Upgrades. Da Inno ohnehin auf den vorherigen Speicherort verweist, werden mögliche Verwechslungen (und Restdateien) vermieden, die sich aus der Änderung des Installationsorts von einer Installation zur nächsten ergeben können.

Darüber hinaus besteht selten die Notwendigkeit, etwas anderes zu tun. In seltenen Fällen können Sie eine bestimmte Datei, die in einer früheren Version verwendet wurde, überflüssig machen (z. B. keine bestimmte Bibliothek mehr verwenden); Wenn Sie möchten, können Sie damit umgehen, indem Sie einen Eintrag [InstallDelete] verwenden, um Dateien aus früheren Versionen zu entfernen, die nicht mehr benötigt werden. (Stellen Sie immer sicher, dass Sie nur bestimmte Dateien nach Namen löschen - die Verwendung von Platzhaltern ist extrem gefährlich.) Es ist normalerweise nicht viel schädlich, wenn Sie redundante Dateien zurücklassen (wenn sie nicht groß sind) Der Benutzer wird deinstalliert.

Wenn Sie das Verhalten weiter anpassen möchten, gibt es verschiedene Möglichkeiten, die Sie in [Code] tun können.

+1

ab sofort habe ich nicht Benutzer eine Option zur Auswahl, wo zu installieren. Also muss ich AppId und AppName gleich behalten. Vielen Dank :) –

+4

Sie können den 'AppName' ändern, wenn Sie möchten, solange die' AppId' gleich bleibt. Wenn Sie jedoch bereits Software mit einem Skript veröffentlicht haben, für das keine 'AppId' angegeben wurde, müssen Sie Ihre * next * -Version entweder den gleichen' AppName' haben und immer noch keine 'AppId', oder ein' ' AppId' wurde gleich dem 'AppName' der vorherigen Version (ohne eine' AppId') gesetzt. Ich hoffe, das ist klar. :) – Miral

+1

[DisableDirPage] (http://www.jrsoftware.org/ishelp/index.php?topic=setup_disabledirpage) und [DisableProgramGroupPage] (http://www.jrsoftware.org/ishelp/index.php?topic= setup_disableprogramgrouppage) sind jetzt standardmäßig automatisch. –