Fixing a RegExp Error

Thursday, March 7, 2002

When I upgraded Internet Explorer on my web server from 5 to 6, all of a sudden my RegExp code didn't work any more, with the error 8002801D Library not Found line x RegExp.

What in the world? Used to work just fine! Figured IE 6 included a VBScript update, which it did. Tried re-registering the vbscript.dll, to no avail. Downloaded and registered a new one; nope. Somehow or another I figured out the problem and got it working.

Yesterday, I was doing some periodic security updates and patches to the web server, as is the job of any good Windows administrator, and the same stupid problem came back! I quickly realized this was the same problem, but had no idea what I'd done to fix it!

Turns out it's a permissions problem; the web user can't read the RegExp object's TypeLib key. The fix is simple. Find this key, and give Everyone Full Control permissions to it and all subkeys:

HKEY_CLASSES_ROOT\TypeLib\[3F4DACA7-160D-11D2-A8E9-00104B365C9F]

I'm not sure why nobody's posted this solution anywhere else (unless nobody's using VBScript RegExp anywhere on the web, which I very much doubt), but I'll post it to Microsoft's vbscript newsgroup for reference. I'm also explaining it here instead of just linking, because I've found that newsgroup messages do not last forever.

11 Comments