我正在使用 Inno 安装程序将一些文件从桌面上的源目录复制到运行 Inno 安装程序的目标计算机中的文件夹。但是,在我实际开始传输文件之前,我希望备份某些最终将被覆盖的文件。
我使用 Inno setup 的 [Files]
部分来设置源位置和目标位置
Source: "{#MyLocalDir}\Controller\bin\Release\*"; \
DestDir: "{app}\Controller"; \
Flags: ignoreversion recursesubdirs createallsubdirs;
这工作得很好,但是,我希望将目标文件夹中的一些文件备份到目标文件夹中的另一个目录中,以对文件执行一些审核。我使用下面的代码,但它不起作用
Source: "{app}\Controller\Controller.exe.config"; \
DestDir: "{app}\PrevVersion\Controller\Controller.exe.config"; \
Flags: ignoreversion recursesubdirs createallsubdirs;
它给出了该位置不存在的错误。请帮忙
最佳答案
如果您想从目标计算机复制文件(与从源计算机[编译安装程序的计算机]安装文件相反),则必须使用 external
flag 。这还允许您在 Source
参数中使用常量(例如 {app}
)。
[Files]
Source: "{app}\Controller\Controller.exe.config"; \
DestDir: "{app}\PrevVersion\Controller\Controller.exe.config"; \
Flags: external ignoreversion recursesubdirs createallsubdirs
关于installation - 在 Inno Setup 中安装之前,从目标文件夹中备份文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74533381/