• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 569
  • Last Modified:

Access 2003: mcomstl.ocx - just noticed and googled this error

Hi EE,

My users were recently reporting that my form was aborting.

On my pc everthing worked fine, so was puzzled.

Checked my user's vba references and saw that MISSING: Windows Control 6.0 (sp6)

i got temp. administrator rights to my user's pc and download the mscomctl.ocx file from
windows, rebooted, and still getting error.

So went back to google and found this:

http://www.fmsinc.com/MicrosoftAccess/Controls/mscomctl/

http://support.microsoft.com/kb/2687323


My IT guy can give me support tommorrow bec. he is busy today.

My knowledge of registry is weak, so can you pls give me instructions in simple English so
that i can work with him tommorrow?

a) do we delete existing ocx file?
b) do we delete the registry entry for the ocx file?
c) how do we back up the existing registry file?
d) do we rename the exisitng ocx file, and copy an ocx file off of a working pc?
e) how come my pc was not affected?

tx for your help, sandra
0
mytfein
Asked:
mytfein
  • 7
  • 7
  • 6
  • +1
7 Solutions
 
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform)Commented:
Not sure what I could add beyond the FMS article, which seems to spell it out pretty well.  Those are pretty much the steps needed.

mx
0
 
als315Commented:
May be you had no mscomctl.ocx at all? Usually after mentioned update error is not "MISSING..."
Start from checking of version of mscomctl.ocx file (you can see it in file properties). If version is 6.01.9834, follow steps from FMS site. If you have other version, you should only register this ocx (proper syntax for 32 and 64 bit versions Windows versions you can also find in FMS article), but  in this case be ready to follow this aticle when this update will change version of mscomctl.ocx
0
 
Jim Dettman (Microsoft MVP/ EE MVE)PresidentCommented:
<<a) do we delete existing ocx file?>>

 I'd play safe and rename it to something like:

 mscomctl.ocx.sandra

<<b) do we delete the registry entry for the ocx file?>>

   No.  Regsrv32 will take care of that.

<<c) how do we back up the existing registry file?>>

   Don't bother, but if you want, within regedit, click the node or the top one for the whole registry) and Export off the menu.  If you do the whole registry, be very carefull not to do anything else while your fixing this.

<<d) do we rename the exisitng ocx file, and copy an ocx file off of a working pc?>>

  Yeah that's the easyist.

<<e) how come my pc was not affected?>>

  hard to say for sure, but Microsoft updates are not always rolled out at the same time across a network.  Can be several days in-between stations.

Jim.
0
Veeam Disaster Recovery in Microsoft Azure

Veeam PN for Microsoft Azure is a FREE solution designed to simplify and automate the setup of a DR site in Microsoft Azure using lightweight software-defined networking. It reduces the complexity of VPN deployments and is designed for businesses of ALL sizes.

 
Jim Dettman (Microsoft MVP/ EE MVE)PresidentCommented:
I just looked at the MSKB Aritcle and I would do the batch file:

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

It's cut & paste and hard to mess up with that plus it covers 32 bit and 64 bit.

Jim.
0
 
mytfeinAuthor Commented:
Hi Gentlemen,

tx for writing

a)  i searched my pc for the ocx and here is the screen shot
    it is in 2 places:

    1) is i386 the Windows folder?

    2) the second folder for a software call Xtender which is for document imaging
     (searches of scanned documents that are in the Xtender database such as students
     evaluation forms)

scrn
Using als's idea, i clicked properties in the i386 version and here is the screen shot:

scrn2
b) so do i download the ocx from windows
                   or
    copy the ocx from my pc

c) whichever version you tell me to use, do i follow that by registering the ocx
   
d) so what sequence of events"
         1) uninstall old ocx
          2) unregister (delete?) old ocx with regedit
          3) install new ocx (from website or from my pc)
          4) register again    


You see: from FMS i see these steps:

e)  from FMS page:

     Unregister the new MSCOMCTL.OCX and make a backup of it
     Install and register an old (legacy) version of the MSCOMCTL.OCX file
     Replace the legacy control with the new one
     Re-register the new control

      their steps are a little different than mine listed in (d)

      they want the new control to replace the legacy, so what's the purpose of them asking
      to install the legacy first

