我需要用户浏览到某个文件,选择它,然后将此文件从选定的源复制到app文件夹。
关注这篇文章 How to show/use the user selected app path {app} in InputDirPage in Inno Setup? 和Inno Setup文档,我来到这段代码:
[Files]
Source: {code:GetDBPath}; DestDir: "{app}"; Flags: confirmoverwrite uninsneveruninstall;
[Code]
var
SelectDBPage: TInputDirWizardPage;
DBPath: String;
procedure InitializeWizard;
begin
SelectDBPage := CreateInputDirPage(wpSelectDir, 'Select file', 'Select file', 'Select file', False, '');
SelectDBPage.Add('');
SelectDBPage.Values[0] := ExpandConstant('{src}\DB.FDB');
DBPath := SelectDBPage.Values[0];
end;
function GetDBPath():String;
begin
Result := DBPath;
end;
我的问题是检索文件路径。在'Source:{code:GetDBPath}'指令中,我得到一个'未知文件名前缀{code:'错误。 如何在[文件]部分中引用所选文件路径?
谢谢
答案 0 :(得分:2)
您需要将external
标记添加到[Files]
条目。这意味着将在运行时评估源,并且CAN包括{code:...}
常量。
您在GetDBPath()
功能中也没有获得正确的值。您返回创建页面后未更新的DBPath
值,而不是从SelectDBPage.Values[0]
获取最新值。