当我试图从运行在2016年OlePublic服务器上的IIS应用程序中实例化VFP COM (OlePublic) DLL时,我得到:
使用CLSID检索组件的COM类工厂(A55C4127-DDCB-4e5f-B69C-A7EAC83A83DC}由于以下错误而失败: 80004005未指定错误(HRESULT例外: 0x80004005 (E_FAIL))。
我能够找到它(使用西蒙的评论),直到它找不到vfp9r.dll

这些文件是在C:\Program Files (x86)\Common Files\Microsoft Shared\VFP下安装的w/ my的C:\Program Files (x86)\Common Files\Microsoft Shared\VFP包

为什么“它”不去搜索它呢?我有一台服务器,它在程序文件下找到它们,而另一台服务器却没有。这种魔法是如何工作的?
更新
如果我安装VFP 9,它将搜索该dir &成功加载它。那么VFP 9安装在我的机器上做了什么来告诉"it“搜索这个dir,而不仅仅是当前的dir & \SysWow64?


发布于 2022-10-24 20:06:01
解决方案
导入这些注册表项:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\VisualFoxProRuntimeMT.9\Shell\Open\Command]
@="C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\VFP\\vfp9t.dll"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\VisualFoxProRuntime.9\Shell\Open\Command]
@="C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\VFP\\vfp9r.dll"(将上面的“脚本”保存为.reg文件并双击它以导入它)
我是怎么想出来的:
vfp9r.dll或vfp9t.dllvfp9t.dll的差异较小,因此这是有帮助的。我拿了第一把钥匙,那就成功了。然后,我搜索了vfp9r.dll导出的相同路径,并抓取了那个密钥。https://stackoverflow.com/questions/74174510
复制相似问题