Failed to copy payload for Microsoft Visual C++


【问题描述】Failed to copy payload for Microsoft Visual C++ 2015 (中文提示为:无法复制 Microsoft Visual C++ 2015 )
安装Bentley软件时,一开始就弹出如下报错,无法继续。(新版软件会提示 Visual C++ 2015-2019,如下第二个截图所示

【原因1】如果是在线安装failed to copy payload for xxx 通常表示某个文件或安装程序下载失败,for 后面的名字就是下载失败的程序名称。VC++的特点是它在下载过程中会先校验C:\Users\您的windows用户名\Downloads\文件夹中是否有同名文件,如果有而且与将要下载的VC++版本不同,就会报错。

【解决方法1】
1. 打开C:\Users\您的windows用户名\Downloads\找到 vc_redist.x64.exe 并删除。
2. 打开C:\Users\您的windows用户名\AppData\Local\Temp\ 删除这里的临时文件。
3. 重新安装Bentley软件。

【原因2】如果是用离线包来安装,则VC++这个程序已经在离线包中了,但它无法被复制到Package Cache目录(默认是 C:\ProgramData\Package Cache)来进行下一步的安装。这种拷贝受限的情况通常是系统权限配置过高或杀毒软件阻挡引起的。

【解决方法2】
如果机器能上网,可以考虑把离线包中的exe主安装程序(如Setup_MicroStationx64_23.00.00.108.exe)单独拷出,保存到另一个位置,然后右键 > 以管理员身份运行,进行安装。当然,这里要按照上述【解决方法1】预先检查一下。在线安装时,软件对应的组件会直接下载到 Package Cache 目录(默认是 C:\ProgramData\Package Cache)进行安装,从而避开了拷贝失败的问题。

如果机器无法上网,则可以尝试修改Package Cache 目录(默认是 C:\ProgramData\Package Cache)到D盘的某个位置,因为C盘作为系统盘比较敏感,有些路径不允许拷贝。
修改Package Cache的目录的方法,请参考如下Wiki:
如何重定向缓存包-Package Cache - 技术资料库 - Bentley 中国优先社区 - Bentley Communities