Results 1 to 18 of 18

Thread: Not sure this is the right place for this question but here goes

  1. #1

    Thread Starter
    Junior Member
    Join Date
    May 2016
    Location
    Henryville PA
    Posts
    22

    Not sure this is the right place for this question but here goes

    In trying to load Windows Common controls 6 I get "object library not registered". I run Windows 7 64 bit Ultimate. Has anyone else had this and has a solution been found?

  2. #2
    PowerPoster
    Join Date
    Feb 2006
    Posts
    24,482

    Re: Not sure this is the right place for this question but here goes

    This sounds like it may be the old, old issue of Win7 SP1 with an IE or Office update that replaced the OCX and failed to register it properly.

    Trying to find the ulitmate fix for that is tough now, but search here for threads describing the same issue. Many of them have links to a fix.
    Last edited by dilettante; Jul 7th, 2016 at 08:49 AM. Reason: unfortunate typo

  3. #3
    Lively Member
    Join Date
    Oct 2010
    Posts
    75

    Re: Not sure this is the right place for this question but here goes

    try to unregister it then register it again via regsvr32 /u mscomctl.ocx regsvr32 mscomctl.ocx. .respectively. be sure to run these commands as administrator
    Last edited by Kunical; Jul 6th, 2016 at 02:46 PM.

  4. #4

    Thread Starter
    Junior Member
    Join Date
    May 2016
    Location
    Henryville PA
    Posts
    22

    Re: Not sure this is the right place for this question but here goes

    I tried un-registering and re-registering the files you mention. Even though this seemed to go well the problem remains.

    As I said I'm running Windows 7 64 bit. The various .ocx files are in the windows\sysWOW64 folder and not in the
    Windows\system32. I also tried copying the mscomctl.ocx file to the windows\system32 and registering it there but this
    didn't help either.

    I have an old copmuter with Windows XP 32 bit installed. When I install VB 6 and Video Studio there (I have
    the professional version) all goes well and the ocx files are in the windows\system32 folder.

    When I install VB 6 in Windows 7 64 bit I do so as Administrator.

    Where do I go from here? I suppose I could go back to Windows XP and I assume any program developed there will run on Windows 7. I was hoping to not take this approach.

  5. #5
    Lively Member
    Join Date
    Oct 2010
    Posts
    75

    Re: Not sure this is the right place for this question but here goes

    Try to run CMD (As Administrator) then type the following

    Code:
    cd c:\windows\SysWOW64
    regtlib msdatsrc.tlb
    See if that helps.

  6. #6
    PowerPoster Elroy's Avatar
    Join Date
    Jun 2014
    Location
    Near Nashville TN
    Posts
    9,855

    Re: Not sure this is the right place for this question but here goes

    A couple of ideas for you.

    First, the SysWOW64 folder is absolutely the best place for it. The explanation for this is rather technical and convoluted, but this is the correct place for these 32 bit ActiveX (OCX) controls.

    First, make sure you've got VB6 Service Pack 6 installed. In case you don't have it, here's a link to it:
    http://motionlabresources.org/VB60SP...v2-x86-ENU.msi

    Secondly, try opening your form files that are in the project (*.FRM) with notepad (or other ASCII editor) and see if there are any OCX declarations in them. The line you're looking for will look something like:

    Code:
    Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0"; "MSCOMCTL.OCX"
    Or maybe:
    Code:
    Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
    If that line is in your FRM file, delete it (or possibly change the 2.0 to 2.1, or vice-versa).

    There are different versions of the MSCOMCTL.OCX floating around, and when you get one version declared in a FRM file, and another is registered on your computer, it causes problems.

    I hope this helps.

    Regards,
    Elroy
    Any software I post in these forums written by me is provided "AS IS" without warranty of any kind, expressed or implied, and permission is hereby granted, free of charge and without restriction, to any person obtaining a copy. To all, peace and happiness.

  7. #7

    Thread Starter
    Junior Member
    Join Date
    May 2016
    Location
    Henryville PA
    Posts
    22

    Re: Not sure this is the right place for this question but here goes

    I've tried this before. The command is not recognized.

  8. #8

    Thread Starter
    Junior Member
    Join Date
    May 2016
    Location
    Henryville PA
    Posts
    22

    Re: Not sure this is the right place for this question but here goes

    Thanks for this - I'll give it a try and get back to the group with the outcome. I don't have SP6 and this may help.

  9. #9
    PowerPoster
    Join Date
    Feb 2006
    Posts
    24,482

    Re: Not sure this is the right place for this question but here goes

    Not having SP6 installed is pretty inexcusable, it is well over a decade old update.

    I doubt it will fix this though because it sounds exactly like the problems I mentioned earlier where an update has an interface compatibility break and the update process mismanaged registration. Manually registering doesn't do a thing to help.

    Another thing that has helped people in the past with similar sounding issues was to make sure your Projects have "Upgrade ActiveX Controls" checked. This is the default and normal way to have things, but some people turn it off for whatever reason and later experience problems like this after an update.

    Look at MS12-060: Description of the security update for Office 2003 and Office 2003 Web Components: August 14, 2012.

    Also, you might browse through VB6 IDE cannot load MSCOMCTL.OCX after update KB 2687323.
    Last edited by dilettante; Jul 7th, 2016 at 09:04 AM.

  10. #10

    Thread Starter
    Junior Member
    Join Date
    May 2016
    Location
    Henryville PA
    Posts
    22

    Re: Not sure this is the right place for this question but here goes

    Quote Originally Posted by dilettante View Post
    Not having SP6 installed is pretty inexcusable, it is well over a decade old update.

    I doubt it will fix this though because it sounds exactly like the problems I mentioned earlier where an update has an interface compatibility break and the update process mismanaged registration. Manually registering doesn't do a thing to help.

    Another thing that has helped people in the past with similar sounding issues was to make sure your Projects have "Upgrade ActiveX Controls" checked. This is the default and normal way to have things, but some people turn it off for whatever reason and later experience problems like this after an update.

    Look at MS12-060: Description of the security update for Office 2003 and Office 2003 Web Components: August 14, 2012.

    Also, you might browse through VB6 IDE cannot load MSCOMCTL.OCX after update KB 2687323.
    ------------------------------------------------------------------------------------------------------------------
    I'm pretty much an amateur here although I was heavily involved in the use of Fortran 4 for solving complex math problems(systems of partial differential equations) back in the 60s. I still enjoy solving little problems and writing my own trivial applications in VB - I was unaware of the upgrade to VB 6.0.

    I appreciate your help and will pursue your suggestions. I have Office 365 so the comments about office 2003 may not apply. Your reference to stackoverflow looks promising.

  11. #11
    PowerPoster
    Join Date
    Feb 2006
    Posts
    24,482

    Re: Not sure this is the right place for this question but here goes

    It wasn't only Office updates that triggered this, it also happened with some IE "Patch Tuesday" update on Win7 machines. April of some years back.

  12. #12

    Thread Starter
    Junior Member
    Join Date
    May 2016
    Location
    Henryville PA
    Posts
    22

    Re: Not sure this is the right place for this question but here goes

    Quote Originally Posted by Elroy View Post
    A couple of ideas for you.

    First, the SysWOW64 folder is absolutely the best place for it. The explanation for this is rather technical and convoluted, but this is the correct place for these 32 bit ActiveX (OCX) controls.

    First, make sure you've got VB6 Service Pack 6 installed. In case you don't have it, here's a link to it:
    http://motionlabresources.org/VB60SP...v2-x86-ENU.msi

    Secondly, try opening your form files that are in the project (*.FRM) with notepad (or other ASCII editor) and see if there are any OCX declarations in them. The line you're looking for will look something like:

    Code:
    Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0"; "MSCOMCTL.OCX"
    Or maybe:
    Code:
    Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
    If that line is in your FRM file, delete it (or possibly change the 2.0 to 2.1, or vice-versa).

    There are different versions of the MSCOMCTL.OCX floating around, and when you get one version declared in a FRM file, and another is registered on your computer, it causes problems.

    I hope this helps.

    Regards,
    Elroy
    In the version of the program written on WinXP (32 bit) such statements occur - but this is on a different computer (I may wind up using WinXP mode in Windows 7). These do not appear when the same code is written in WIN7. Also, if I try to load the code written on the old computer (WINXP) into VB6 in Win7 it won't load with a similar "object.." message. But if I make an executable out of it WINXP this will run in WIN7.

    Looking at the registry on my WIn7 machine most of the references to mscomtl.ocx indicate version 2.0 - but not all as some are version 2.2

    I'll keep looking for solutions to this.

  13. #13
    PowerPoster Elroy's Avatar
    Join Date
    Jun 2014
    Location
    Near Nashville TN
    Posts
    9,855

    Re: Not sure this is the right place for this question but here goes

    Plogsties,

    Just further FYI. The SysWOW64 folder occurs only on Win-64-bit OS machines. Microsoft readily admits that the name is a bit misleading, but this folder is a place to put 32-bit ActiveX and DLL files to indicate to the Windows OS that they are actually 32-bit, and should be treated as such.

    Since Win-32-bit only runs 32-bit programs, there's no need for this SysWOW64 folder.

    Also, with respect to VB6, I've never found a need to use any of the "Compatibility" modes, and I use the mscomctl.ocx controls in virtually everything I do. I do tend to turn the Windows AERO features off when I'm using the IDE, but I've run the IDE using the AERO features and it works just fine. It's just a bit sluggish at times with AERO features turned on (specifically Peek, Desktop Composition, Glass, and Fade).

    Regards,
    Elroy
    Any software I post in these forums written by me is provided "AS IS" without warranty of any kind, expressed or implied, and permission is hereby granted, free of charge and without restriction, to any person obtaining a copy. To all, peace and happiness.

  14. #14

    Thread Starter
    Junior Member
    Join Date
    May 2016
    Location
    Henryville PA
    Posts
    22

    Re: Not sure this is the right place for this question but here goes

    Quote Originally Posted by Elroy View Post
    Plogsties,

    Just further FYI. The SysWOW64 folder occurs only on Win-64-bit OS machines. Microsoft readily admits that the name is a bit misleading, but this folder is a place to put 32-bit ActiveX and DLL files to indicate to the Windows OS that they are actually 32-bit, and should be treated as such.

    Since Win-32-bit only runs 32-bit programs, there's no need for this SysWOW64 folder.

    Also, with respect to VB6, I've never found a need to use any of the "Compatibility" modes, and I use the mscomctl.ocx controls in virtually everything I do. I do tend to turn the Windows AERO features off when I'm using the IDE, but I've run the IDE using the AERO features and it works just fine. It's just a bit sluggish at times with AERO features turned on (specifically Peek, Desktop Composition, Glass, and Fade).

    Regards,
    Elroy
    Are you running 64 bit? I haven't yet been able to access mscomtl.ocx and am currently using my old WinXp setup. I'm hoping some new ideas (or updates) eventually allow me to use WIn7 64 bit. I'm not ready to upgrade to Windows 10 - I tend to wait until a new OS has been around awhile - but I do wonder if the same problem occurs with Win10.

    Thanks for your comments.

  15. #15

    Thread Starter
    Junior Member
    Join Date
    May 2016
    Location
    Henryville PA
    Posts
    22

    Re: Not sure this is the right place for this question but here goes

    More about this. I opened the vbp file for the project where I tried to access mscomtl.ocx. The three lines:
    Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#..\..\..\Windows\SysWOW64\stdole2.tlb#OLE Automation
    Object={F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0; comdlg32.ocx
    Object={6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.3#0; comctl32.ocx
    Object={38911DA0-E448-11D0-84A3-00DD01104159}#1.1#0; comct332.ocx.
    appeared. When I used regedit to check out these lines the keys for comctl32.ocx and comct332.ocx were not found. Specifically, I searched for {6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.3#0; comctl32.ocx
    and for 6B7E6392-850A-101B-AFC0-4210102A8DA7
    and neither were found.
    The same goes for comct332.ocx.

    I looked in the C:\Windows\sysWOW64 folder for the ocx files. Both comctl32.ocx and comct332.ocx are there.

    Does this information give any clue as to what is going on here?

  16. #16
    PowerPoster Elroy's Avatar
    Join Date
    Jun 2014
    Location
    Near Nashville TN
    Posts
    9,855

    Re: Not sure this is the right place for this question but here goes

    There is no reference to mscomctl.ocx in that vbp file.

    You should have a line that reads something like the following:
    Code:
    Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0; MSCOMCTL.OCX
    Or possibly:
    Code:
    Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX
    ... if you have an older version of mscomctl.ocx.

    Basically, this is what happens when you're in the IDE and you click Project/Components/Controls/Microsoft Windows Common Controls 6.0 (SP6).

    Also, the .FRM files that use any of these controls will have a similar line placed in the .FRM file. However, this line in the .FRM files can be safely deleted with notepad, with no ill effects, so long as the line in the .VBP file is still there.

    Just for FYI, I'm running Win7-64, but I've run the VB6-IDE on all kinds of Windows machines.

    Best Of Luck,
    Elroy
    Any software I post in these forums written by me is provided "AS IS" without warranty of any kind, expressed or implied, and permission is hereby granted, free of charge and without restriction, to any person obtaining a copy. To all, peace and happiness.

  17. #17

    Thread Starter
    Junior Member
    Join Date
    May 2016
    Location
    Henryville PA
    Posts
    22

    Re: Not sure this is the right place for this question but here goes

    An update. As of today - 7/17/2016 - I have not been able to solve this problem and I've had to go back to using my old computer with WinXP to access the controls I want to use.

  18. #18

    Thread Starter
    Junior Member
    Join Date
    May 2016
    Location
    Henryville PA
    Posts
    22

    Resolved Re: Not sure this is the right place for this question but here goes

    After looking around I finally was able to resolve this issue. The VB 6.0 Pro install disc has no it a program regocx32.exe which did the trick. The command Regocx32.exe "C:\windows\SysWOW64\comctl32.ocx" did the trick. The program regocx32.exe does not offer any indication of success.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width