如何部署VFP OlePublic DLL至Windows Server 2016并解决COM互操作异常
VFP OlePublic DLL部署至Windows Server 2016的问题
核心疑问
- 除自行开发的VFP OlePublic DLL外,部署至Windows Server 2016服务器还需哪些组件?该服务器上IIS托管的.NET程序需通过COM互操作调用此DLL。
- 是否应使用VFP9安装包附带的InstallShield Express Visual FoxPro Limited Edition进行部署?
我的VFP代码
Define Class miked As Session OLEPUBLIC FUNCTION HelloWorld as String RETURN "Hello World" ENDFUNC FUNCTION Echo(thingToEcho as String) as String RETURN thingToEcho ENDFUNC Enddefine
当前部署配置
我在InstallShield MSI安装包中包含了以下可再发行组件包:
- GDI Plus Redist Module
- Microsoft C Runtime Library 7.1
- Microsoft Visual FoxPro 9 Runtime Libraries
(附两张可再发行组件配置截图,显示已勾选上述三个组件)
已尝试操作
可通过管理员PowerShell提示符执行regsv32命令手动注册DLL,操作正常完成。
遇到的错误
尝试实例化COM对象时出现以下错误:
检索CLSID为{A55C4127-DDCB-4E5F-B69C-A7EAC83A83DC}的组件的COM类工厂失败,错误:80004005 未指定错误(HRESULT异常:0x80004005 (E_FAIL))。
测试情况
在另一台测试服务器安装VFP 9 SP2 IDE后错误消失,但这并非合理部署方案,不应为了运行DLL而安装IDE。
内容的提问来源于stack exchange,提问作者spottedmahn
相关产品推荐
相关产品推荐

