如何在不安装 Office 的情况下使用安装程序注册 ACEDAO.DLL?

How can I register ACEDAO.DLL using a Setup and without installing Office?

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

我通过修改程序的先前设置(使用打包和部署向导创建)进行了新设置。我认为这是个好主意,因为 PDW 没有找到程序的所有依赖项(以前的设置包含手动添加的文件),所以我添加了 ACEDAO.DLL.

安装程序由:Setup.exe、Setup.Lst(列出所有要安装的文件及其属性)和一堆包含要安装的文件的 .CAB 档案组成。 Setup.Lst关于ACEDAO的行如下:

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

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

ACEDAO.DLL was loaded but entry point for DLLRegisterServer was not found

后来才知道ACEDAO没有DLLRegisterServer功能,所以不能用

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

  1. 如何使用设置注册 ACEDAO?
  2. 知道为什么当我添加 MSO.dll 时设置停止了吗?

我为语法质量道歉,英语不是我的母语。

Replacing/adding 手动 DLL 将无法工作,涉及大量其他文件依赖项 - 例如包装 ACEDAO.DLL 驱动程序的 COM 库。

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

Microsoft Access 数据库引擎 2010 可再发行

您的安装程序需要运行这个来安装所有文件和先决条件。