如何在Inno Setup中向所有用户的Documents文件夹复制文件?
Inno Setup 多用户Power BI自定义文件复制问题
需求
需要编写Inno Setup安装程序,将安装包中的特定文件复制到Windows机器上每个用户的Documents >> Power BI Desktop >> Custom Connectors和Custom Visuals文件夹中。根据微软文档,这些路径位于每个用户的Documents\Power BI Desktop下,因此需要枚举所有用户配置文件(已通过注册表实现)并复制文件到对应位置,而非仅当前用户。目前已能在所有用户的Documents中创建目标文件夹,但无法成功复制文件,尝试过Inno Setup文档中的CopyFile方法,无效果。
现有实现背景
- 此前仅向当前用户复制文件的写法:
Source: "..\Installer Files\Autodesk Data Connector for Power BI.pqx"; DestDir: "{userdocs}\Power BI Desktop\Custom Connectors"; Flags: ignoreversion; - 现在已将文件先部署到Program Files:
期望从该路径将文件复制到所有用户的Documents对应文件夹中,若思路有误请指正。Source: "..\Installer Files\Autodesk Data Connector for Power BI.pqx"; DestDir: "{commonpf}\Power BI Desktop\Custom Connectors"; Flags: ignoreversion;
已尝试的无效操作
- 直接使用
FileCopy→ 编译器提示Unknown Identifier 'FileCopy' - 添加
uses SysUtils;→ 编译器提示未知指令(Inno Setup不支持) - 从kernel32.dll声明
CopyFileW→ 编译时提示Unknown Identifier 'CopyFileW' - 改用ANSI版本
CopyFileA→ 仍无法妥善处理Unicode/ANSI编码差异
期望目标
能够枚举所有用户配置文件,在安装完成后将指定文件复制到每个用户的Documents >> Power BI Desktop对应子文件夹中,且解决方案不依赖Inno Setup Pascal Script中缺失的功能。若对需求的理解有误,请告知正确实现方法。
内容的提问来源于stack exchange,提问作者Swaminarayan Sharma
相关产品推荐
相关产品推荐

