BUG: Unable to load WinHTTP.dll into Outlook 2007 VBA References
Are you having hard time in adding WinHTTP.dll into Outlook 2007 VBA references on your Vista machine, so let me tell you that we are aware of it. The problem is shown below..
Look at the location part, which is for sure invalid path.
The root cause is the installation of this DLL into the registry.
Windows XP registry:
HKEY_CLASSES_ROOT\TypeLib\{662901FC-6951-4854-9EB2-D9A2570F2B2E}\5.1\0\win32: C:\WINDOWS\System32\winhttp.dll
Vista registry:
HKEY_CLASSES_ROOT\TypeLib\{662901FC-6951-4854-9EB2-D9A2570F2B2E}\5.1\0\win32: %systemroot% \System32\winhttp.dll
When we try to load winhttp on vista, we end up looking in c:\users\<username>\documents\%systemroot%\system32\winhttp.dll
Apparently VBA doesn’t understand this type of path.
Resolution: Change the path and the DLL loads.
Another option could be instead of adding a reference to Outlook use late binding and do a CreateObject call to WinHTTP.dll
Solution Courtesy: Stephen Griffin
You can also fix this with regsvr32 WinHTTP.DLL. The DLL registers the proper path - the bad path is actually part of Vista's install. :(
Incidentally - I think VS works around this issue by trying to expand the registry key even though it's not a REG_EXPAND_SZ. Didn't test it though.
Comments
- Anonymous
October 01, 2008
PingBack from http://blog.a-foton.ru/index.php/2008/10/02/bug-unable-to-load-winhttpdll-into-outlook-2007-vba-references/