在设置{app}之前获取wpSelectDir中的路径Inno Setup

时间:2017-05-17 02:29:28

标签: window installer inno-setup pascalscript

当我在Inno Setup的wpSelectDir中点击 Next 时,我想获取安装目录的路径。

我需要检查路径,因为我需要验证路径,如果它不正确,我不会让用户继续。

我的问题是常量{app}尚未设置,因为它将在wpSelectDir后设置,而我仍在。

2 个答案:

答案 0 :(得分:2)

你可以这样做......

procedure onDirChange(Sender: TObject);
var
    currentDir: String;
begin
    currentDir := WizardForm.DirEdit.Text;
    // your validation goes here....
end;

procedure InitializeWizard;
begin
    WizardForm.DirEdit.onChange := @onDirChange;
end;

WizardForm.DirEdit.Text返回DirEdit文本框中的当前值。每当dirEdit文本框中的文本发生更改时,都会调用过程onDirChange。您可以使用此值来执行验证。

答案 1 :(得分:2)

使用WizardDirValue support function

  

返回向导的选择目标位置页面上编辑控件的当前内容。

     

ExpandConstant('{app}')不同,如果在显示向导之后但在用户选择目录之前调用此函数,则此函数不会失败。相反,它将返回默认目录名。

它比WizardForm.DirEdit.Text更加惯用。

虽然内部几乎相同:

RemoveBackslashUnlessRoot(WizardForm.DirEdit.Text)

另见How do you find the user-selected install path in Inno Setup?