none
Can't figure out how to register MSCOMCTL.OCX in Windows 7

    Question

  • I've been searching for answers all afternoon trying to register this MSCOMCTL.OCX file, nothing is working.  The closest I got away from the "Component 'MSCOMCTL.OCX' or one of its dependencies not correctly registered: a file is missing or invalid" that had been plaguing me was when I tried to register it through by typing REGSVR32 MSCOMCTL.OCX in the RUN field and the error message returned is 'The module MSCOMCTL.OCX may not be compatible with the version of Windows that you're running.  Check if the module is compatible with an x86(32-bit)or x64 z(64 bit) version of the regsvr32.exe'.


    All I am trying to do is install some freeware, can anyone help me?

    Saturday, January 02, 2010 9:08 PM

Answers

  • H

     

    How obnoxious that you experts mark this as answered by posting a link which instructs the user to execute the command that  the OP clearly said in his 2 sentences generated the error.  Maybe this functionality should be outsourced  after all. Then I tried to vote against your answer being helpful,  and what do you know,  the only vote allowed  is positive, boy oh boy this is so objective I really must commend the whole process. I'm going back to acquiring MS products from bit torrent.

     

    I was only able  to fix it by reinstalling logitech setpoint 6.00. I couldn't  manually register the  MSCOCMCTL.OCX, varying errors from this one to DLLRegisterserver error code 0x08002801c, "to check if compatible with regsrv32 64 bit something  something". I think there are different versions of the OCX out there and a lot of uninstall programs delete a dll called  by it.

    • Proposed as answer by Karlsbad Wednesday, October 13, 2010 1:11 AM
    • Marked as answer by Martin_XieModerator Thursday, October 14, 2010 5:11 AM
    Wednesday, October 13, 2010 1:09 AM
  • If you have the 64-bit version of Windows 7, see the following:

    http://social.answers.microsoft.com/Forums/en-US/w7programs/thread/f96acaa3-90d7-437a-a9cc-9130eb17fdb4

    Just an FYI, all Visual Basic 6.0 runtime components are supported under Windows 7.


    Paul ~~~~ Microsoft MVP (Visual Basic)
    Monday, January 04, 2010 1:52 PM

