使用 "big" 外部 rar 文件时 InstallShield 错误 1310

InstallShield error 1310 when using "big" external rar file

我有一个部署 2 个文件的 installShield 项目:

  1. 一个大 rar 文件 (3.5GB)
  2. 第 3 方安装文件。

我把两个文件都放在"Files and Folders"(在申请数据下)。

当我构建项目时,它会创建 setup.exe 并将这 2 个文件放在与安装文件和 .msi 文件相同的文件夹中(没关系)。

但是,当我 运行 安装程序时,它会抛出一个错误:"error 1310, error writing to file data.rar , verify that you have access to that directory"

如果我查看安装程序创建的文件夹 - 它有两个文件,但 rar 的大小为 0KB(应为 3.5GB)。第二个文件是正常大小。

即使我以管理员身份启动安装程序也会发生这种情况。

我该如何解决?

谢谢, 诺姆

这是 Microsoft 对 Windows 7 和 MSI 技术的限制。 如果您包含的文件大小超过 2GB,您将在尝试安装时遇到此错误。 请尝试以下可能的解决方法,将您的 2+ GB 文件复制到目标机器:

  1. 在“支持文件”>“高级文件”视图中,将您的文件添加到 Disk1 文件夹下
  2. 创建一个将此文件复制到目标位置的自定义操作。 Disk1 文件夹可以作为 SourceDir 引用。请注意,必须为 SourceDir 解析为 Disk1 文件夹而构建未压缩的版本。如果包含大于 2GB 的文件,则构建未压缩的设置也是一项要求,因为 Microsoft 的 cab 提取实用程序有此大小限制
  3. 从您的组件中删除文件 基本上,不是将文件作为组件的一部分安装,而是创建一个自定义操作,将文件从源位置(磁盘)复制到目标文件夹中。如果使用 InstallScript 自定义操作,则可以使用 XCopyFile 函数。为了获取 SourceDir 和 INSTALLDIR 的值并在 InstallScript 自定义操作中使用它们,您需要使用 MsiGetProperty 函数。