在Windows Server 2008 X64中通过.NET程序调用32位com组件
在开发短信接口时,需要调用一个com组件,在本机测试成功。可是部署到Windows Server 2008 X64的服务器上却出现下面的错误:
Retrieving the COM class factory for component with CLSID {79AD7B73-C515-40B4-8B02-CB0F5FA5A1A} failed due to the following error: 80070005
部署时,直接在命令行中通过regsvr32注册com组件。
被这个问题折腾了几个小时,终于找到原因和解决方法。
服务器用的是64-bit的系统,而.NET程序在本机编译时,目标平始选的是Any CPU,这样.NET程序在服务器上会运行于64位环境。
在相关资料中查到, 在64bit的环境中无法访问32位的com组件。
所以只要让.NET程序以32位的方式运行,就能解决问题。
解决方法:
1、通过C:WindowsSysWOW64regsvr32注册组件。
2、在Visual Studio中,将编译的目标平台(Platform target)设置为:X86,然后重新统计项目
本文作者:相关阅读:
dedecms 5.1 游客匿名投稿实现方法
利用CSS3的定位页面元素
批处理写的 oracle 数据库备份还原工具
系统分配随机密码
asp汉字中文图片验证码
XHTML2死掉,XHTML1.x语法在HTML5中可以使用
论WEB标准在中国的灰飞烟灭
5.7 实现高级JavaScript技术(三)
WIN2003 服务器安全配置批处理文件
JS多级连动菜单
什么是XHTML?
活用Windows Server 2008系统的几种安全功能
asp.net程序在调式和发布之间图片路径问题的解决方法
JSON 编辑器实现代码