pls advise, tx for your help, s

p.s.  with the new EE interface, how can i see the gender icon that used to show next to your response?



         

a) did i do the right thing by downloading the ocx from microsoft website to user's pc?

b) do i have to register the downlaoded ocx after running the EXE to install the ocx
    if yes, do i follow the fms article

    if yes, since i did not register the ocx today after the download so is  that why Access form is still failing?
0
 
mytfeinAuthor Commented:
Hi JDettman,

tx for writing...

i am weak with registry stuff...

what's the diff pls between regedit and regsvr32

is regedit manual , and regsvr the equivalent yet typed into a .bat file as a script?

tx, s
0
 
mytfeinAuthor Commented:
Hi JDettman,

so did i just do the write thing by copying the working mscomctl.ocx on my pc to safe area
in case  a windows update will affect my machine

or now that windows knows about this bug, maybe a future update will have the bug corrected?

pls advise, tx, s
0
 
als315Commented:
" 1) is i386 the Windows folder?" - no, it is initial XP distributive files (I think even before all SP)

" 2) the second folder for a software call Xtender which is for document imaging
     (searches of scanned documents that are in the Xtender database such as students
     evaluation forms)" - it is windows dll (and ocx also) hell. Many versions of libraries are disributed with diffferent software.

I think you should copy working mscomctl.ocx from your computer, copy it to c:\windows\system32 folder and register. Create folder (c:\distr, for example and place your copy of mscomctl.ocx here)
Open command prompt (Run - cmd) and enter commands:
cd \windows\system32
copy c:\distr\mscomctl.ocx .
regsvr32 mscomctl.ocx
If you will have any errors, show them.
copy c
0
 
Jim Dettman (Microsoft MVP/ EE MVE)PresidentCommented:
<< 1) is i386 the Windows folder?>>

 No, as Anthony said, it's the source distribution file from when windows was first installed.  This is the original version of the file as installed.

<<what's the diff pls between regedit and regsvr32>>

 Regedit is a program used for editing the registry.  Regsvr32 is something different; it's used to register active-x and DLL programs in the registry.

 With the batch file however, you will need to use neither yourself.  Both will be called from the commands contained in the batch file.

  You also do not need to do anything with the files; just execute the batch file alone and it should fix it.

  I do see however that the FMS page claims that the Microsoft patch doesn't work and it mentions not removing the prior registration from the registry, but the key they reference is what is handled by the very first line of the batch file, so maybe Microsoft updated the fix.

  In any case, try the batch file alone first and see if it resolves the problem without doing anything else.

Jim.
0
 
mytfeinAuthor Commented:
Hi Anthony and Jim,

tx for elaborating....

Now i understand the diff bet regedit and regsvr32

@Jim:
   the .bat file mention system32

  i understand @Anthony's approach, if i was to go with the .bat file approach then:

  so if my mcomctl.ocx file does not live in the windows\system32 folder,
           should i first do @Anthony's suggestion of copying my ocx file
                                   to windows\system32

and afterwards run the .bat file


Also, why are there 2 regsvr32 sentences in the .bat file,
      why does one have the /u in the sentence?

tx for your help, s
0
 
Jim Dettman (Microsoft MVP/ EE MVE)PresidentCommented:
OK, here it is line by line:

' Delete the registry key for the old OCX
reg delete hkcr\typelib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.0 /f

' Is this a 64 bit OS?
if exist %systemroot%\SysWOW64\cscript.exe goto 64

' 32 bit OS
' Unregister the currently referenced OCX (/U)
%systemroot%\system32\regsvr32 /u mscomctl.ocx

' Re-register the control
%systemroot%\system32\regsvr32 mscomctl.ocx
exit

' 64 bit OS - same stuff as above, but we need to look in the 32 bit directories
:64
%systemroot%\sysWOW64\regsvr32 /u mscomctl.ocx
%systemroot%\sysWOW64\regsvr32 mscomctl.ocx
exit

