【问题标题】:InstallShield error 1310 when using "big" external rar file使用“大”外部 rar 文件时出现 InstallShield 错误 1310
【发布时间】:2018-03-19 16:21:09
【问题描述】:

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

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

我将这两个文件都放在“文件和文件夹”中(在应用程序数据下)。

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

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

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

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

我该如何解决?

谢谢, 诺姆

【问题讨论】:

标签: windows-installer installshield


【解决方案1】:

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

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

【讨论】:

  • 嗨 Yaron,感谢您的见解,但我最终以不同的方式解决了它:我将大 rar 文件压缩成 5 个 zip 文件(拆分),每个 700MB。然后我创建了一个 powershell 脚本,它使用 DotNetZip 将所有这些 zip 提取到原始 rar 文件中。我将此脚本作为自定义操作添加到项目中,一切正常。
猜你喜欢
  • 2010-11-04
  • 1970-01-01
  • 2021-09-25
  • 2021-11-26
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 2021-01-23
相关资源
最近更新 更多