Wednesday, March 23, 2011

VB6 - Web Component - IE7 - File Not Found ieframe.dll\1



Problem:

While opening the Visual Basic 6 Editor, you get an error with one of the components: Web Component
"File Not found 'C:\Windows\system32\ieframe.dll\1'

Cause:

This problem usualy is generated for two reassons:
      1. Windows Update
      2. Windows Upgrade IE7

Techinical Bug:

     One of the changes in IE7 included seperating shell and IE code out
     of Shdocvw.
     The new IE-only library is IEFrame.dll, so that is where the problem
     is potentially starting.

Source:
(Reza Nourai - NSFT)
http://social.msdn.microsoft.com/forums/en-US/iewebdevelopment/thread/21935021-1dc7-445b-a829-b02489009aab/

Solution:

     A). Modify Windows Registry

          1. Close Visual Basic
          2. Start > Run > regedit          
          3. Search the registry for  "ieframe.dll\1"
          4. Another way to find the Varaible is looking for this value
             (fig 1):
                 My Computer>HKEY_CLASSES_ROOT>TypeLib
                                     >{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}
                                     >1.1>0


                 
                               Fig 1. Local Variable in Registry
                 
         5. Remove "\1" from found key.
     B). Reinstall IE 7.  

          1. Some users have reported that reinstalling the
              Internet Explorer solved this issue
          2. This reinstallation will replace both ieframe.dll & shdocvw.dll
              to their original status

Source:
(Rayan Slimmon)
http://social.msdn.microsoft.com/forums/en-US/iewebdevelopment/thread/21935021-1dc7-445b-a829-b02489009aab/

     C). Change the Visual Basic Reference

          1. Open the project in Visual Basic
          2. Change the reference for "Microsoft Internet Controls"
              from ieframe.dlll to shdocvw.ocx
              (browse for it in the same folder)
          3. Save the project and compile
          4. Close and reopen




     D). Visual Basic Project Solution

          1. Open the project and ignore the errors
          2. Delete the control from the form (you have to
              remember the control name)
          3. Save project and close VB
          4. Open VB and project, add reference to  
              C:\windows\system32\ieframe.OCA
          5. Save project and close VB
          6. Open VB and project, the new web browser
              control appears
          7. Add control to project and rename it with the
              original control name (to keep the code intact)

Source:
(EskyRJB)
http://social.msdn.microsoft.com/forums/en-US/iewebdevelopment/thread/21935021-1dc7-445b-a829-b02489009aab/

1 comment: