我正在开发一个使用 Access 97 数据库(带有 DAO350.DLL)的程序。我的目标是让该程序使用 Access 2007(以及 ACEDAO.DLL),然后在多台计算机(win7 64 位 sp1,完全没有 office)上部署新版本,这些计算机不一定安装了以前版本的程序。
我通过修改程序的先前设置(使用打包和部署向导创建)进行了新设置。我认为这是个好主意,因为 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 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) 我的问题是:
- 如何使用设置注册 ACEDAO?
- 知道为什么当我添加 MSO.dll 时设置停止了吗?
我为语法质量道歉,英语不是我的母语。
最佳答案
手动替换/添加 DLL 是行不通的,这涉及到大量的附加文件依赖项 - 例如包装 ACEDAO.DLL 驱动程序的 COM 库。
您需要包含正确的可再发行组件,可能是:
Microsoft Access Database Engine 2010 Redistributable
您的安装程序将需要运行它来安装所有文件和先决条件。
关于dll - 如何在不安装 Office 的情况下使用安装程序注册 ACEDAO.DLL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39873609/