IIS 5 & IIS 6
PUZZLED: Invalid Default Script Language
Last post Feb 28, 2008 10:51 PM by qbernard
Feb 21, 2008 08:25 PM|eddieb|LINK
a windows server 2003 SP2, which has had quite a few ASP scripts working fine for years, had a problem today: i tried to run a VBscript.encoded and it gave an error:
The scripting language 'VBScript.Encode' is not found on the server.
so i downloaded windows script 5.7 for server 2003, installed (no errors) and rebooted. after reboot, i started getting the following error on every (included unencoded) ASP scripts (all of them VBscript as i don't have any Jscript needs)
Active Server Pages error 'ASP 0201'
Invalid Default Script Language
The default script language specified for this application is invalid.
i googled a bit and found the usually recommended pages for this type of problem, including
i have it narrowed down to a permissions issue. when i add IUSR to the admin group, the error disappears (for regular and encoded scripts). here is what i've done so far:
~gave IUSR read permissions to C:\WINDOWS\system32\inetsrv\asp.dll & C:\WINDOWS\system32\scrrun.dll (not originally present)
~IUSR read permissions to C:\WINDOWS\system32\vbscript.dll & C:\WINDOWS\system32\jscript.dll (originally present)
~successfully unregistered and re-registered all of the DLLs above
~gave IUSR read permissions on HCR\Scripting.Dictionary, Scripting.Encoder (not originally present) and Scripting.FileSystemObject (originally present) *
~did an iisreset
~ran procmon and regmon filtering to include only the test application (instace of w3wp with PID 216) i created specifically to tshoot this problem: they only show some NOT FOUND errors, no failures, no permission errors.
~AuthDiag tools shows no permission errors, no URL monitoring errors and no auth problems (for anonymous auth) on my test site (of course i tested this WHILE i'm getting the error on the browser)
i'm the ONLY admin on this server and i am absolutely positive i have not changed any permissions on it for months, maybe years. no software has been installed recently either, except for the critical updates of feb 18th (KB890830, KB942830, KB942831, KB943055,
KB946026, KB944533). Please note that the problem i'm worried about here (Invalid Default Script Language) did NOT start happening after the reboot required by WU; it started happening ONLY after the reboot required by Windows Script 5.7 (which in turn was
to solve the "VBScript.Encoded is not found on the server" issue)
i'm out of ideas here. please help!
* as a side note (i've had problems with these keys a couple years back): i know Scripting.FileSystemObject NEEDS IUSR read permissions for FSO to work, but do the other two also need it?
Feb 22, 2008 07:36 AM|tomkmvp|LINK
Do you permissions match this?
Feb 25, 2008 11:40 PM|qbernard|LINK
mmm... so if adding iusr into admin group fix it. then it should be permission related. have you try procmon ? i mean filemon for file, the regmon for registry. Procmon does both. Also check the user group where iusr belongs to.. I have seen this issue before..
but forgot the detail :) continue google.. :)
Feb 26, 2008 01:39 AM|eddieb|LINK
ooops procmon and regmon is what i am using. good to know i can ditch regmon now.
the filter is set to exclude every process but the one w3wp.exe which carries the application where i've setup a simple test script (only creates an FSO object). all i get is success, name not found and one buffer overflow every time the test page is called.
what do you think bernard? is this the proper way to find out the problem or is the filter too narrow?
Feb 26, 2008 01:48 AM|qbernard|LINK
mmm... there's awful lot of noisy if no filter. and would be the way I trace it as well :) this is IIS 6 with dedicated app pool with custom app pool id ? the other things i can think of is the access priviliges or rights. but doubt you change it. have
you check the KB posted by Tom?
Feb 26, 2008 01:54 AM|eddieb|LINK
check all permissions as per the KB doc. it was pretty much the same already.
still not working...
Feb 26, 2008 01:55 AM|eddieb|LINK
> this is IIS 6 with dedicated app pool with custom app pool id
> user rights
Feb 26, 2008 02:06 AM|qbernard|LINK
So, this is an anonymous access resource with custom app pool id. And I assume you got the app pool id as member of IIS_WPG group.
is this local resource page or remote ? have you try a simple helo.asp locally?
what about a simple test of reverting the app pool id back to network service or local system ?
Feb 26, 2008 03:04 AM|eddieb|LINK
sorry bernard, the test website runs on its own custom app pool, but this app pool runs as network service, not a custom ID. network service IS part of IIS_WPG. i tried running it as local system and local service, and also as a custom ID which is part of
IIS_WPG, none made a diff. adding IUSR to power users doesnt help.
the page is a local resource. hello.asp doesnt work either.
keep in mind that standard HTML works no matter if IUSR is a member of the admin group or not.
Feb 26, 2008 10:23 PM|qbernard|LINK
Ok. so it only works if you add the iusr into local admin groups and the procmon is not showing anything obvious.
At this point, i'm out of idea. but I really like to figure out what's wrong.... do you have support contract with MS? open a case and get to the bottom of it. or pray pray some MS folks here help you dig in.... or they just hiding :)
Feb 27, 2008 12:05 PM|eddieb|LINK
thanks bernard. i'm going to get the people at the hosting company where the machine is involved and report back here.
Feb 27, 2008 11:07 PM|qbernard|LINK
You mean this box is with hosting company? and they have tried every suggestion in the blog post ? dedicated or share to you? they try the local admin group as well ?
Feb 28, 2008 12:21 AM|eddieb|LINK
no, I MYSELF have tried every suggestion in the blog host. it's a dedicated machine at hostmysite and it's actually managed support, but the LAST resort is letting them touch my box. they've seriously screwed up my machine SO many times, it's nearly unbelievable
the things they've done. today i asked one of their senior techs to look at this issue, but they need to ask my permission before making any modifications to the box... it will take a month to get this fixed.
the ONLY reason i'm with this company is A) the price i'm paying B) their network and NOC is actually very nice. their shared servers are probably decent, but dedicated servers are a different game, and from my experience they suck at it. not everyone can
be rackspace (and charge rackspace prices)
this machine is a standalone, so the only admin group is the local one.
Feb 28, 2008 12:23 AM|qbernard|LINK
@@ ok ok.. let's see if they can do some magic here.
Feb 28, 2008 09:41 PM|eddieb|LINK
problem solved! not the most elegant solution, but giving IUSR read access to the entire HKEY_CLASSES_ROOT did it.
Feb 28, 2008 10:51 PM|qbernard|LINK
Errrr..... we did try procmon or regmon right ?
My HK_Class_Root default permission is
Administrators - FC
Creator Onwer - Special
Power User - Read + Special
System - FC
Users - Read
and IUSR doesn't need any permissions per this KB
This is getting @$@#$#@%#@%# :)
Can you run procmon and again and see which part it access the registry ?