我想使用户能够在特定位置浏览和提取zip文件。
要求/步骤:
DisableDirPage=no
)JDK
)JDK
zip文件,这意味着JDK
应该提取到用户在步骤2中选择的安装目录中。我的代码存在问题
[设置]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
UninstallDisplayIcon={app}\MyProg.exe
DisableProgramGroupPage=no
DisableWelcomePage=no
DisableDirPage=no
Compression=lzma2
SolidCompression=yes
OutputDir=userdocs:Inno Setup Examples Output
[文件]
Source: "{code:GetLicensePath}"; DestDir: "{app}"; Flags: external
Source: "7za.exe"; DestDir: "D:\authorized\Builds\Solo\"; Flags: deleteafterinstall;
[图标]
Name: "{group}\My Program"; Filename: "{app}\MyProg.exe"
[运行]
Filename: D:\authorized\Builds\Solo\7za.exe; Parameters: "x ""{{Code:GetZipPath}}"" -o""{app}\"" * -r -aoa"; Flags: runhidden runascurrentuser;
[代码]
var
Page: TInputFileWizardPage;
DataDir:String;
procedure InitializeWizard();
begin
Page :=
CreateInputFilePage(
wpWelcome,
'Select Zip File Location',
'Where is your Zip file located?',
'Select where Zip file is located, then click Next.');
Page.Add(
'Location of Zip file:',
'*.7z|*.rar|All files|*.*',
'.zip');
// Set initial value (optional)
Page.Values[0] := ExpandConstant('{%USERPROFILE}\Downloads\setup.7z');
;
end;
function GetZipPath(Param: string): string;
begin
DataDir := Page.Values[0];
end;
可以帮我吗?
答案 0 :(得分:1)
自定义页面的顺序由Create*
函数的第一个参数确定。因此,将wpWelcome
更改为wpSelectDir
。
为什么要加倍{{...}}
-这可能是问题所在。 code:
也应小写。
您的脚本化常量函数实际上不会返回任何内容。应该是:
Result := Page.Values[0];