All replies

  • Hi Clemson.  As far as I know, this component is not compatible with Windows 7, therefore, you must run your application using the Windows XP compatibility mode.
    Best regards,
    Edgar Lugo López
    No entiendes realmente algo a menos que seas capaz de explicarselo a tu abuela - Albert Einstein
    • Proposed as answer by kibbymiah Wednesday, August 31, 2011 9:20 PM
    Saturday, January 02, 2010 9:43 PM
  • Since .Net 2.0

            'http://msdn.microsoft.com/en-us/library/system.io.ports.serialport.aspx
            Dim sp As New System.IO.Ports.SerialPort
            sp.PortName = "COMx"
            sp.BaudRate = 9600
            sp.DtrEnable = True
            'etc
            Try
                sp.Open()
            Catch
            End Try
    

    Looking for work - Zip 65101 http://www.vbforums.com/showthread.php?t=552774
    Saturday, January 02, 2010 10:41 PM
  • Thank you All for your friendly help.


    Hi Clemson,

    Welcome to MSDN forums!

    The Mscomctl.ocx is Windows Common Controls.
    Sometime certain Microsoft Libraries can become unregistered when installing and uninstalling a lot of software. One very common problem is the MSCOMCTL.OCX.

    To correct the error, first search your drive for MSCOMCTL.OCX to see if you have it. If not you can download it from HERE: http://www.majorgeeks.com/files/mscomctl.zip

    The file should be placed in your C:\WINDOWS\SYSTEM directory.
    Once it is there click START--> RUN and type "REGSVR32 MSCOMCTL.OCX" (No quotes) in the box to register this control.
    That should fix the problem.

    Or please register this control under Administrator role.

    Please check this similar case for detailed instruction:
    http://social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/448bd73d-ccf6-4415-9180-52c03bd3bcd4



    Best regards,
    Martin Xie


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.

    Monday, January 04, 2010 6:04 AM
    Moderator
  • If you have the 64-bit version of Windows 7, see the following:

    http://social.answers.microsoft.com/Forums/en-US/w7programs/thread/f96acaa3-90d7-437a-a9cc-9130eb17fdb4

    Just an FYI, all Visual Basic 6.0 runtime components are supported under Windows 7.


    Paul ~~~~ Microsoft MVP (Visual Basic)
    Monday, January 04, 2010 1:52 PM
  • H

     

    How obnoxious that you experts mark this as answered by posting a link which instructs the user to execute the command that  the OP clearly said in his 2 sentences generated the error.  Maybe this functionality should be outsourced  after all. Then I tried to vote against your answer being helpful,  and what do you know,  the only vote allowed  is positive, boy oh boy this is so objective I really must commend the whole process. I'm going back to acquiring MS products from bit torrent.

     

    I was only able  to fix it by reinstalling logitech setpoint 6.00. I couldn't  manually register the  MSCOCMCTL.OCX, varying errors from this one to DLLRegisterserver error code 0x08002801c, "to check if compatible with regsrv32 64 bit something  something". I think there are different versions of the OCX out there and a lot of uninstall programs delete a dll called  by it.

    • Proposed as answer by Karlsbad Wednesday, October 13, 2010 1:11 AM
    • Marked as answer by Martin_XieModerator Thursday, October 14, 2010 5:11 AM
    Wednesday, October 13, 2010 1:09 AM
  • Had error with the same code "DLLRegisterserver error code 0x08002801c" - all you need is to create a bat-file with "REGSVR32 MSCOMCTL.OCX" inside and run it as administrator.
    • Proposed as answer by sariley Wednesday, December 11, 2013 10:56 PM
    Wednesday, October 20, 2010 10:15 PM
  • To correct the error, first search your drive for MSCOMCTL.OCX to see if you have it. If not you can download it from HERE: http://www.majorgeeks.com/files/mscomctl.zip


    The file should be placed in your C:\WINDOWS\SYSTEM directory.
    Once it is there click START--> RUN and type "REGSVR32 MSCOMCTL.OCX" (No quotes) in the box to register this control.
    That should fix the problem.

    Or please register this control under Administrator role.
    ! If you have any feedback, please tell us.

     

    Everyone always forgets to mention the "Administrator role" or, like here, people overlook it.

    RUN AS ADMINISTRATOR

    RUN AS ADMINISTRATOR

    RUN AS ADMINISTRATOR

    This worked for me beautifully.  Get the afrementioned zip, extract to said directory ( C:\WINDOWS\SYSTEM directory. ) And instead of doing the "Start > Run" go to Start > Programs > Accessories > LEFT CLICK ON "Command Prompt" and choose "RUN AS ADMINISTRATOR"

    I repeat, RUN AS ADMINISTRATOR

    then use "CD C:\Windows\system"

    NOT \system32

    Then "regsvr32 mscomctl.ocx"

    Done.  

    *Edit:* FYI This was done on a Windows7 x64 Ult machine

    • Proposed as answer by sigenstroem Sunday, August 14, 2011 11:07 AM
    Sunday, October 31, 2010 7:42 AM
  • To correct the error, first search your drive for MSCOMCTL.OCX to see if you have it. If not you can download it from HERE: http://www.majorgeeks.com/files/mscomctl.zip


    The file should be placed in your C:\WINDOWS\SYSTEM directory.
    Once it is there click START--> RUN and type "REGSVR32 MSCOMCTL.OCX" (No quotes) in the box to register this control.
    That should fix the problem.

    Or please register this control under Administrator role.
    ! If you have any feedback, please tell us.

     

    Everyone always forgets to mention the "Administrator role" or, like here, people overlook it.

    RUN AS ADMINISTRATOR

    RUN AS ADMINISTRATOR

    RUN AS ADMINISTRATOR

    This worked for me beautifully.  Get the afrementioned zip, extract to said directory ( C:\WINDOWS\SYSTEM directory. ) And instead of doing the "Start > Run" go to Start > Programs > Accessories > LEFT CLICK ON "Command Prompt" and choose "RUN AS ADMINISTRATOR"

    I repeat, RUN AS ADMINISTRATOR

    then use "CD C:\Windows\system"

    NOT \system32

    Then "regsvr32 mscomctl.ocx"

    Done.  

    *Edit:* FYI This was done on a Windows7 x64 Ult machine

    I think you meant "RIGHT CLICK" on command prompt > "RUN AS ADMINISTRATOR",

    I had the same problem when trying to install mp3gain with Windows 7.  I got "MSCOMCTL.OCX to register successfully, by typing "REGSVR32 MSCOMCTL.OCX" (without quotes) inside a notepad and saving it as a bat file. Then "right clicking" on the bat file (which i names blah.bat) and selecting "RUN AS ADMINISTRATOR" and it worked perfectly.. 

    I downloaded the MSCOMCTL.OCX from Martin_Xie earliler post http://www.majorgeeks.com/files/mscomctl.zip unrared it to c:\windows\system directory, and yeah at first when i tried to register MSCOMCTL.OCX i got the error message "The module "MSCOMCTL.OCX" was loaded but the call to DllRegisterServer failed with error code 0x8002801c.

    After "right clicking" on the .bat file i made and selecting "RUN AS ADMINISTRATOR" it successfully registered. 

    Thanks to everyone on this page for their help, i can finally run mp3gain on Windows 7.

    • Proposed as answer by mykeeX Monday, April 04, 2011 12:12 AM
    Thursday, December 02, 2010 8:54 PM
  • I found that the KEY here is that since it is not a 32-bit control (the 32-bit one would be mscomctl32, not mscomctl) it MUST be in SYSTEM, not SYSTEM32. It it's in system32, it ABSOLUTELY WILL NOT INSTALL NO MATTER WHAT.

    I found this puzzling, but was glad to get it running. :)

    - J

    P.S. This is valid for Win7 Ultimate x64. Unclear how it behaves under Vista, although I can test that later if anyone is interested.

    Monday, December 20, 2010 10:23 PM
  • Update:

    Since I just got a new laptop and its 64bit so in the bat file it should look more like this

    REGSVR32 C:\Windows\system\MSCOMCTL.OCX and NOT REGSVR32 MSCOMCTL.OCX 

    as i stated in my previous post.

    1 download MSCOMCTL.OCX (http://www.majorgeeks.com/files/mscomctl.zip)

    2 unzip to c:\windows\system (NOT c:\windows\system32)

    3 open notepad and copy & paste REGSVR32 C:\Windows\system\MSCOMCTL.OCX

    4 to save this as a bat file from notepad just "save as" and in the "Save as type" it defaults to "Text Documents (*.txt) just choose the "All Files (*.*)" from the drop menu. Name the file anything you want {Filename.bat) but must have .bat after it

    5 then Right click on your new bat file and in the menu choose the RUN AS ADMINISTRATOR 

    6 enjoy

    • Proposed as answer by mykeeX Monday, April 04, 2011 12:44 AM
    Monday, April 04, 2011 12:44 AM
  • Just in case the link I posted over a year ago wasn't clear, I will clarify a few points.

    First, in 64-bit Windows, shared 32-bit components are installed under Windows\SysWOW64. They do not belong in Windows\System32, which is for 64-bit components. Second, there is both a 32 and 64-bit version of Regsvr32.exe. To register 32-bit components you should be using the version in Windows\SysWOW64. If you use the 64-bit version to try and register a 32-bit component you will get an error:

    Error Message When You Run Regsvr32.exe on 64-Bit Windows

    Third, and not often mentioned, you should run the Command prompt for Regsvr32.exe as an Administrator (because of UAC), so that the Registry can be updated.

    Sorry, but installing Logitech software is not an appropriate fix, especially if you're not running Logitech hardware. If you follow the above guidelines there should be no problem installing and registering this component. 


    Paul ~~~~ Microsoft MVP (Visual Basic)
    Monday, April 04, 2011 5:01 AM
  • Well, that thread did provide the answer, though it does seem similar to what the OP did.  I downloaded the MSCOMCTL.OCX file off a website and tried to regsiter it using regsvr32.exe and got the same error message as the OP.  However, after reading the solution in the link, what you actually have to do is copy the MSCOMCTL.OCX file into the directory C:\Windows\SysWOW64 and then run "regsvr32 mscomctl.ocx" WHILE IN that directory and it will install successfully.  And now my flac frontend finally works.
    Saturday, April 30, 2011 4:04 AM
  • Hello Paul,

    Thanks for your information -- I was able to fix my issue using your detailed information.  I appreciate your description on the directories (it certainly seems counterintuitive that the SysWOW64 directory under 64-bit Windows is for shared 32-bit components while the System32 directory contains the 64-bit compoenents!)

    FYI (my issue and fix)

    I'm running Windows 7 64-bit.  I tried running an older program that uses Visual Basic runtime components (Daphne - a laserdisc emulator).   I opened a command prompt and ran it as an administrator, then copied mscomctl.ocx, comdlg32.ocx, and mscomct2.ocx to my Windows\SysWOW64 directory. I then registered each component (while in Windows\SysWOW64) by typing:

    regsvr32 mscomctl.ocx

    regsvr32 comdlg32.ocx

    regsvr32 mscomct2.ocx

    Since I was running the command shell as an administrator, I no longer received errors.  Instead it said that each operation was successful.

    Thanks again Paul!

    Tuesday, May 03, 2011 2:01 PM
  • Hey everybody,

    I'm a little confused about where the file should be in Windows 7 64-bit.  Some people have had it work in Windows\System and others have had it work in Windows\SysWOW64.  Does it matter?  If not, why not?

    Thanks!

    Friday, May 27, 2011 8:12 PM
  • Hey everybody,

    I'm a little confused about where the file should be in Windows 7 64-bit.  Some people have had it work in Windows\System and others have had it work in Windows\SysWOW64.  Does it matter?  If not, why not?

    Thanks!


    It would probably work from either folder since the path to the file is entered into the Registry when using the Regsvr32 utility, however; it belongs in the SysWOW64 folder because that is where shared 32-bit ActiveX/COM components belong in 64-bit Windows. The System folder is for 64-bit components.
    Paul ~~~~ Microsoft MVP (Visual Basic)
    Saturday, May 28, 2011 12:28 AM
  • Thanks Paul!  That does clarify it.

    Jeff

    Monday, May 30, 2011 4:43 PM
  • Hi Clemson.  As far as I know, this component is not compatible with Windows 7, therefore, you must run your application using the Windows XP compatibility mode.
    Best regards,
    Edgar Lugo López
    No entiendes realmente algo a menos que seas capaz de explicarselo a tu abuela - Albert Einstein
    ty ELugoL...fixed my error with nettools 5
    Wednesday, August 31, 2011 9:20 PM
  • Dont mean to reawaken this conversation, but what happens if you cannot sign in as admin due to network security.

    Is there a way to use MSCOMCTL.OCX for Treeview and Listview controls in MS Access without actually registering the OCX?

    Can I get at the functionality using DECLAREs to the DLLs and if so, how could i go about it.

    Monday, February 13, 2012 10:04 PM
  • To correct the error, first search your drive for MSCOMCTL.OCX to see if you have it. If not you can download it from HERE: http://www.majorgeeks.com/files/mscomctl.zip


    The file should be placed in your C:\WINDOWS\SYSTEM directory.
    Once it is there click START--> RUN and type "REGSVR32 MSCOMCTL.OCX" (No quotes) in the box to register this control.
    That should fix the problem.

    Or please register this control under Administrator role.
    ! If you have any feedback, please tell us.

    Everyone always forgets to mention the "Administrator role" or, like here, people overlook it.

    RUN AS ADMINISTRATOR

    RUN AS ADMINISTRATOR

    RUN AS ADMINISTRATOR

    This worked for me beautifully.  Get the afrementioned zip, extract to said directory ( C:\WINDOWS\SYSTEM directory. ) And instead of doing the "Start > Run" go to Start > Programs > Accessories > LEFT CLICK ON "Command Prompt" and choose "RUN AS ADMINISTRATOR"

    I repeat, RUN AS ADMINISTRATOR

    then use "CD C:\Windows\system"

    NOT \system32

    Then "regsvr32 mscomctl.ocx"

    Done.  

    *Edit:* FYI This was done on a Windows7 x64 Ult machine

    This corrected the problem for me. Windows 7 32 bit.

    Kaylene

    Sunday, June 10, 2012 1:40 AM
  • thanx it works perfectly for me :P
    Thursday, August 16, 2012 5:06 PM
  • Well, that thread did provide the answer, though it does seem similar to what the OP did.  I downloaded the MSCOMCTL.OCX file off a website and tried to regsiter it using regsvr32.exe and got the same error message as the OP.  However, after reading the solution in the link, what you actually have to do is copy the MSCOMCTL.OCX file into the directory C:\Windows\SysWOW64 and then run "regsvr32 mscomctl.ocx" WHILE IN that directory and it will install successfully.  And now my flac frontend finally works.

    This worked perfectly for me as described, thanks!
    Saturday, August 18, 2012 12:46 AM
  • You know what you are talking about, worked perfectly... thank you.
    Monday, August 27, 2012 8:50 AM
  • If I don't have the 64-bit version of Windows 7 (32 Bit) where do I go?
    Thursday, September 06, 2012 10:06 PM
  • To correct the error, first search your drive for MSCOMCTL.OCX to see if you have it. If not you can download it from HERE: http://www.majorgeeks.com/files/mscomctl.zip


    The file should be placed in your C:\WINDOWS\SYSTEM directory.
    Once it is there click START--> RUN and type "REGSVR32 MSCOMCTL.OCX" (No quotes) in the box to register this control.
    That should fix the problem.

    Or please register this control under Administrator role.
    ! If you have any feedback, please tell us.

     

    Everyone always forgets to mention the "Administrator role" or, like here, people overlook it.

    RUN AS ADMINISTRATOR

    RUN AS ADMINISTRATOR

    RUN AS ADMINISTRATOR

    This worked for me beautifully.  Get the afrementioned zip, extract to said directory ( C:\WINDOWS\SYSTEM directory. ) And instead of doing the "Start > Run" go to Start > Programs > Accessories > LEFT CLICK ON "Command Prompt" and choose "RUN AS ADMINISTRATOR"

    I repeat, RUN AS ADMINISTRATOR

    then use "CD C:\Windows\system"

    NOT \system32

    Then "regsvr32 mscomctl.ocx"

    Done.  

    *Edit:* FYI This was done on a Windows7 x64 Ult machine

    Funcionou perfeitamente como o Putrid indicou, muito obrigado!
    Friday, September 14, 2012 10:11 PM
  • PERFECT Paul!  Followed your link to the next page & that answer worked like a charm.  my mccomctl.ocx was already in the SysWOW65 directory, but apparently unregistered.  I ran regsvr32 and VOILA!  Now I can print pdf file formats again!  Thank you soooo much!
    Wednesday, October 17, 2012 9:08 PM
  • I am sure this will do the work for any one.
    Thursday, June 06, 2013 8:53 AM
  • TO ALL:

    I too had to try to use VB6 to work on old projects.

    It took a lot of searching but Microsoft actually had an easy fix for me:

    If your project has this fault - per the question just follow this MS response:

    Try to type this in your browser: http:   //support.   microsoft.com  /kb/849175

    without the spaces.

    It is simple enough - but often not noticed.

    Good Luck!

    Wednesday, October 30, 2013 8:58 PM
  • great answer, had the same issue and that was the fix.....
    Thursday, February 20, 2014 7:57 PM
  • YOu Are greatttttttttttttttttttt

    thanx buddy.

    thanx alottt..it WORKED!!

    Monday, March 03, 2014 10:03 AM
  • Will a moderator move this to Off Topic, Regsvr32 has nothing to do with this forum?


    Thanks
    Cor


    Monday, March 03, 2014 12:40 PM
  • The faster method:

    1. Copy  MSCOMCTL.OCX into c:\

    2. Run CMD as administrator and type  REGSVR32 MSCOMCTL.OCX

    Friday, July 04, 2014 10:40 AM