"Unspecified Automation Error" after applying MS12-060 (updated 9/26)


This article applies to Word, Access, Excel and PowerPoint. MS12-060 is a security update that was released Tuesday, August 14, 2012. This update replaced MS12-027. You may now be seeing one of the following errors:

“Unspecified Automation Error” when running or compiling your Microsoft Office VBA code after installing MS12-060;

or

“Errors were detected while saving ‘filename.xlsm’. Microsoft Office Excel may be able to save the file by removing or repairing some features. To make the repairs in a new file, click Continue. To cancel saving the file, click Cancel.”
 
clicking continue you will see “Document failed to save” or similar error.
 
Update – 9/26/2012. See this blog post for the latest update.
 
Fixit Available
 
There is a fixit available for this problem:
 
 
Office 2007 w SP2 or SP3 – http://support.microsoft.com/kb/2687441
 
Office 2003 w SP3 or Office 2003 Web Components w SP3 – http://support.microsoft.com/kb/2687323
 
Steps to fix the problem manually

Alternatively, the manual fix for this problem is to re-register MSCOMCTL.OCX. To do this, follow these steps:

1. Open an administrative-level command prompt. The command prompt MUST be on the administrative level for this to work. Click START, and type RUN in the run command line. On Windows Vista and Windows 7 you will see CMD.EXE appear in the quick search list. Right click CMD.EXE and left click Run As Administrator. A black command prompt opens. On Windows XP, there is no built-in run-as-admin, but you can use the run as menu option (or runas command line) to execute an admin command from a Limited User Account.

2. If on a 64-bit machine, type the following:

regsvr32.exe /u  C:\Windows\SysWOW64\MSCOMCTL.OCX

Hit ENTER

then type

regsvr32.exe  C:\Windows\SysWOW64\MSCOMCTL.OCX

If on a 32-bit machine, type the following:

regsvr32.exe /u C:\Windows\System32\MSCOMCTL.OCX

hit ENTER

then type

regsvr32.exe C:\Windows\System32\MSCOMCTL.OCX

Your Office program should work again after doing this.

(Updated) 3. NOTE: The following step is done at your own risk. Microsoft doesn’t know about any side effects to deleting this registry key. In cases where the re-registration doesn’t work and you still get the error, you will need to open the registry editor (START > RUN > REGEDIT) and find and DELETE the following registry key:

HKEY_CLASSES_ROOT\TypeLib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.0

to

HKEY_CLASSES_ROOT\TypeLib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.0OLD

We’ve heard reports that renaming the key doesn’t work. The key has to be deleted.

Afterward, follow steps 1 and 2 to unregister and re-register MSCOMCTL.OCX

Automating a Solution for Multiple Machines

You can also include the unregistration and re-registration in a batch file that is pushed out to multiple machines. Here is a sample script which should do the job:

reg delete hkcr\typelib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.0 /f

if exist %systemroot%\SysWOW64\cscript.exe goto 64
%systemroot%\system32\regsvr32 /u mscomctl.ocx
%systemroot%\system32\regsvr32 mscomctl.ocx
exit

:64
%systemroot%\sysWOW64\regsvr32 /u mscomctl.ocx
%systemroot%\sysWOW64\regsvr32 mscomctl.ocx
exit

If you require a batch file that runs silently, use the following:

reg delete hkcr\typelib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.0 /f

if exist %systemroot%\SysWOW64\cscript.exe goto 64
%systemroot%\system32\regsvr32 /u mscomctl.ocx /s
%systemroot%\system32\regsvr32 mscomctl.ocx /s
exit

:64
%systemroot%\sysWOW64\regsvr32 /u mscomctl.ocx /s
%systemroot%\sysWOW64\regsvr32 mscomctl.ocx /s
exit

Alternate Solution

See

