知识

iis6兼容性组件未安装

时间:2010-12-5 17:23:32  作者:娱乐   来源:百科  查看:  评论:0
内容摘要:装Windows Server 2003的老服务器还在跑,系统提示缺IIS6兼容性组件。别急着找安装包,这问题多半不是缺文件,而是你在新系统上装了IIS7或IIS8,却想跑老程序。 我上周刚处理过一台

装Windows Server 2003的容性老服务器还在跑,系统提示缺IIS6兼容性组件。组件装别急着找安装包,未安这问题多半不是容性缺文件,而是组件装你在新系统上装了IIS7或IIS8,却想跑老程序。未安

我上周刚处理过一台客户的容性财务服务器,症状一模一样——打开IIS管理器,组件装里面空空如也,未安但服务明明启动了。容性检查事件日志,组件装报错指向“IIS6 Metabase Compatibility”缺失。未安客户急得不行,容性说财务软件供应商要求必须用IIS6模式,组件装否则不提供技术支持。未安

真相是,微软从IIS7开始彻底改了配置存储方式。老程序依赖IIS6的Metabase(一个二进制配置库),新系统默认不装这个兼容层。你得手动去“服务器管理器”里勾选。路径藏在“功能”->“添加功能”->“IIS 6管理兼容性”下面,里面有六个子项,全勾上。

但光勾选不够。装完后很多人发现IIS管理器里还是看不到网站——因为兼容组件只提供API接口,不创建虚拟目录。你得用adsutil.vbs脚本手动迁移老配置,或者干脆重建站点。我那次是直接从备份的metabase.xml文件里提取站点绑定信息,改写成applicationHost.config格式,花了两个小时才搞定。

还有个坑,勾选时系统会提示需要IIS6脚本工具,但默认不装。你得在“添加角色服务”里单独找“IIS 6脚本工具”,否则后续用cscript命令操作会直接报“未找到脚本引擎”。别问我怎么知道的,客户那台服务器第一次装完,我跑了个adsutil.vbs,返回错误代码0x80070002,排查半天才发现是这茬。

如果服务器是64位系统,还得注意应用池的“启用32位应用程序”选项。老财务软件多半是32位编译的,不开启这个,即使兼容组件装好,程序调用还是会失败。这个选项藏在应用池的高级设置里,默认是False,改成True后重启应用池。

装完组件后测试方法很简单:命令行里输入cscript //nologo adsutil.vbs enum w3svc,如果能看到站点列表,说明组件正常。看不到就检查是否漏装了“IIS 6 WMI兼容性”这个子项,它负责提供WMI接口给管理脚本调用。

最后提醒一句,这组件只在Windows Server 2008和2008 R2上有效。Windows Server 2012及以后版本彻底移除了IIS6兼容层,装不了。如果你的服务器是2012以上,别浪费时间找组件,直接装虚拟机跑2003系统,或者升级软件版本。我见过有人硬在2016上折腾,最后蓝屏收场——那真是拿生产环境开玩笑。

最近更新
热门排行
copyright © 2026 powered by 力不从心网   sitemap