[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1067
  • Last Modified:

Mscomctl.ocx in memory?

I have an Access application that utilizes the mscomctl.ocx common library.  With last week's Microsoft security update, they removed some 'vulnerable' controls from the library (one of which we were using).  Therefore, we had to release a new version of our program with a new reference within our Access project to the 'new' mscomctl.ocx file and package it in our installer file.  

It works like a charm in almost every instance, except one customer I am having problems with.  For some reason half of their PC's are still throwing an error when they access the form that utilizes this control.  I've tried manually re-registering, unregistering and re-registering the control to no avail.  One thing I did notice is that another program that is loaded on these PC's utilizes it's own copy of mscomctl.ocx in a completely different directory.

So, my question is - I'm wondering if ocx files get loaded into memory somewhere and that perhaps what is happening is that my program is not even trying to use the 'new' ocx file, but rather reverting to an old version that is sitting in memory somewhere?
0
SpaceCoastLife
Asked:
SpaceCoastLife
  • 4
  • 4
1 Solution
 
Jim Dettman (Microsoft MVP/ EE MVE)PresidentCommented:
I got bit by this too; I've had a number of users with apps die (thanks Microsoft).   In my case however, so far every one has been fixed by re-registering the mscomctl.ocx in C:\windows\system32, which is where I have my references set.

<<So, my question is - I'm wondering if ocx files get loaded into memory somewhere and that perhaps what is happening is that my program is not even trying to use the 'new' ocx file, but rather reverting to an old version that is sitting in memory somewhere? >>

 There used to be an Occache folder with IE 4.0 and earlier, but  don't believe there is one now.  I would:

1. Make sure your pointed to the one in C:\windows\system32 with your VBA reference.
2. re-register that control
3. reboot and then try the app.

Jim.
0
 
SpaceCoastLifeAuthor Commented:
Jim,
Already tried that.  It has worked on several other machines at this customer's location, but still 3 of them elude me.  Where would the O cache folder be and how can I clear it just in case that is the culprit?
0
 
Jim Dettman (Microsoft MVP/ EE MVE)PresidentCommented:
I just double checked and it's no longer used.  What I would try is:

1. Clearing C:\TEMP and C:\Windows\TEMP
2. Do a search of the drive for mscomctl.ocx.   For any outside of C:\windows\system32 (and just for the moment), rename them to .old (or use your name).
3. re-register the one in C:\windows\system32 again.
4. Reboot
5. Load your app.  Remove the current reference. Close the app and Access.
6. re-open, readd the reference, and do a compile and save.

 See if that fixes it and doesn't break anything else.  If it does break anything, rename the .old's back to .ocx and then see if your app still works.

Jim.
0
Free recovery tool for Microsoft Active Directory

Veeam Explorer for Microsoft Active Directory provides fast and reliable object-level recovery for Active Directory from a single-pass, agentless backup or storage snapshot — without the need to restore an entire virtual machine or use third-party tools.

 
SpaceCoastLifeAuthor Commented:
The customer is deployed an mde, not an mdb so I cannot access the references.
0
 
Jim Dettman (Microsoft MVP/ EE MVE)PresidentCommented:
<<e customer is deployed an mde, not an mdb so I cannot access the references. >>

 Do everything but steps 5 and 6 and see if it runs.  if not, you'll need to put a MDB on there, run steps 5 & 6, check that it works, and if so, create a new MDE, and then get rid of the MDB.

Jim.
0
 
SpaceCoastLifeAuthor Commented:
No luck.  I am reverting to a reformat unfortunately.
0
 
SpaceCoastLifeAuthor Commented:
Thank you for all the suggestions, however, none of them have worked.
0
 
Jim Dettman (Microsoft MVP/ EE MVE)PresidentCommented:
FYI,

 Fixes from Microsoft:

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

Office 2007:
http://support.microsoft.com/kb/2687441

Office 2010:
http://support.microsoft.com/kb/2597986

 Trick is that the control needs to be un-registered and a registry key deleted for the old control, then re-registered for the new control.

Jim.
0

Featured Post

Fill in the form and get your FREE NFR key NOW!

Veeam is happy to provide a FREE NFR server license to certified engineers, trainers, and bloggers.  It allows for the non‑production use of Veeam Agent for Microsoft Windows. This license is valid for five workstations and two servers.

  • 4
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now