答案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 课程才能理解这一点,它正逐渐成为一门失传的艺术。