views:

153

answers:

2

One of my guys had a problem when instantiating InternetExplorer.Application from VB6 and VBScript. It turned out that he (but no one else on the team) had the following entry in the registry apart from the expected (and working) LocalServer32 entry which creates an instance out-of-process using iexplore.exe:

[HKEY_CLASSES_ROOT\CLSID{0002DF01-0000-0000-C000-000000000046}\InProcServer32] @="C:\WINDOWS\system32\ieaksie.dll"

This is with XP SP3 and IE8 btw.

It's not really clear why this fails (CreateObject("InternetExplorer.Application") => hr = 0x80040111 ClassFactory cannot supply requested class), but the code expected the IE instance to be created as a new process.

Does anyone know what ieaksie does, when it's installed and when it creates the registry entry that seems to cause problems?

Googling didn't help me much...

A: 

This page (whose trustworthyness I can't really judge) says this is an "Internet Explorer Snap-in Extension to Group Policy", so it looks like an extension to some management tool on the machine.

My HKEY_CLASSES_ROOT\CLSID\ is empty, as I suspect are yours, so the presence of this path there would forward any COM creation requests for "InternetExplorer.Application" to this snap-in DLL. That seems weird.

I'd suspect either butter-fingers on behalf of your colleague, some kind of trojan or a Microsoft update gone wrong.

That said, I don't really understand how COM manages to locate the object to create without an InprocServer32 entry there. I wonder if it's hardcoded in the OS somehow?

Kim Gräsman
A: 

The dll is provided by Microsoft, it's truth.

xie renhui