【发布时间】:2015-04-06 10:41:37
【问题描述】:
unpacker 我找到了我要找的东西,他应该在安装后解压文件 这是InnoUnzip.ZIP
我的安装程序文件夹如下所示:
我的代码:
[Setup]
AppName=My Program
AppVersion=1.0
DefaultDirName={pf}\My Program
DisableProgramGroupPage=yes
UninstallDisplayIcon={app}\MyProg.exe
OutputDir=userdocs:Inno Setup Examples Output
[Files]
Source: "unzipper.dll"; Flags: dontcopy
Source: "MyProg.exe"; DestDir: "{app}"
Source: "Somefile.zip"; DestDir: "{app}"; AfterInstall: ExtractMe('{app}\Somefile.zip', '{app}');
[Icons]
Name: "{commonprograms}\My Program"; Filename: "{app}\MyProg.exe"
Name: "{commondesktop}\My Program"; Filename: "{app}\MyProg.exe"
[Code]
procedure unzip(src, target: AnsiString);
external 'unzip@files:unzipper.dll stdcall delayload';
procedure ExtractMe(src, target : AnsiString); - ERROR HERE!!!!!
begin
unzip(ExpandConstant(src), ExpandConstant(target));
end;
文本错误:“Extract Me”的原型无效
【问题讨论】:
-
您正在使用 Unicode Inno 安装程序,该安装程序需要该
AfterInstall原型的 Unicode 字符串。使用这个procedure ExtractMe(src, target: string);。然后,当您将这些参数传递给插件类型转换unzip(AnsiString(ExpandConstant(src)), AnsiString(ExpandConstant(target)));时。无论如何,那个插件有点懒惰,我相信它的整个代码可以直接从 Inno Setup 脚本执行。