Inno setup 如何将同一文件安装到多个位置(Inno安装程序)

Inno setup 如何将同一文件安装到多个位置(Inno安装程序),inno-setup,Inno Setup,我正在尝试找出如何使用Inno Setup installer将文件复制到多个位置 [Files] Source: "myfolder\*" DestDir: {multipe dirs?} 基本上,我有一个函数GetInstallDirs(),它查找注册表位置中的所有键,并使用插件安装路径形成一个数组,并返回一个目录数组。不是为每个目录添加一行,而是有没有一种方法DestDir获取多个目录?所以您想使用DestDir:{code:GetInstallDirs}“ DestDir只能指向单个文

我正在尝试找出如何使用Inno Setup installer将文件复制到多个位置

[Files]
Source: "myfolder\*" DestDir: {multipe dirs?}

基本上,我有一个函数
GetInstallDirs()
,它查找注册表位置中的所有键,并使用插件安装路径形成一个数组,并返回一个目录数组。不是为每个目录添加一行,而是有没有一种方法
DestDir
获取多个目录?

所以您想使用
DestDir:{code:GetInstallDirs}“

DestDir
只能指向单个文件夹

如果需要将同一个文件安装到多个文件夹中,则必须在
[文件]
部分中创建更多条目。请注意,Inno安装程序将被删除

我不知道有什么简单的方法可以通过编程方式创建多个条目

您可以创建“很多”条目,如:

[Files]
Source: "myfolder*"; DestDir: "{code:GetInstallDirs|1}"; Check HasInstallDir(1)
Source: "myfolder*"; DestDir: "{code:GetInstallDirs|2}"; Check HasInstallDir(2)
Source: "myfolder*"; DestDir: "{code:GetInstallDirs|3}"; Check HasInstallDir(3)
...
您可以使用Inno Setup预处理器创建此类条目的大型列表

#define EntryI

#sub AddEntry

Source: "myfolder*"; DestDir: "{code:GetInstallDirs|{#EntryI}}"; \
    Check: HasInstallDir({#EntryI})

#endsub 

#for {EntryI = 1; EntryI <= 100; EntryI++} AddEntry
#定义入口i
#子加法器
资料来源:“myfolder*”;DestDir:{code:GetInstallDirs{EntryI}}”\
检查:HasInstallDir({#EntryI})
#endsub
#对于{EntryI=1;EntryI