Zitat von
The Knight:
In dem Installationspfad soll daher ein ganz bestimmter Pfad stehen. Inno soll also zur Regsitry connecten und dort aus einem bestimmten Eintrag einen Wert auslesen (das ist ein Pfad). Dieser Pfad (oder Variable...) soll dann den Wert der Variable bilden, die für den Installationspfad verwendet wird.
Auch das lässt sich über die eingebaute Skriptsprache machen. Wenn du dir mal das Beispiel "CodeSample1.iss" ansiehst, da steht folgendes:
[code=pre][Setup]
DefaultDirName=
{code:MyConst}\My Program
Code:
function MyConst(Default: String): String;
begin
Result := ExpandConstant('{pf}');
end;
Wichtig ist eigentlich der fett markierte Teil, der auf die entsprechende Funktion in der "Code"-Sektion verweist. Ähnlich wie bei deinem alten Problem könntest du auch hier wieder auf die Registry zugreifen und den entsprechenden Wert auslesen. Ggf. solltest du im Setup auch
Code:
[Setup]
DisableDirPage=yes
setzen, damit der User gar keine Chance hat, ein anderes Verzeichnis zu wählen. Ist für einen Patch ohnehin die beste Lösung. Es setzt aber voraus, dass du tatsächlich in der Registry genug Infos findest, um das bereits installierte Spiel zu finden.
Du musst mal in die Hilfe schauen. Es gibt noch ein paar "Disable*"-Direktiven, mit denen du bspw. auch die Auswahl der Programmgruppe usw. verhindern kannst.
Zitat:
PS: Kann man mit Inno eigentlich auch solche Vollbild-Hintergründe machen, wie mit InstallShield?
Zitat von
Phoenix:
Zum Glück nicht.
Eine glatte Lüge
Code:
[Setup]
WindowVisible=yes
WindowShowCaption=no ; <-- optional ohne Titelzeile
Aber zugegeben, schön sieht so was nicht aus.