How do I replace a Visual Basic 6 runtime file killed by a Windows security update?
March 9, 2009 8:47 AM   Subscribe

A Visual Basic 6 (ugh) runtime file distributed with our internal Access database has been killed by a recent Windows security update. It's hard to gather support information (especially since VB6 is about 8.7 million years old) and so I was wondering if anyone out there can help me track down a more recent copy of the runtime file in question—msflxgrd.ocx—or otherwise fix the problem?

It's my understanding from reading a couple of tech forums that there is a patched version of msflxgrd.ocx that was rolled out in a VB6 security update some time in the last few years. However, we don't have VB6 installed on any of our machines so I can't run the patch program to get this one updated file. I don't want to get a copy from one of those FREE OCX W00T! websites that come up when searching for the filename, for pretty obvious reasons. Can anyone recommend a better way to get a copy?

In the meantime we have been uninstalling KB960715 on our PCs as a temporary workaround. I believe I could rewrite a key in the registry to make the security update stop killing the OCX but I would prefer not to meddle on individual machines like that if possible.

Any advice appreciated. Thanks!

P.S. I am WELL aware that we should be moving onwards and upwards with more modern tech, but for the short-to-medium term the nonprofit using this system really doesn't have the time or resources to rewrite the front end to use something other than this control. (Honestly, I'm really hoping to get something out to them today so they can get some work done again!)
posted by bcwinters to Computers & Internet (8 answers total)
According to this thread you can get the OCXs from Microsoft here, and it also mentions some workarounds.

(If you're not already, try putting into your Google searches to restrict results to Microsoft's site only).
posted by TheophileEscargot at 9:46 AM on March 9, 2009

Best answer: Microsoft has released updated runtime files, available for download here. Is this the update that requires a full installation of VB6 to run? If so, try extracting the files from the .msi installer file, and see if you can find the OCX there.

You can often extract the files from an .msi installer by running the command:

msiexec /a mypackage.msi

If that doesn't work, try this utility.

Can't test any of this, unfortunately, since I'm on a Mac at the moment.
posted by limon at 9:52 AM on March 9, 2009

Response by poster: I should have been more specific in my second paragraph—yes, the cumulative update rollup for the Visual Basic 6.0 Service Pack 6 is the patch that I couldn't run because I don't have the full version of Visual Basic 6 installed. Manually extracting the OCX using msiexec looks like it's doing the trick, I'll test it out and report back. Thank you for the ideas so far.

(I'm on a Mac right now too, limon, so I probably should have been thinking "hey, is there an analogous Windows program to Pacifist?")
posted by bcwinters at 10:08 AM on March 9, 2009

Best answer: OK, I can confirm that the msiexec approach works.

The /a switch just installs the package without complaining about VB6 being missing. If you want to explicitly dump the files into a directory, try:

msiexec /a VB60SP6-KB957924-x86-ENU.msi /qb TARGETDIR=c:\MyDir

I did this and fished the msflxgrd.ocx file for you. You can download it here. But I think you'd be better off installing the entire package.
posted by limon at 10:09 AM on March 9, 2009

Yikes, this should have been the download link.
posted by limon at 10:11 AM on March 9, 2009

Looks like others have solved this issue, but if you (or anyone else) ever have any technical issues with a MS security update, there is free 24hour support available.
posted by Diddly at 10:15 AM on March 9, 2009

Response by poster: Preliminary testing on my PC shows that the extracted copy of msflxgrd.ocx from the MSI is working even with the security update installed. Thanks very much!

(Diddly, I would have tried phone support but I assumed that they wouldn't offer help with VB6 as it has long been discontinued/abandoned.)
posted by bcwinters at 10:24 AM on March 9, 2009

These VB6 runtime files are supported based on the OS they shipped with. Assuming you're using Windows XP, 2003, or Vista, you are fully supported.

VB6 developer environment is what is out of support now (as of April 2008).

See MSDN for more details.

It would be great if you could take a few minutes to open a support request, so that this issue gets recorded and steps are taken to avoid the situation in the future. Otherwise, feel free to shoot me a mail with more info, and I'll try to get it to the right people.
posted by Diddly at 2:05 PM on March 9, 2009

« Older Is iTunes illogical or am I?   |   Help me find my favorite childhood picture book. Newer »
This thread is closed to new comments.