Walker News

How To Fix Windows 8 ComDlg32.ocx File Missing Error?

When I ran Levente’s SWF Exporter on Windows 8, the freeware failed with error that said “Component ComDlg32.ocx or one of its dependencies not correctly registered: a file is missing or invalid”.

Upon checking, this problem is due to ComDlg32.ocx doesn’t exist in Windows 8 RTM installation.
ComDlg32.ocx is one of the ActiveX control files distributed by VB6 Runtime Extended, which is not shipping in Windows 8 but should be bundled by respective VB6-developed applications. For more information, please refer to Support statement for Visual Basic 6.0 on Windows Vista, Windows Server 2008, Windows 7, and Windows 8.

Apparently, to fix this problem, you need to download the latest ComDlg32.ocx for Windows 8.
NOTE: Microsoft re-released the cumulative update for the Microsoft Visual Basic 6.0 Service Pack 6 (SP6) Runtime Extended Files in August 2012 to address few issues discovered in previous releases such as KB2708437, KB2641426, and KB926857. The ComDlg32.ocx, however, is from Mar 2009.



You cannot install the VB60SP6-KB2708437-x86-ENU.msi on Windows 8 unless you’ve also installed VB6 SP6. To get rid of this issue, as shown by the silent screencast:

1. Uses 7-Zip freeware to uncompress the MSI installation file to a folder

2. Copy ComDlg32.ocx to C:\Windows\System folder (not System32 folder!)

3. Open elevated Command Prompt – move mouse pointer to lower-left corner, right-click on the Windows 8 start thumbnail and select “Command Prompt (Admin)”.

4. Change directory to C:\Windows\System path and register the ActiveX control file:
regsvr32 comdlg32.ocx

Once this is done, the missing file error is fixed and the good old SWF Exporter is now working on my 64-bit Windows 8 Enterprise RTM!

Custom Search

  1. MS_Andrew 02-04-13@06:41

    Hey , Its should actually be the Syswow64 folder not system . Just a heads up.

    System32 is for 64bit files
    SysWOW64 is for 32bit files

    it may seem backwards but WOW stands for windows on windows . Its basically an emulator or Virtual Environment if you like, It allows you to run 32bit programs on a 64bit os.

  2. dk 26-04-13@20:03

    You are God! Thank you. C:\Windows\System was ok for me on Win8 64bit.

  3. dk 26-04-13@20:40

    After reading this:
    http://technet.microsoft.com/en-us/magazine/ff955767.aspx
    and this:
    http://www.samlogic.net/articles/32-64-bit-windows-folder-x86-syswow64.htm
    its clear that better choice is SysWOW64. Thanks MA_Andrew for a hint.

  4. Anas 07-05-13@15:18

    Thanks dear..it is working….

  5. Angela 15-05-13@21:27

    You have no idea how awesome this is. Thank you thank you thank you!!!

  6. mandeep 17-05-13@15:59

    hey i have done same what you done in the video but when i open my that software it says “bad database and COMDlg32.ocx is not found” please help me

  7. momomojack 10-06-13@10:00

    Thank you VERY much!! I copied the files from that .msi file into c:/windows/system/ folder, then registered the 4 required VB files I was missing and it worked fine. Windows 8 and VB is a challenge for legacy (32bit) software that we are still required to use! I’m surprised this issue is not brought up more on the web. Microsoft needs to address this better…I seriously wanted to reinstall my new PC with Windows 7!

  8. Camh 03-07-13@10:36

    Thanks man! it works.

  9. Stan 19-11-13@14:53

    Any idea what’s wrong here?

    The module ComDlg32.ocx was loaded but the call to DLLRegisterServer failed with error code 0x80004005

  10. BJoshi 11-12-13@10:57

    I also get the same error message on win8.1

    The module ComDlg32.ocx was loaded but the call to DLLRegisterServer failed with error code 0×80004005

    Can some one help please ? thanks

  11. Erico 19-12-13@23:59

    I got the same error message as BJoshi and Stan got on windows 8.1

    Any idea to solve this problem?

  12. Walker 21-12-13@17:40

    Guys, in my test system running Win8.1 x64, that error code 0x80004005 only appears when these conditions are met:

    1. The said OCX has already been registered. And,

    2. Executing regsvr32 on a non-Administrator Windows Command Prompt window (i.e. running cmd.exe without elevated privilege).

  13. Solnasonen 02-02-14@22:54

    There is no 64 bit version of comdlg32.ocx. It’s a 32 bit COM solution.

    You can still register the ocx. For Vista Ultimate x64, you need to place
    the Comdlg32.ocx in the \Windows\SysWOW64\ dir. you can then run “regsvr32
    C:\Windows\SysWOW64\Comdlg32.ocx” and it will register the file.

    The \Windows\System32\ dir is for 64 bit dlls only.

  14. kurt 07-05-14@15:51

    Thanks man, it’s works..

  15. ForgeElm 02-06-14@23:01

    ” ‘regsvr32’ is not recognized as an internal or external command,operable program or batch file “

  16. Renato 24-06-14@11:46

    Awesome man, thanks!

  17. Locutor 27-06-14@12:41

    Worked like charm for me — got an ancient legacy program up & running. Thanks much!

  18. Wayne 29-08-14@00:19

    Almost worked.

    I followed all of the steps you outlined and it registered the ocx file. I thought BAZINGA! But then I opened the file and a different dialog box popped up. Microsoft Visual Basic for Applications box with the text, Compile Error Variable not defined.
    I click OK, stop the script, open tools/references, it does not show any missing files. It points me to Microsoft ActiveX Data Objects 6.1 Library. I can browse out to the msado.dll file. Do you have any idea of what I can do to get this to work?

  19. Victor 14-09-14@01:08

    when i use the regsvr32 comdlg32.ocx command i guet that the file is incompatible. Anyway to fix?

  20. Avtar 13-01-15@14:57

    Have similar problem in one of the application in Windows 8.1. Although the comdlg32.ocx is successfully registered the application does not run and the error is not resolved. The program did not show any errors when run in Windows 8.1. What could be the problem. The program runs in other computer with similar configuration

  21. Vishal Kumar Gupta 19-02-15@15:32

    Thanks Friends. Its Working fine.

    Thank you once again.

  22. Charlie 10-03-15@04:13

    Thank you very much this fixed it.

  23. Vince 12-03-15@14:01

    Only worked in my system file. Tried system32 and wow file and did not work. Running win8.1 Home. Thanks for this.

  24. Dan Plaza 21-09-15@15:21

    Thanks for this!! Have been trying to get this right for ages!! Running Win10 64.

    Thanks Again!

  25. Sylverlyt 31-12-15@08:00

    Thank’s a lot, it works !

  26. kaka 09-08-16@15:26

    Thank you very much, it works :D

2016  •  Privacy Policy