Wie zu zeigen/verwenden der vom Benutzer ausgewählte app path {app} in InputDirPage in Inno Setup?
Ich bin momentan dabei, ein Installer mit Inno-Setup. Ich habe zwei Pfade Nutzers. Ein Programm für ausführbare Dateien und andere für die libs. Die Standard-app-Ordner ist {pf}/companyname/applicationname
In der InitializeWizard
ich erstellt habe, die zweite Seite, die den lib-Ordner aus der Benutzer.
Gibt es eine Möglichkeit zum ändern der Standard-lib-Ordner, um die vom Benutzer ausgewählte Ordner {app}
?
Habe ich versucht WizardDirValue
. Es gibt nur die Standard - {app}
Wert und NICHT den Weg der Benutzer ausgewählt hat, in der ersten Seite.
[code]
procedure InitializeWizard();
begin
page2:= CreateInputDirPage(wpProgress,
'Select Library Location', 'Where Library files should be stored?',
'To continue, click Next. If you would like to select a different folder, click Browse.',
False, 'Libs');
page2.Add('');
page2.Values[0] := WizardDirValue+'\libs';
LibDir := page2.Values[0];
end
- Ramnish - bitte poste nur code, der die chance hat, zumindest kompilieren. Sie verwendet 3 verschiedene Namen für den Assistenten, Seite 5 Zeilen code.
- Sie können dies überprüfen, stackoverflow.com/questions/1299336/... und kinook.com/blog/?p=53
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie der name
InitializeWizard()
zeigt Ihnen, es ist ein Initialisierung Funktion, die nur einmal aufgerufen werden, bevor der Assistent angezeigt wird. Sie können dies testen, sich selbst durch festlegen Sie einen Haltepunkt in deinen code - es werden Treffer nur einmal, gleich zu Beginn.Es ist daher der richtige Ort, um fügen Sie eine neue Seite des Assistenten und legen Sie den Standardwert eines Steuerelements, aber es ist unmöglich, reagieren auf Veränderungen anderer Assistenten-Seiten. Was Sie tun müssen, ist, aktualisieren Sie die Bibliothek richtigen Weg, bevor die Seite angezeigt. Der richtige Weg, dies zu tun ist die
NextButtonClick()
Funktion. Hier finden Sie einige Beispiel-code:Diese fügen Ihre Rechte Seite nach der Seite, fragt die
{app}
- Verzeichnis. Da die Benutzer können auf die "Prev" - Taste zum ändern der{app}
Verzeichnis mehrere Male sollten Sie immer aktualisieren Sie die Bibliothek Pfad, wenn Sie Ihre Seite über werden gezeigt:Für bessere usability könnte man auch prüfen, ob die library-Verzeichnis ist der Standardwert, und auch sonst nicht seinen Wert ändern.
Können Sie die ExpandConstant Funktion. In ihm werden alle Inno-Setup-Konstanten ersetzt werden, mit Ihren realen Werten. Zum Beispiel, ExpandConstant('{app}\mydir') werden sollte C:\Program Dateien\\mydir.