Microsoft Office Access:“加载 dll 时出错”

症状

尝试在 Microsoft Office Access 中运行向导(如导入向导、查询向导、报表向导和控制向导)时,会收到以下错误之一:

“加载 dll 时出错”

“未注册对象库”

原因

以下注册表项之一可能不存在。

ACEDAO.DLL

MSI 安装

  • (64 位 Windows、32 位 Office) :

    HKEY_CLASSES_ROOT\ TypeLib\{4AC9E1DA-5BAD-4AC7-86E3-24F4CDCECA28}\c.0\0\win32

    字符串: (默认)

    :C:\Program Files (x86) \Common Files\Microsoft Shared\OFFICE14\ACEDAO.DLL

  • (64 位 Windows、64 位 Office) :

    HKEY_CLASSES_ROOT\ TypeLib\{4AC9E1DA-5BAD-4AC7-86E3-24F4CDCECA28}\c.0\0\win64

    字符串: (默认)

    :C:\Program Files\Common Files\Microsoft Shared\OFFICE14\ACEDAO.DLL

  • (32 位 Windows、32 位 Office) :

    HKEY_CLASSES_ROOT\ TypeLib\{4AC9E1DA-5BAD-4AC7-86E3-24F4CDCECA28}\c.0\0\win32

    字符串: (默认)

    :C:\Program Files\Common Files\Microsoft Shared\OFFICE14\ACEDAO.DLL

备注

OFFICE14用于上述注册表项路径。 这应表示安装的 Access 的当前版本。

  • OFFICE12 - Access 2007
  • OFFICE14 - Access 2010
  • OFFICE15 - Access 2013
  • OFFICE16 - Access 2016

即点即用安装

  • (64 位 Windows、32 位 Office) :

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\ClickToRun\REGISTRY\MACHINE\SOFTWARE\Classes\TypeLib\{4AC9E1DA-5BAD-4AC7-86E3-24F4CDCECA28}\c.0\0\win32

    字符串: (默认)

    :C:\Program Files (x86) \Common Files\Microsoft Shared\OFFICE16\ACEDAO.DLL

  • (64 位 Windows、64 位 Office) :

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\ClickToRun\REGISTRY\MACHINE\SOFTWARE\Classes\TypeLib\{4AC9E1DA-5BAD-4AC7-86E3-24F4CDCECA28}\c.0\0\win64

    字符串: (默认)

    :C:\Program Files\Common Files\Microsoft Shared\OFFICE16\ACEDAO.DLL

  • (32 位 Windows、32 位 Office) :

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\ClickToRun\REGISTRY\MACHINE\SOFTWARE\Classes\TypeLib\{4AC9E1DA-5BAD-4AC7-86E3-24F4CDCECA28}\c.0\0\win32

    字符串: (默认)

    :C:\Program Files\Common Files\Microsoft Shared\OFFICE16\ACEDAO.DLL

DAO360.DLL

  • (64 位 Windows、32 位 Office)

    HKEY_CLASSES_ROOT\TYPELIB\{00025E01-0000-0000-C000-000000000046}\5.0\0\win32

    字符串: (默认)

    :%CommonProgramFiles (x86) %\Microsoft Shared\DAO\dao360.dll

  • (64 位 Windows、64 位 Office) 或 (32 位 Windows、32 位 Office)

    HKEY_CLASSES_ROOT\TYPELIB\{00025E01-0000-0000-C000-000000000046}\5.0\0\win32

    字符串: (默认)

    :%CommonProgramFiles%\Microsoft Shared\DAO\dao360.dll

解决方案

若要通过在注册表中为这些 dll 设置正确的值来解决 MSI 安装的问题,请转到 “让我自己修复它” 部分。 若要解决 Office 的即点即用安装问题,请对 Office 安装执行联机修复。 有关如何修复的详细信息,请参阅 修复 Office 应用程序

我自己修复此问题

以下步骤通过在注册表中为这些 dll 设置正确的值来解决此问题。

警告

如果使用注册表编辑器或使用其他方法错误地修改了注册表,则可能会发生严重问题。 这些问题可能需要重新安装操作系统才能解决。 Microsoft 不能保证可以解决这些问题。 修改注册表的风险由您自行承担。

