如何在 Access 2010 中更改 Microsoft Office Soap Type Library 的路径?

如何在 Access 2010 中更改 Microsoft Office Soap Type Library 的路径?

在此处输入图片描述

我在 Microsoft Share 文件夹中有 OFFICE14 和 OFFICE16。我有两个问题:

  1. 如您所见,路径中的最后几个字被剪掉了。我如何在这里查看完整路径。
  2. 如何更改 MS Office Soap 类型库的路径。

对此完全感到困惑,因为正如您所见,屏幕上没有很多选项可以编辑路径。

答案1

如您所见,路径中的最后几个字被剪掉了。我如何在这里查看完整路径。

您不能使用浏览按钮并导航到文件夹。Office 14 是 Office 2010,Office 15 是 Office 2013,而 Office 2016-2021 是 Office 16(每个都是多个 Office 16 版本)。

如何更改 MS Office Soap 类型库的路径。

删除列出的版本并使用浏览按钮添加其他版本。如果您只安装了 Office 2010,则可能没有安装其他版本。

答案2

首先,我倾向于 Ramhound 在另一个答案中的解释。这是不同的观点。

您关于编辑路径的问题毫无意义。这是一个 COM DLL,而不是您简单加载的文件。要更改路径,需要在其他地方重新注册此文件。此外,您到底为什么要这样做?

您所指的 Microsoft soap 库称为 MSSOAP30.DLL。

在我的计算机上,它实际上位于“C:\Program Files\Microsoft Office\root\vfs\ProgramFilesCommonX64\Microsoft Shared\OFFICE16”,因为我拥有 64 位版本而不是 32 位版本。

Office 16 在路径方面做了不少花招。如果您查看“C:\Program Files\Microsoft Office\root\vfs”,您将看到许多文件夹在 Office 组件加载时被“映射”为虚拟文件夹。出于这个原因,我认为即使重新注册 DLL 也不是一个好主意。它可能是无害的……事实上它应该无害..但是我自己不会这么做,除非我愿意重新安装办公室。

请提供更多有关您要做的事情的信息,这里的某个人可能会帮助您(甚至可能是我)。

说完这些,现在我将回答你的问题。

除非您知道自己在做什么,否则不要这样做!(而您不知道)

如果您确实想引用另一个 DLL,而不是那个,则需要使用名为 的应用程序regsvr32.exe。Regsvr32 在 DLL 中查找名为“DLLRegisterServer”(用于注册)和“DLLUnRegisterServer”(用于删除)的入口点。它只是调用 DLL 中的函数来设置注册表,并使用正确的路径来使用该组件。

如果您尝试用不同版本替换一个 COM dll,则您需要先在旧版本上运行 UNregister,然后在新版本上运行 register。

  • regsvr32 /u <旧 dll 路径>
  • regsvr32 <新 dll 的路径>

执行 /u 的原因是因为函数 DLLRegisterServer 和 DLLUnRegisterServer只是代码,而不是某种自动化过程。旧版本可能会留下新版本不会破坏的内容。如果没有旧版本……或者旧版本已被删除,则无需其他步骤,直接注册新版本的风险相当低。

您需要上一堂 COM 课程才能理解这一点,它正逐渐成为一门失传的艺术。

相关内容