我只想将我的设置内容安装到一个特定的目录,所以我希望Next
禁用目录选择页面上的按钮,除非用户选择正确的文件夹进行安装。
如何禁用Next
目录选择页面上的按钮并在用户选择特定目录后立即启用它?
我只想将我的设置内容安装到一个特定的目录,所以我希望Next
禁用目录选择页面上的按钮,除非用户选择正确的文件夹进行安装。
如何禁用Next
目录选择页面上的按钮并在用户选择特定目录后立即启用它?
以下示例显示了如何Next
在您到达SelectDir
页面时禁用该按钮,并仅在您输入(或从浏览目录对话框中选择)C:\MySecretDir
文件夹(MySecretDir
常量)时启用它。比较不区分大小写,因为用户可以输入他(或她)想要的任何内容。
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
[Code]
const
MySecretDir = 'C:\MySecretDir';
procedure OnDirEditChange(Sender: TObject);
begin
WizardForm.NextButton.Enabled := CompareText(WizardDirValue, MySecretDir) = 0;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpSelectDir then
OnDirEditChange(nil);
end;
procedure InitializeWizard;
begin
WizardForm.DirEdit.OnChange := @OnDirEditChange;
end;
或者,如果您只想在所选目录中Next
有特定文件时启用按钮,请以这种方式修改事件处理程序中的代码:MyUniqueFile.exe
OnDirEditChange
procedure OnDirEditChange(Sender: TObject);
begin
WizardForm.NextButton.Enabled := FileExists(AddBackslash(WizardDirValue) +
'MyUniqueFile.exe');
end;
您可以通过禁用目录选择页面来阻止用户更改安装目录。禁用时,安装过程中不会显示该页面。
[SETUP]
DisableDirPage=yes