为 MSI 安装重新创建密钥的步骤:

  1. 打开 记事本。

  2. 从“Windows 注册表编辑器版本 5.00”开始,将环境的以下文本行复制并粘贴到记事本文档中:

    • (64 位 Windows、32 位 Office) :

      控制台
      Windows Registry Editor Version 5.00
      [HKEY_CLASSES_ROOT\TypeLib\{00025E01-0000-0000-C000-000000000046}\5.0\0\win32]
      @=hex(2):25,00,43,00,6f,00,6d,00,6d,00,6f,00,6e,00,50,00,72,00,6f,00,67,00,72,\
        00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,28,00,78,00,38,00,36,00,29,00,\
        25,00,5c,00,4d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,00,74,00,20,00,53,\
        00,68,00,61,00,72,00,65,00,64,00,5c,00,44,00,41,00,4f,00,5c,00,64,00,61,00,\
        6f,00,33,00,36,00,30,00,2e,00,64,00,6c,00,6c,00,00,00
      [HKEY_CLASSES_ROOT\TypeLib\{4AC9E1DA-5BAD-4AC7-86E3-24F4CDCECA28}\c.0\0\win32]
      @="C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\OFFICE14\\ACEDAO.DLL"
      
    • (64 位 Windows、64 位 Office) :

      控制台
      Windows Registry Editor Version 5.00
      [HKEY_CLASSES_ROOT\TypeLib\{00025E01-0000-0000-C000-000000000046}\5.0\0\win32]
      @=hex(2):25,00,43,00,6f,00,6d,00,6d,00,6f,00,6e,00,50,00,72,00,6f,00,67,00,72,\
      00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,25,00,5c,00,4d,00,69,00,63,00,\
      72,00,6f,00,73,00,6f,00,66,00,74,00,20,00,53,00,68,00,61,00,72,00,65,00,64,\
      00,5c,00,44,00,41,00,4f,00,5c,00,64,00,61,00,6f,00,33,00,36,00,30,00,2e,00,\
      64,00,6c,00,6c,00,00,00
      [HKEY_CLASSES_ROOT\TypeLib\{4AC9E1DA-5BAD-4AC7-86E3-24F4CDCECA28}\c.0\0\win64]
      @="C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\ACEDAO.DLL"
      
    • (32 位 Windows、32 位 Office) :

      控制台
      Windows Registry Editor Version 5.00
      [HKEY_CLASSES_ROOT\TypeLib\{00025E01-0000-0000-C000-000000000046}\5.0\0\win32]
      @=hex(2):25,00,43,00,6f,00,6d,00,6d,00,6f,00,6e,00,50,00,72,00,6f,00,67,00,72,\
      00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,25,00,5c,00,4d,00,69,00,63,00,\
      72,00,6f,00,73,00,6f,00,66,00,74,00,20,00,53,00,68,00,61,00,72,00,65,00,64,\
      00,5c,00,44,00,41,00,4f,00,5c,00,64,00,61,00,6f,00,33,00,36,00,30,00,2e,00,\
      64,00,6c,00,6c,00,00,00
      [HKEY_CLASSES_ROOT\TypeLib\{4AC9E1DA-5BAD-4AC7-86E3-24F4CDCECA28}\c.0\0\win32]
      @="C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE14\\ACEDAO.DLL"
      
  3. 确保路径中指定的 office 版本 (OFFICE14) 与本文开头列表中的相应值匹配。

  4. 将记事本文件另存为Win32Keys.reg。

  5. 执行下列操作之一:

    • 使用 Windows 资源管理器,双击 Win32Keys.reg 文件以运行它。
    • 在注册表编辑器中,转到“文件导入”>,浏览到保存Win32Keys.reg文件的位置,然后单击“打开”。

更多信息

注册表清理器不知道删除 HKEY_CLASSES_ROOT\TYPELIB\{00025E01-0000-0000-C000-000000000046}\5.0\0\win32 32 位版本的 Windows 上的密钥。 但是,如果遇到“加载 dll 错误”错误,则可能已安装错误注册 dao360.dllmsado15.dll的程序。