1、 起因
服务器进行更新,并将操作系统从32位windows server 2003更新到64位windows server 2008,在原来服务器上的web service和网站都迁移到新的windows server 2008服务器上,其中某一网站采用ASP.Net编写,在其某一网页中使用了PowerBuilder的数据窗口控件,在新服务器上浏览此网页时报如下错误:
2、 尝试过的解决方法
1) 由于PowerBuilder控件是32位的程序,所以将网站的应用程序池中高级设置中的启用32位应用程序设置为true,再次浏览该网页,错误依旧;
2) 考虑到可能是网页程序无法找到PowerBuilder控件所在文件夹,在全局变量Path中添加了PowerBuilder控件的文件夹路径,再次浏览该网页,错误依旧;
3) 用regsvr32命令注册PowerBuilder控件,再次浏览该网页,错误依旧;
3、 最终解决方法
用DEPENDS.EXE程序打开PBDWN100.dll,查看它的调用关系,发现其中的ATL71.DLL动态链接库存在问题,于是在其它计算机上找到一份ATL71.DLL文件,复制到PowerBuilder控件所在文件夹,再次浏览该网页,错误消失了,问题解决了。