According to Microsoft, you don't need to do anything with the files because the new .OCX they distributed will work.  The problem however is that it won't unless the old one is "un-installed" first.  And unregistering the control alone is not enough to "un-install" it; a specific registry key must be deleted as well.

  I've found this at a couple clients already, but I've gotten mine to all work with just a re-register.  However we had a question here on EE last week where re-registering alone did not work.  
 
  Like I said, just try the batch file as it is no different in essense then the FMS steps at this point and with a cut and paste, it's hard to mess up.

 Just make sure if your on a Vista or Win 7 machine you right click and do a "Run As Administrator"

Jim.
0
 
mytfeinAuthor Commented:
tx so much everybody for all the help and info...

my understanding has improved greatly...

when i speak to the IT guy tomm. will have a stronger foundation

if i have any questions tomm, will open a related question

tx again, s
0
 
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform)Commented:
Actually, did you try the "Fix it for me" ... as shown about 1/2 down in http://support.microsoft.com/kb/2687323  ?

fix it
0
 
mytfeinAuthor Commented:
hi mx,

i missed that...

tx....s
0
 
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform)Commented:
I works ... I just tried in on my A2003 system.
Before - An app where I use the Treeview control - broke
After -   Now working.

Quick fix ...

From the FMS page, click the KB for your Version of Office (I posted the O2003 link above).

Good Luck....

mx
0
 
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform)Commented:
Problem is  ... none of the suggested fixes are going to work in a typical corp environment.  

Whereas we are just beginning Win 7 deployment across the enterprise ... and I have a Win 7 system (because I'm on the Win 7 Change Advocate Team) ... I just tried the fix on my Win7 system ... and it will not run ... because, IT has completely locked down Win7, compared to XP, where everyone had local Admin rights.  

So ... Microsoft had damn well come up with a HotFix or an emergency patch - otherwise, a LOT of apps are going to be broke indefinitely.

mx
0
 
Jim Dettman (Microsoft MVP/ EE MVE)PresidentCommented:
@mx,

<<So ... Microsoft had damn well come up with a HotFix or an emergency patch - otherwise, a LOT of apps are going to be broke indefinitely.>>

 The admins can push out the batch file via GPO (Group Policy Object) or net login script.

Jim.
0
 
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform)Commented:
Question is ... will they :-)
0
 
Jim Dettman (Microsoft MVP/ EE MVE)PresidentCommented:
<<Question is ... will they :-) >>

 Well this is not just Access apps; any app that uses that control is going to break and it's a popular control.

Jim.
0
 
mytfeinAuthor Commented:
Hi Gentlemen,

follow up:

a) before i posted this question, i had gone to Windows website to download ocx file
    and that did not work

b) this morning tried some of your ideas in this order:
     1) clicked "fix it" - that did not work
     2) ran .bat file to register unregister that - did not work
     3) then created .bat file to follow FMS suggestions LIKE THIS - it did not work

           http://www.fmsinc.com/MicrosoftAccess/Controls/mscomctl/

          we followed steps thru 1-10, to do as below
                   personally, i do not understand  steps 5-10


FMS script in a .bat file:

Regsvr32.exe /u C:\Windows\System32\MSCOMCTL.OCX
pause
copy c:\windows\system32\mscomctl.ocx c:\jak\BAK
pause
copy c:\jak\mscomctl.ocx c:\windows\system32
pause
Regsvr32.exe C:\Windows\System32\MSCOMCTL.OCX
pause

Regsvr32.exe /u C:\Windows\System32\MSCOMCTL.OCX
pause
del c:\windows\system32\mscomctl.ocx
pause
copy c:\jak\bak\mscomctl.ocx c:\windows\system32
pause
Regsvr32.exe C:\Windows\System32\MSCOMCTL.OCX
pause

c)  so we went to Windows to manually do a Windows update
     it took at least an hour to scan, download, and install

     AND  THIS SOLVED THE PROBLEM

d) so i have to ask IT  to do the Windows update on all our pcs

tx again for your help, s
0
 
Jim Dettman (Microsoft MVP/ EE MVE)PresidentCommented:
So we don't know all the wrinkles yet :(

Jim.
0
 
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform)Commented:
yikes!
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 7
  • 7
  • 6
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now