0

Symptoms: we got 'stdole32.tlb' error message on starting MS Excel. Also, we may got MS Office installation progress window after closing this error message. After closing the error window Excel works normally, but the issue repeats on its next start.

1 Answer 1

0

This issue has nothing to do with stdole32.tlb as well as with registry and file permissions and is caused by changing/losing of the Office installation directory short name. The short name is used instead of the long name in the lot of registry values, and only Microsoft knows why.

(It is supposed below that we are dealing with an x64 OS. For an x86 OS, replace Program Files (x86) with Program Files and PROGRA~2 with PROGRA~1 in all examples. Also, you may need to change the name of the last component of MS Office installation directory - Office12 is valid for Office 2007).

How can we lose the short name? I have created a full clone of the system volume by copying all files and directories using MirrorFolder to a new volume which has had short names disabled. As a result, I got 'stdole32.tlb' error on this clone system.

How can we get the short name changed? I have created a new clone, now on the volume which has had short names enabled. But... Skype for Desktop! It was installed after MS Office, its installation directory is C:\Program Files (x86)\Microsoft\Skype for Desktop. Of course C:\Program Files (x86)\Microsoft was copied first so it got C:\PROGRA~2\MICROS~1 short name. C:\Program Files (x86)\Microsoft Office was copied afterwards and got C:\PROGRA~2\MICROS~2 short name. As a result, I got 'stdole32.tlb' error plus MS Office installation progress window on this clone system.

How to fix this? The easiest and preferable way is to replace the short name with the long name in all affected registry values:

  1. Make a backup of the registry (ERUNT would be a good choice for this).
  2. Run Registry Finder.
  3. Edit - Find... - Find what: C:\PROGRA~2\MICROS~1\Office12, [x] Search data, [ ] Match whole string
  4. Edit - Replace in Find results... - Replace with: C:\Program Files (x86)\Microsoft Office\Office12

Another way is to change the short name of C:\Program Files (x86)\Microsoft Office (if short names are enabled on the system volume and C:\Program Files (x86) has the valid short name). It is less preferred so I'll describe only the main idea: you need to add some character (for example ~) to the beginning of the names of all affected directories (C:\Program Files (x86)\Microsoft and C:\Program Files (x86)\Microsoft Office in my case), then rename them back in the required order.

Of course it is possible to create the short name for C:\Program Files (x86)\Microsoft Office even if short names are disabled on the system volume and C:\Program Files (x86) has no short name... but if you are able to make it you definitely don't need my advices here.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .