2

我正在编写的 Access 应用程序中使用 Crystal Report 10 查看器 ActiveX 控件。在 32 位版本的 Windows 上的 Office 2003 中运行良好。当我尝试在 64 位 Windows(使用 32 位 Office)中运行程序时,问题就出现了。我收到以下错误:

运行时错误“429”:ActiveX 组件无法创建对象

我在 VBA 代码的以下行中收到此错误。

Set rdApp = CreateObject("Crystalruntime.application.10")

我怎样才能让它在 64 位上工作?

4

1 回答 1

1

我对 Crystal Report 没有任何具体经验,但我确实有一些在 64 位 Windows 环境中安装用于 32 位 Windows 的组件的经验,所以这里有一些一般性的尝试建议:

  • 在安装之前,尝试放松安全权限 - 我有 Windows Server 2008;在此操作系统上,它们位于开始 | 管理工具 | 本地安全策略。许多旧的安装程序都受到这些控件的阻碍。您需要在安装后将它们恢复为默认值。
  • 确保以管理员权限运行安装程序(右键单击;以管理员身份运行)。
  • 检查 Crystal Report 的安装日志 - 它可能表明注册组件失败。在一个实例中,我能够通过在管理员权限的命令行上运行命令来手动注册失败的组件(该命令在日志中)来使安装正常工作。
  • 如果可以接受,请尝试创建运行虚拟 Windows XP 的Windows 虚拟机,并尝试在那里进行安装(这可能有点乏味,因为您需要 MS Office)。
  • 看看VMWare 的 ThinApp——它旨在为管理员打包应用程序,但这是我们最终用来保护我们的一个 32 位应用程序免受 Windows 64 位危险的解决方案

希望这可以帮助; 我们挣扎了一段时间,尝试不同的方法来让我们的旧版应用程序在 64 位环境下运行。

于 2013-05-16T17:36:14.873 回答