KB960715 (IE7) is breaking Access apps
Graham Mandeno, Access MVP, have found, that latest security update for IE7 breaks Access applications using some of Microsoft ActiveX controls. Details below:
PROBLEM:
Access applications that incorporate certain VB6 ActiveX controls are failing on computers when the "critical security update" KB960715 is installed.
FURTHER INFORMATION:
The Security Advisory for KB960715
The update sets "kill bits" that disable certain third-party and Microsoft ActiveX controls, including the following:
Class Identifier | ActiveX Control |
{1E216240-1B7D-11CF-9D53-00AA003C9CB6} | Microsoft Animation Control 5.0 |
{3A2B370C-BA0A-11d1-B137-0000F8753F5D} | Microsoft Chart Control 6.0 |
{B09DE715-87C1-11d1-8BE3-0000F8754DA1} | Microsoft Animation Control 6.0 |
{cde57a43-8b86-11d0-b3c6-00a0c90aea82} | Microsoft DataGrid Control 6.0 |
{6262d3a0-531b-11cf-91f6-c2863c385e30} | Microsoft FlexGrid Control 6.0 |
{0ECD9B64-23AA-11d0-B351-00A0C9055D8E} | Microsoft Hierarchical FlexGrid Control 6.0 |
{C932BA85-4374-101B-A56C-00AA003668DC} | Microsoft Masked Edit Control 6.0 |
{248dd896-bb45-11cf-9abc-0080c7e7b78d} | Microsoft WinSock Control 6.0 |
Any form that uses these controls will give errors such as "There is no object in this control".
Any attempt to delete the ActiveX control and rebuild the form gives the error "Microsoft Access does not support this ActiveX control".
WORKAROUND:
Another KB article, KB957924, is a cumulative update rollup for VB6.
It includes newer versions (6.1.98.12) of the above controls that do not have the security vulnerability.
Unfortunately, this update may only be installed if you have VB6 installed.
However, it is possible to install KB957924 on a machine with VB6 and then deploy copies of the new OCX files to the affected end-user machines.
This workaround is unwieldy, as it requires an administrator to install and register the updated OCX files on every end-user machine.
SUGGESTION:
Microsoft should add the "safe" versions of the affected OCX files to the KB960715 update, so that instead of killing the old versions of those controls, the new, safe versions are installed and registered.
Furthermore, Microsoft should create another download which includes the "safe" versions of these OCX files so that machines that have been adversely affected by KB960715 can easily be updated without the need to have VB6 installed.
And some comments from other Access MVP, Sascha Trowitzsch:
BTW: I am using two tools to activate/deactivate ActiveX controls:
Labels: Access
11 Comments:
More on this issue:
http://windowssecrets.com/paid/090214/#patch1
This problem can manifest itself in a number of ways - an application I support started throwing spurious 3163 errors when updating boolean fields as soon as this kb was applied. Thanks for the suggestions on fixes.
- Gerry
I have looked around all over. The problem seems to be simplistic. Developers are getting ActiveX components from a place other then there development studio. Be that MS Office Access, or another program. You can easily extract the msflxgrd.ocx file from the MSI file. However without VB6_SP6 you will not be able to develop with it in MS Office Access.
Wonder if there is a way to set a registry flag to allow Microsoft Access to allow developing with the new msflxgrd.ocx and other activeX controls.
-Rack
It may be a licensing issue. VB controls are automatically licensed if Visual Studio/Visual Basic is installed, but an LPK license file is needed on any other machine.
The next problem is to create a valid license for the new controls.
I am coming from a HTA application background, but it may apply to VBA as well.
See this link
http://blogs.msdn.com/askie/archive/2009/02/20/certain-vb-controls-no-longer-display-on-web-pages-after-installing-kb960715.aspx
You may also want to review the know issues at the end of this article: http://support.microsoft.com/kb/957924/en-us
Dear Alex,
I have faced the problem with the Mshflexgrid.ocx after installing the above update.
All others PC (did not install the VB6) can not use some file with Mshflexgrid.ocx.
The other problem is that, when I use TypeName(Mshfgd), the result is "Mshflexgrid3".
So, What I have to do to update all other PC (that did not install VB6).
Regards,
Le Van Duyet
Hi,
i think you need either use new version of controls from http://support.microsoft.com/default.aspx/kb/957924/en-us (you can try to install ocx manually) or uninstall update
Dear Alex,
I have use the new version of controls from http://support.microsoft.com/default.aspx/kb/957924/en-us
But, How can I update these controls at the other PC.
Tks,
Le Van Duyet
Hi Le,
i think you have to create a setup package and run it on all PCs running your app
These are licensed controls. You can't legally copy them willy-nilly and use them from Access without an Access developer license or VB6 license.
Thanks for wwriting
Post a Comment
<< Home