stdole32.tlb error in Excel 2007

Whenever I open Microsoft Excel 2007, I get a dialog box that says "stdole32.tlb" (without the quotes).  There is no error message or anything else written on the box except an "OK" button.  When I press OK, Excel runs normally.  The next time I opn Excel, same thing.  I have tried uninstall/reinstall and transferring the stdole32.tlb file from one computer to another (it won't overwrite, because Vista says I don't have permission).

My computer runs Vista 64 bit.
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Dear Mark,
1. Determine which stdole files are missing.
  • Click StartFindFiles or Folders.
  • In the All or part of the file name field, type stdole*.tlb to search for the missing files.
  • In the Look in field, click Drive C.
  • Write down which files are missing. You will use the file names in the following steps.
2. Extract the missing stdole files from a cabinet file using the Expand utility.
  • Click StartRun.
  • Type CMD. Click OK.
  • Change to the root folder of drive C, type cd\ or c:, and press ENTER.
  • Insert the Windows Installation CD.
  • Type expand cd_drive_letter:\i386\filename.tl_ drive:\Windows\system32\filename.tlb, and press ENTER, where cd_drive_letter is your CD drive, filename is the name of one of the missing stdole files (stdole32, stdole2, stdole) that you want to expand, and drive is the letter of the drive where Windows is installed. For example:
    expand D:\i386\stdole32.tl_ C:\Windows\System32\stdole32.tlb
  • Repeat the previous step for each missing stdole file.
  • Type exit.
  • Restart your computer.
Well, I believe that this error (stdole32.tlb) is caused by wrong permissions for HKEY_CLASSES_ROOT key in registry.
Please check this key in registry:
 - run regedit, and right-click HKEY_CLASSES_ROOT (first one in the tree) and select Permissions
 - check if Administrators and Users groups have full permissions to this key, if not, follow please this instruction

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
this file is not missing. It was located in C:\Windows\System32\stdole32.tlb.
I have the same problem when I start Excel 2007 in Vista.

I'm also searching solution.
This issue is very difficult to fix.

I have the same problem as you before. I found out HKEY_CLASSES_ROOT permissions display blank. That mean Registry has problem. And this is very difficult to fix. If you change permissions wrong, you won't be able to start windows again or you cannot execute *.exe files. That's what happen to me.

I have to re-install entire windows and applications.

Normally, the HKEY_CLASSES_ROOT permissions should be
Administrations -> Full
System -> Full
Creator Owner -> Special Permissions.
Power Users -> Read
Users -> Read
To fix this isue Open regedit rightclick on HKEY_Classes_Root Select Permissions if you see, no permissions have been assigned to HKEY_CLASSES_ROOT.  This is cause of the Office 2007 installation problems, as well as potentially a lot of other problems you are having with installing products.

The very first thing you need to do is backup your registry.  There is a good walkthrough of doing this here. (

Next, you need to download a Microsoft tool called SubInACL ( )
and install it.

If your computer is the same as mine, it should install into the following folder:

c:program filesWindows Resource KitsTools

Open your text editor and paste in the following code:

subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f /grant=restricted=r /grant=YOURUSERNAME=f /grant=restricted=r /setowner=administrators
subinacl /keyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f /grant=restricted=r /grant=YOURUSERNAME=f /grant=restricted=r /setowner=administrators

subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f /grant=users=r /grant=everyone=r /setowner=administrators
subinacl /keyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f /grant=users=r /grant=everyone=r /setowner=administrators

subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f /grant=users=r /setowner=administrators
subinacl /keyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f /grant=users=r /setowner=administrators

Save the file in the same folder as SubinACL.exe as officefix.cmd.

Now, edit the file by replacing the following text:

YOURUSERNAME  replace with your computer username.

Run the Officefix.cmd  after completing you will that permissions have assigned properly.

Still rightclick on you C drive go to properties and security tab and see all the id's listed there the same id's should be there in HKEY_CLASSES_Root Permission if not please assign.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Excel

From novice to tech pro — start learning today.