Access中的ActiveX依赖项

时间:2009-04-22 17:05:21

标签: ms-access crystal-reports activex dependencies dll

我在Access窗体(版本2007,2003格式)中使用Crystal Reports Viewer 11 ActiveX控件。在我的开发机器上,一切都运行良好,我安装了CRXI。我将引用的DLL复制到客户端的机器上,但是当我尝试注册它时,它会显示“找不到模块”(我对我的拼写进行了双重和三重检查),当我尝试打开表单时它告诉我“当代码尝试创建报表对象的新实例时,ActiveX组件无法创建对象。我怀疑DLL需要更多的依赖文件,但我有点不知道是什么以及我如何找到它。虽然我正在使用CR控件,但我认为这适用于任何抛出此错误的ActiveX控件。感谢。

2 个答案:

答案 0 :(得分:0)

Crystal Help文件中应该有一个运行时分发文档 - 根据过去的经验(Crystal 8.5),您必须分发和注册多个文件。

答案 1 :(得分:0)

我正在回答我自己的问题,以防将来通过搜索找到这个问题。我没有Access Package&部署向导大卫上面提到的(好吧,我可能已经拥有它但很难找到它)但我想它可能会做我需要的,所以我建议任何人先尝试。相反,我能够使用Visual Studio Installer和Crystal合并模块创建一个安装程序来安装所需的文件;请注意,虽然并不困难,但也不愉快。

我从MSDN下载并安装了Visual Studio Installer 1.1。这将在Visual Studio 6.0中创建一个新项目类型(特别是,我使用InterDev 6.0),它创建一个Windows Installer(* .msi)安装文件。因为其中一个Crystal合并模块需要Crystal许可证密钥而VSI不支持合并模块参数,所以我还必须使用Orca,一个合并模块编辑器,可从Microsoft Windows SDK获得(也可以在Microsoft下载站点上找到) )。我建议您阅读MSDN上的SDK和Orca页面以获取更多信息。使用Orca,我能够放置我的密钥代码并重新编译合并模块,因此我不必将我的密钥部署到我的用户,我的用户也不必输入密钥。

再一次,包装&部署向导可能是一个更好的选择,但是当面对使用合并模块时,与Crystal一样,此方法将完成工作。