You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Inno Setup安装时如何从ini文件读取路径并在[Files]段使用

解决方案

步骤1:修正[Code]段的函数定义

Inno Setup 中通过{code:}标记调用的自定义函数,必须接收一个字符串类型的参数(即使你不需要用到这个参数),同时原代码中ini文件路径拼接漏了反斜杠,修正后的代码如下:

function GetDirectoryFromIni(Param: String): String;
begin
  Result := 
    GetIniString('Directories' , 'Name' ,
      ExpandConstant('{app}')+'\Default_Path\' , 
      ExpandConstant('{app}')+'\my_ini_file.ini');
end;

步骤2:修改[Files]段的DestDir配置

使用{code:函数名}的格式调用自定义函数获取返回值作为目标路径,示例如下:

[Files]
Source: "C:\Source_Directory\*.*"; DestDir: "{code:GetDirectoryFromIni}"; \
    Flags: ignoreversion createallsubdirs

注意事项

  • 新增createallsubdirs标记是为了自动创建不存在的多级目录,避免路径不存在导致文件复制失败
  • 该实现完全匹配需求:如果之前安装过且ini文件中存在自定义的Name路径配置,就复用该路径;首次安装找不到对应配置项时,自动使用{app}\Default_Path\作为默认路径

内容的提问来源于stack exchange,提问作者Some1Else

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 17:30:05