KB2687441 causing problems with common controls in Access-based System

After installing Security Update for Microsoft Office 2007 (KB2687441) our Access 2007 based project management system has stopped working.  Unfortunately, this particular update is not removable.

The first problem we discovered that when certain forms were opened, they would close straight away and fire the error "The OpenForm action was cancelled".


I tried unregistering and then re-registering MSCOMCTL.OCX. This did not help.

I then tried unregistering it, copying an older version of the file from a machine that hadn't been updated yet, and re-registering that version.

This solved the above error.

However, we have found that there are still some issues. Any form that contains a ListView control or a TabStrip control will fail on startup with errors such as "Object doesn't support this property or method" whenever these controls are referenced. (In particular, we are calling the ItemsItems.Clear method on the ListView, and trying to reference the caption property of a tab in the tab strip.)

None of these problems exist on machines that haven't installed KB2687441.

It was my understanding that both the tabstrip and listview were stored in MSCOMCTL.OCX, but I'm guessing there must be some other files that I also have to roll back to overcome these problems.

Any thoughts?
tassienerdAsked:
Who is Participating?
 
Jeffrey CoachmanMIS LiasonCommented:
This is why most Access developer only use the built in controls.

What are these MSCOMCTL.OCX controls doing that standard Access control cannot?
0
 
Sushil SonawaneCommented:
Perform the system restore and select the date before this KB2687441 installed on the server.
0
 
aornikCommented:
We had the same errors.

deleting the registry entry
[HKEY_CLASSES_ROOT\TypeLib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.0]
solved our problems with mscomctl.ocx
0
Cloud Class® Course: Microsoft Windows 7 Basic

This introductory course to Windows 7 environment will teach you about working with the Windows operating system. You will learn about basic functions including start menu; the desktop; managing files, folders, and libraries.

 
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
I would be very, very leery of deleting a registry key. There is no telling what sort of havoc you can wreak doing that.

As Jeff indicates, a more long term fix is to stop using non-compliant controls in Access. COM based controls (like mscomctl.ocx) are not very high up on the list when MSFT test new upates, and in fact I'd be surprised if they're even tested at all (and especially in environments where they are NOT intended to function, like Access).

Always remember - the bandaid ypu put on today will eventually be yanked off by a new MSFT update.
0
 
datAdrenalineCommented:
Do a  search for .exd files that share the same name.  They are in a folder under the users folder, I think under AppData... Anyway search for the .exd extension and be sure the search hidden folders.

Once you find the files, delete them.  They will be recreated by the vb runtim libraries.

For more info, do a bing/google search for "delete exd files", and you will get more information on this.
0
 
tassienerdAuthor Commented:
Thankyou for all the good suggestions.
Our ICT manager was not willing to go along with using System Restore to roll back the update so we had to find a way to make the system work with the update in place.

I agree that using all these controls in Access is not ideal. To give some context, this system has 94000 lines of code in about 800 forms, reports and modules, so even if our users were willing to live without the features of listviews over list boxes, and we found a way to get around the Tab control, we'd still be looking at a mammoth effort to strip them all out. I understand that a system this size is not best suited to Access, but it's the system we have in place and need to support.

In the end, we overcame this issue by:
1) un-registering the new control
2) reistering the old control
3) un-registering the old control
4) re-resitering the new control.

As several of you have pointed out, this is a 'band-aid'. Hopefully in time we can gradually replace this with something more stable.

thank you all for you input.
0
 
Jeffrey CoachmanMIS LiasonCommented:
<To give some context, this system has 94000 lines of code in about 800 forms, reports and modules, so even if our users were willing to live without the features of listviews over list boxes, and we found a way to get around the Tab control, we'd still be looking at a mammoth effort to strip them all out. I understand that a system this size is not best suited to Access, but it's the system we have in place and need to support.>

Thanks...
Most Experts here try just to notify folks of the downsides of these controls.
We won't beat you over the head with it though...
;-)
...because most all of us to are faced with projects where we have to:
    "Build with the Bricks we are given"

We are all glad that our posts helped you work toward a resolution.

;-)

Jeff
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.