Thursday, February 12, 2009

Access 2007 error using MSHFLXGD.OCX - Because of your security settings and current secruity policy, this control is disabled

After the Feb. 11, 2009 security updates from Microsoft, I had some customers call and inform me that a database I had written for them no longer was fully functional.  A form that was using MSHFLXGD.OCX (Microsoft Hierarchical FlexGrid Control 6.0) was not displaying.  Instead they would get the message:

 

Because of your security settings and current security policy, this control is disabled.  To modify your policy and enable the database, use the Message Bar.

 

A little research later and I read about a security update that went out to fix a memory leak in this control: http://www.microsoft.com/technet/security/bulletin/ms08-070.mspx

 

One of the security updates overnight disabled the old control and resulted in that error above.

  

To fix this issue:

 1) Download the Microsoft Visual Basic 6.0 Service Pack 6 Security Rollup Update from Microsoft.

 

2) Extract these files to your computer.  I was unable to run the MSI file since my workstation no longer has VB6 on it.  So, I had to extract the contents of this MSI to get at the .OCX.

  • msiexec.exe /a [PathToMSIFile] /qb TARGETDIR=[PathToExtractTo]

 

3) Unregister the old OCX file.

  • regsvr32 /u mshflxgd.ocx

 

4) Replace your old copy with the new file that you extracted above

 

5) Register the new OCX file.

  • regsvr32 mshflxgd.ocx

 

 

NOTE: I also was informed that on Vista, you need to run Regsvr32 as an Administrator, or you will get the error:  

The module “mshflxgd.ocx” was loaded but the call to DllRegisterServer failed with error code 0x8002801c. 

5 comments:

  1. Chris,

    Thank you for this helpful post. I had a similar problem with the mscomctl2.ocx embedded into an Access 2007 form and your post pointed the way to a patch. Several of my subscribers on www.dvd-register.com had complained about the issue and I suspected it was caused by an MS patch but was making futile progress until your blog came up on a google search

    Tom Orlofsky
    Owner of the DVD Register

    ReplyDelete
  2. I'm glad to hear this post helped. I couldn't find any information on the internet when I ran into this problem and so I wanted to get something indexed out there. I thought about adding every filename for the ActiveX controls in that VB6.0 security rollup, but I never did. I'm glad you found it anyways and it helped out! :)

    ReplyDelete
  3. thank u , it helped me out too

    ReplyDelete
  4. Nice work Chris - I was having the exact same issue, and I appreciate the well-written procedures and analysis.

    But the larger and darker issue for me is the continual battle I'm fighting (and you too, it sounds like) to keep a large library of code functioning with an ever-shifting landscape of frameworks, service packs, security settings, etc.

    I haven't made the jump to open source development, but I wonder if it would mitigate some of these problems. Thoughts?

    Thanks again,
    K.N.

    ReplyDelete
  5. Thank you so much!! I had given up but decided to do another web search, found this and it worked.

    Waldemar

    ReplyDelete