昨天想把一装Windows 2003的服务器上的网站转移到一装Windows Server 2008(64位)的服务器上。该网站是ASP的,用到Jmail,安装好免费版的Jmail后,在调试中发现错误,代码:800A01AD。
首先考虑到的是权限问题,给相应用户加上所有权限,也不见效。搜索网上的各种答案,尝试了诸如将Jmail.dll复制到系统文件夹再注册,也没有解决。后看到一文章里提到asp.net中的类似问题,最后运行了段命令行程序:cscript %SYSTEMDRIVE%inetpubadminscriptsadsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1问题得以解决,作者“猜测应该是设置IIS进程池的-启用32位应用程序-TRUE”,对此命令不熟悉,不敢乱用,于是我手动按此方法设置IIS的应用程序池,果真解决了。
具体设置方法:在应用程序池列表里找到网站相应的应用程序池,鼠标右键菜单选择高级设置,将启用 32 位应用程序项设置为True。
类似的组件无法创建或加载的问题排除权限问题后,我想应该也与此设置有关。