Comments (29)

  1. Thanks for the heads up on the 32-bit path. It's been changed to reflect the right information.

  2. Anonymous says:

    Well, the fact that a fix actually exists saved me, given that legacy apps company wide just suddenly stopped working.

  3. Morphius says:

    For 32bit machines that should probably read

    If on a 32-bit machine, type the following:

    regsvr32.exe /u C:Windowssystem32MSCOMCTL.OCX

    hit ENTER

    then type

    regsvr32.exe C:Windowssystem32MSCOMCTL.OCX

  4. paul says:

    Thankyou for the fix. However, I do feel that the combination of MS12-027 the fixit and now MS12-060 has been a disaster.  It makes deploying this to large scale environments almost impossible as essentially you have to make users  accept that you will be breaking their environment.  The quantity of broken apps I have come across due to the EXD issue with MS12-027 is massive. And now with MS12-060 already generating issues, it's beyond me how this can be deployed to multiple users in a large company.  Let's not forget that we cannot uninstall it either. Disaster.

  5. Michael Welch says:

    The instructions above are incorrect for my 32-bit machine as MSCOMCTL.OCX

    is located in C:WindowsSystem32 not C:Windows

  6. BSwayngim says:

    Unfortunately we worked on all day on identifying which patch was breaking our pilot group.  We finally narrowed it down to MS12-060 this morning just to discover this acticle after the fact.

    Appreciate the article and the fix, but it would have been better to communicate it to through additional means, such as the bulletin notifications which we are signed up for.

  7. I agree with Paul's comments. It feels like a rushed fix which has caused more issues than its fixed. Added to the issues the previous 'fix' caused it all seems very badly managed.

  8. Joe Lam says:

    What a geniue.  It solved the problem.  Thanks a lot

  9. Bryan says:

    Does anyone at Microsoft test their code?  This is a pretty major bug.

  10. Chuck says:

    Can this be re-registered without incident on a production 2003 R2 terminal server with active users and multiple running Office process instances?

  11. Dmitriy says:

    Thank you very much for the info, Will.

    The solution works like a charm, but needed to restart Outlook after re-registering MSCOMCTL.OCX

  12. Mauricio says:

    Does this problem affect also the old VB6 applications that make use of the mscomctl.ocx control?

    Thank you.

  13. Johan Pson says:

    Anything new about this? Still having problems…

  14. thomas says:

    Will there be an official contemporary Hotfix for that?

    None of the fixes around the net are working for our Citrix Environment…

  15. dirk says:

    My VBA's on autocad still doesnt work, yet the error changed to: Compile-error-in-hidden-module

  16. mike says:

    This did not work for me, I also had to pull an old trick out of the bag.  If you continue to experience this pop-up, try going to your %APPDATA%MicrosoftForms folder and delete all of the .exd files.  Once you start Excel back up with a workbook, Excel will generate those files again, and they should be the correct version.  I had to do this for an earlier MS update too.  Hope that helps!

    Default Folders:

    XP: C:Documents and Settings%USERNAME%Application DataMicrosoftForms

    Vista/7: C:Users%USERNAME%AppDataRoamingMicrosoftForms

  17. dude says:

    Any chance of a revised version of this update? I like the machines to be compliant from a security point of view. But obviously don't want to affect 100s of users by pushing out the existing update.

  18. Aditya N says:

    Point is you got to unregister the mscomctl.ocx and then register it again, where it is located, how exactly you type the command etc is probably not very relevant.

    In my case unregistering and then registering the mscomctl.ocx helped, thanks

  19. Amirtharaj says:

    The solution was very useful and resolved my issue. Thank You.

  20. CMC says:

    Like Mike, I also had to delete the exd files before the problem went away.  At first I got thrown for a loop because I had opened an admin command prompt and didn't see the files before I realized (duh) that %APPDATA% for the admin account on my machine is not the same as %APPDATA% for the currently logged in user. (For non-tech people reading this, %APPDATA% is an alias for a per-user directory for application data, so every user -even on the same system- has a different folder)

    Note to others:  admin command prompt for registering the OCX, non-admin command prompt to find and delete the exd files.

  21. Real Estate Flyer Builder says:

    Please release an update to fix this problem.  This problem is costing us new and existing customers- it is a major problem.  We use Excel as the platform for our product.  Most of our customers to not have administrative rights to their computer and cannot run the fix-it program.  We just had another account cancel our service as a result of this problem.  Please fix your product- release an update ASAP!!!!!!!

    Real Estate Flyer Builder

    admin@RealEstateFlyerBuilder.com

  22. Pankaj Gurung says:

    yes, this step worked for us. We did unregister the file in the command prompt using admin right. Then we register the same file (MSCOMCTL.OCX). and then it

    works fine now. thanks for this handy tools.

    Steps:

    log in as administrator

    At command prompt

    Type:regsvr32.exe /u C:WindowsSystem32MSCOMCTL.OCX

    hit ENTER

    then type

    regsvr32.exe C:WindowsSystem32MSCOMCTL.OCX

    that it.

  23. karen says:

    The manual correction worked beautifully!  Thank you!

  24. Richard says:

    This has happened again from an update on my machine this morning.  Is the fix the same or a different one?

  25. Amol says:

    Thanks a lot.

    These steps resolved my problem.

  26. auds says:

    Thanks this just helped solve a very annoying issue

  27. anita sanchez says:

    como hago para registrarme y mandar la hoja de vida

  28. Anonymous says:

    Pingback from Skabeloner og l??sninger til Microsoft Office : SkabelonDesign A/S

  29. Anonymous says:

    Pingback from After Windows 7 MS12-027 update – unable to execute xlam | xls4Oracle.comxls4Oracle.com