如何使用安装程序注册ACEDAO.DLL而无需安装Office?

时间:2016-10-05 12:10:46

标签: dll vb6 ms-access-2007

我正在开发一个使用Access 97数据库(使用DAO350.DLL)的程序。我的目标是使该程序使用Access 2007(以及ACEDAO.DLL),然后在几台计算机上部署新版本(win7 64bits sp1,根本没有办公室),这些计算机不一定安装了以前版本的程序。

我通过修改程序的前一个设置(使用Package& Deployment Wizard创建)进行了新的设置。我认为这是个好主意,因为PDW没有找到程序的所有依赖项(以前的设置包含手工文件),所以我添加了ACEDAO.DLL。

设置包括:Setup.exe,Setup.Lst(列出要安装的所有文件及其属性)和一堆包含要安装的文件的.CAB存档。 关于ACEDAO的Setup.Lst行如下:

File97=@ACEDAO.dll,$(CommonFiles)\Microsoft Shared\OFFICE12\,$(DLLSelfRegister),$(Shared),08/21/11 04:52:00 PM,573440,12.0.6650.5000

当我在其他电脑上执行安装程序时,出现此错误:

  

已加载ACEDAO.DLL但DLLRegisterServer的入口点未加载   结果

之后我了解到ACEDAO不包含DLLRegisterServer函数,因此无法正常工作。

此外,ACEDAO需要MSO.dll。当我将MSO添加到安装程序时,此文件将永远从.Lst文件的[Bootstrap Files]部分继续加载最后一个文件(VB6FR.DLL): Traitement de VB6FR.DLL (9/9) 我的问题是:

  1. 如何使用设置注册ACEDAO?
  2. 当我添加MSO.dll时,知道为什么设置会停止吗?
  3. 我为语法质量道歉,英语不是我的母语。

1 个答案:

答案 0 :(得分:2)

手动替换/添加DLL不起作用,涉及一大堆额外的文件依赖 - 例如包装ACEDAO.DLL驱动程序的COM库。

您需要包含正确的可再发行组件可能

Microsoft Access Database Engine 2010 Redistributable

您的安装程序需要运行此命令才能安装所有文件&先决条件。