首页  ·  知识 ·  编程语言
ASP0201错误无效的默认脚本语言解决办法
佚名  http://qyzyd.blog.hexun.com/4326040_d.html  ASP  编辑:dezai  图片来源:网络
这是一个相当普通的asp错误,一般是由以下原因造成:在我们使用多种方式去解决这个问题之前,让我们看一下这个错误本身.像完整

这是一个相当普通的asp错误,一般是由以下原因造成:
在我们使用多种方式去解决这个问题之前,让我们看一下这个错误本身.
像完整的错误消息?任何一个可能导致这个问题的原因都会使我们得到如下消息:


Active Server Pages 错误 'ASP 0201'
错误无效的默认脚本语言
该应用程序地应的默认脚本语言无效

这错误通常是由IIS不识别的"不支持的脚本语言"引起的.现在怎么修复它呢?
尝试以下步骤:
1.确认在IIS中定义了合适的脚本语言.(进入IIS管理-选中站点-属性-主目录-配置-选项-默认ASP语言),确认默认ASP语言设置为 VBScript(默认)或JScript(如果你更喜欢javascript脚本)
2.注意如果你的代码中首行含有<%Language="language"%>将覆盖上边的设置,所以仔细检查以保证你没有拼写

错误.它应该是<%Language="VBScript"%>
3.有时,脚本引挚不完整的DLL注册也会造成这个问题,请下载最新版的脚本引挚试试.
4.现在,我们需要确认在安装脚本引挚时没有注册某些DLL文件,例如,你可以按以下方式去尝试注册DLL:


regsvr32 %windir%\system32\VBscript.dll
regsvr32 %windir%\system32\JScript.dll
regsvr32 %windir%\system32\Inetsrv\Asp.dll


5.继续,如果你到此还没有解决这个问题,那看起来像是许可权引起了该问题.
 例如:使匿名用户访问网站的 iusr_计算机名 这个用户没有相关DLL的读权限,可以尝试将(4)中的DLL文件

======!!!!!!!!!!!!!!!!!=======………………………==========

进一步观察发现只有Asp的页面会这样提示,htm正常!百思不得其解,Google AND Baidu之! 
网上的解决方法都如出一辙。重装IIS,删除xxx...,重装系统! 
除重装系统外其它都度过,无一可行! 

最后自己悟出了一个解决方法,但不知道是否有什么副作用!献出来大家伙看看! 
其实很简单:只要将系统用户中的IUSR_xxx(xxx示你的系统而定,就是Internet 来宾帐号 )加到Administrators组中!再重启IIS服务就可以了!这种方法适用于本机调试程序,服务器上不建议使用,因为还不知道是否有安全问题! 

另一种方法是网上找到的:右击站点,权限向导-下一步,S-S完成!这样访问时就要使用账号密码访问了,通过认证后Asp也可正常解析,但很不方便,这种方法对服务器来说也解决不了问题! 

以下是收集到的几种解决方法,我试过是不行,但也有人说可以的,所以你也可以试试看! 

方法一 
在运行里面regsvr32 /u scrrun.dll 
regsvr32 scrrun.dll 
另,如果还是不行,可以试试把iis卸载,然后把wwwroot目录删除,重新安装IIS. 

方法二 
1、删除“internet信息服务”, 
2、重启机子,按F8进入“安全模式”, 
3、在安全模式下将“C:\Inetpub”、“c:\windows\iis6.log”、“c:\windows\system32\inetsrv”这几个东西重命名。 
4、重启机子,在正常模式下安装“internet信息服务”,安装完毕删除重命名文件。 
5、如果还不能解决问题,打开“internet信息服务”,“重新启动IIS”。 

方法三 
1、单击开始,指向程序,指向管理工具,然后单击 Internet 信息服务。 
2、在控制台树中,单击默认 Web 站点。在显示窗格中,右键单击 默认 Web 站点,然后单击属性。 
3、在目录安全性选项卡的匿名访问和身份验证控制中,单击编辑。 
4、在身份验证方法属性页中,单击去掉匿名访问的勾。 
5、确定。 

-------#####################-----------------***********************************************----------
 1.停止IIS;
   2.在运行中输入反注册命令 regsvr32 /u vbscript.dll,提示成功后进入第3步;
   3.进入 c:\windows\system32 目录,找到 vbscript.dll 
   4.直接剪切,之后复制到桌面或者其他地方(其实删除也可以,不过还是为了防止意外!);
   5.之后在运行中输入注册命令 regsvr32 vbscript.dll,提示成功后进入第6步;
   6.成功注册后你可以进入 c:\windows\system32 目录,之后寻找 vbscript.dll ,如果你找到了这个文件的话,
     恭喜你,在启动IIS后你又可以运行ASP文件了,大功告成!
备注:
   以上方法是实现IIS的默认脚本语言为VB的,如果你的默认脚本语言是Java,请将 vbscript.dll 替换为 jscript.dll 即可!
此方法是我自己亲身测试过的,如果你用此方法依然不行的话,那估计就得重新安装系统或者GHOST了


------=================-----------------------++++++++++++++++++++++++------------------------


   网上搜索了一下,大多都是让卸载IIS后去安全模式什么什么的,如果问题仍然没解决,可以尝试此简单方法:
方法及实现:
   1.停止IIS;
   2.在运行中输入反注册命令 regsvr32 /u vbscript.dll,提示成功后进入第3步;
   3.在运行中输入反注册命令 regsvr32 /u %windir%\system32\Inetsrv\Asp.dll,
     提示成功后进入第4步;
   4.进入 c:\windows\system32 目录,找到 vbscript.dll ,直接剪切,之后粘贴到桌面或者其他地方
    (其实删除也可以,不过还是为了防止意外!);
   5.进入 c:\windows\system32\Inetsrv 目录,找到 asp.dll ,直接剪切,之后粘贴到桌面或者其他地方
    (其实删除也可以,不过还是为了防止意外!);
   6.启动IIS;
   7.访问ASP站点,注意看屏幕提示,如果出现:错误 '8002801d' 的话,执行第8步;否则执行第9步;
   8.在运行中输入注册命令 regsvr32 %windir%\system32\Inetsrv\Asp.dll,提示成功后进入第9步;
   9.在运行中输入注册命令 regsvr32 vbscript.dll ,提示成功后进入第10步;
   10.重新运行ASP站点,注意看屏幕提示,如果你已经成功的话那就不用说啦,如果到这里你还不成功,执行第11步;
   11.在IIS的设置中,把你的站点的“匿名访问”去掉,方法自己BAIDU,这里不强调,去掉后刷新页面,如果提示
      需要用户名和密码,请输入你的最高权限用户的用户名和密码,之后重新执行第1步;
     
备注:
   1.以上方法是实现IIS的默认脚本语言为VB的,如果你的默认脚本语言是Java,请将 vbscript.dll 替换为 jscript.dll 即可;
此方法是我自己亲身测试过的,如果你用此方法依然不行的话,那估计就得重新安装系统或者GHOST了;
   2.以上方法我自己亲身测试过,目前没有发现任何不良反映,一切正常;
   3.如果执行了第11步,问题解决了,但是访问必须要用户名和密码,这种方法一般人都不能接受,但是也说明了一个问题,
     跟你的系统用户权限有关,可以适当调整了 IUSR_计算机名 用户的权限以后即可,具体调整方法自己测试了!

本文作者:佚名 来源:http://qyzyd.blog.hexun.com/4326040_d.html
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读