Share via

comctl32.ocx: 'A File is Missing or Invalid' error

Anonymous
2010-05-02T16:46:29+00:00

When trying to run a particular executable I get the error: "Component 'comctl32.ocx' or one of it's dependencies not correctly registered: a file is missing or invalid". I looked around on the internet and I've downloaded this file and put it into System32 Folder. I also tried using 'regsvr32 \windows\system32\comctl32.ocx', but that came up with an error too. I've tried putting in comdlg32.ocx aswell but it didn't work.

Am I doing something wrong? I'm on Windows 7 Professional 64-Bit.

Windows for home | Previous Windows versions | Files, folders, and storage

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments

Answer accepted by question author

  1. Anonymous
    2012-03-17T02:11:32+00:00

    When trying to run a particular executable I get the error: "Component 'comctl32.ocx' or one of it's dependencies not correctly registered: a file is missing or invalid". I looked around on the internet and I've downloaded this file and put it into System32 Folder. I also tried using 'regsvr32 \windows\system32\comctl32.ocx', but that came up with an error too. I've tried putting in comdlg32.ocx aswell but it didn't work.

    Am I doing something wrong? I'm on Windows 7 Professional 64-Bit.

    This is how I fixed my problem (I have Windows 7 64 bit version)

    Go to:

    Start

    Computer

    (C) drive

    Windows

    find the file SysWOW64 and click on it

    scroll down to cmd    then right click on it and "Run as Administrator"

    type the following:  regsvr32 comctl32.ocx and then press enter on your keyboard

    that is all I needed and it fixed the problem

    Hope this helps

    Kris

    100+ people found this answer helpful.
    0 comments No comments

Answer accepted by question author

  1. Anonymous
    2010-05-03T15:45:15+00:00

    When trying to run a particular executable I get the error: "Component 'comctl32.ocx' or one of it's dependencies not correctly registered: a file is missing or invalid". I looked around on the internet and I've downloaded this file and put it into System32 Folder. I also tried using 'regsvr32 \windows\system32\comctl32.ocx', but that came up with an error too. I've tried putting in comdlg32.ocx aswell but it didn't work.

    Am I doing something wrong? I'm on Windows 7 Professional 64-Bit.

    Hi

    What is the name of the 'particular executable'? You need to check with the developer of that program to make sure it works on the 64bit version of Windows 7. Most 32bit programs will work on the 64bit version of Windows, but some do not.

    If this is a 32bit program, Windows 7 will automatically detect this, place the files in the proper folders, and registry the files. However, if you are performing this manually, you need to understand the differences between the 32bit and 64bit versions.

    The folder/file structure is a bit different in the 64bit version. Windows 64bit includes an emulator that allows 32bit programs to run just as if they were installed on a 32bit version of Windows.

    In this version you will see a C:\Program Files folder where all 64bit programs are installed. There is also a C:\Program Files (x86) folder where all of the 32bit programs are installed.

    There is also a C:\Windows\System32 folder that contains all of the 64bit system files. (This name was retained in the 64bit version because so many 64bit programs were hard coded to look for this folder name) 

    You will also see a C:\Windows\SysWOW64 folder which contains all of the 32bit system files that the installed 32bit programs use. (Just for reference, the WOW in that folder name means 'Windows On Windows)

    These Active X Controls are usually installed by third party programs that use them. If you downloaded this file from another location, are you sure that it's the correct version number for that program?

    The correct location in the 64bit version of Windows 7 to place the comctrl32.ocx file is the C:\Windows\SysWOW64 folder.

    This also applies to the command prompt when you run the regsvr32 to register this file. You must use the 32bit version of cmd.exe that is also located in the C:\Windows\SysWOW64 folder. You must also run the cmd.exe elevated (right click cmd.exe and select the Run As Administrator option).

    Please see the following links for more information.

    Taking the mystery out of 64-bit Windows

    Understanding hardware and software for 64-bit Windows

    32-bit and 64-bit Windows: frequently asked questions

    WoW64

    Thank You for using Windows 7


    Ronnie Vernon MVP

    20+ people found this answer helpful.
    0 comments No comments

24 additional answers

Sort by: Most helpful
  1. Anonymous
    2010-05-03T15:25:41+00:00

    I ran the executable given by 'me_done' and the files didn't appear in System32 and didn't register via the command pormt input given. I've already tried putting in the files manually by download.

    But now the error message I get when trying to run my program has changed from moaning about 'comctl32.ocx' to 'comdlg32.ocx' so maybe there's been some change.

    Okay, so, if I put comctl32.ocx in System32 and try to use 'regsvr32 comctl32.ocx' in run, I get an error saying "The module "comctl32.ocx" may not be compatibile with the version of Windows you're running. Check if the module is compatible with an x86 or x64 version of regsvr32.exe" And if I do the same for "comdlg32.ocx" I get the same thing, but saying about "comdlg32.ocx". And now my program is moaning about "comdlg32.ocx".

    5 people found this answer helpful.
    0 comments No comments
  2. Anonymous
    2016-09-01T06:30:18+00:00

    I am getting the same error, having gone through all the steps outlined above.  Very frustrating, I hope someone has a fix!

    Hi Amy,

    Please make sure to re-register the component. You can verify if comctl32.ocx is in Drive C by going to C:\windows\system32 folder. If you do, follow the steps on how to re-register the file:

    1. Click Start and type cmd.
    2. Right-Click on cmd and choose “Run as Administrator”.
    3. Type in regsvr32 comctl32.ocx and press Enter.

    "DllregisterServer incomscl32.ocx succeeded" will appear if it is successful.

    Regards.

    2 people found this answer helpful.
    0 comments No comments
  3. Anonymous
    2010-05-03T16:11:31+00:00

    This also applies to the command prompt when you run the regsvr32 to register this file. You must use the 32bit version of cmd.exe that is also located in the C:\Windows\SysWOW64 folder. You must also run the cmd.exe elevated (right click cmd.exe and select the Run As Administrator option).

    I just looked over it again and I just read you saying to 'Run as Administrator'. I did it again and now it says 'DllRegisterServer in comctl.32.ocx succeeded.' !! And it works for comdlg32.ocx aswell. And now the prgrams work!! Thanks a lot! I really should stop skimming text all the time...

    1 person found this answer helpful.
    0 comments No comments