近几天打包程序用到这软件, 感觉不错, 把自己遇到的几个问题贴上来, 做个记录
1. 关于打包文件夹的问题: 默认向导会把文件夹下的文件一起扔到程序目录, 所以需要做小小的修改
Source: "THE\\PATH\\TO\\YOUR\\DIR\\*"; DestDir: "{app}\DIR"; Flags: ignoreversion
2. 关于.NET组件支持: 网上转帖略不负责, 有的缺标点, 有的缺逻辑, 还需自己稍微动手改一下(下面的代码段已经过本人实际验证)
[Files]
Source: "THE\\PATH\\TO\\.NET\\dotNetFx40_Full_x86_x64.exe"; DestDir: "{tmp}"; Flags: ignoreversion
[code]
function CheckDotNet4_0():boolean;
begin
Result:=not RegKeyExists(HKLM, 'SOFTWARE\Microsoft\.NETFramework\policy\v4.0');
end;
function InitializeSetup(): Boolean;
var Path:string;
ResultCode: Integer;
begin
if CheckDotNet4_0() then
begin
if MsgBox('检测到您的系统没有安装.Net Framework4.0,是否现在安装?', mbConfirmation, MB_YESNO) = idYes then
begin
ExtractTemporaryFile('dotNetFx40_Full_x86_x64.exe');
Exec(ExpandConstant('{tmp}\dotNetFx40_Full_x86_x64.exe'), '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
Result:= true;
end
else
begin
MsgBox('您没有安装.Net Framework4.0环境,安装程序将退出!',mbInformation,MB_OK);
Result := false;
end;
end
else
begin
Result:= true;
end;
end;
参考出处: The Inno Setup packaged Tools Summary