Home All Groups Group Topic Archive Search About

MSCHRT20.ocx can no longer be used on web pages after security upd

Author
18 Feb 2009 11:16 AM
Adrian-P
Since the security update of old VB6 controls KB957924, our intranet web
pages can no longer display charts using mschrt20.ocx.

It appears to be a licensing issue with the new object.

-----

On a client computer...

a) If you use the CLSID of 3A2B370C-BA0A-11D1-B137-0000F8753F5D in the
object tag, the red cross appears.  The 'phoenix bit' alternate CLSID doesn't
appear to be working (I think it is, see below)

b) If you clear the kill bit, and use the same CLSID of
3A2B370C-BA0A-11D1-B137-0000F8753F5D, it works.  

So far so good, except that the kill bit is set whether the the object is
installed, or whenever MS roll up the kill bits in a security update, so
doing this is a messy and temporary fix.

* If you use the alternate CLSID of 62B025F5-F551-44A9-8BA8-0118EFB9127C, it
should work, but doesn't. Red cross again.

On my VS6/.NET development computer, either CLSID works; the only difference
being that my computer doesn't rely on the LPK file licensing the objects.

-----

It looks to me like the lpk file is licensing
3A2B370C-BA0A-11D1-B137-0000F8753F5D, but not
62B025F5-F551-44A9-8BA8-0118EFB9127C.  In scenario (a) I think the phonenix
bit is working, and IE is trying to instantiate on the alternate CLSID, but
that the license manager then blocks the object creation.

I've tried recreating the lpk file against the new object, but interestingly
apart from the line that changes every time you create an LPK, the bulk of
the file is identical.  And the new license doesn't work either.

Am I right?  If so how do I license the new object so it will work in tandem
with the MS kill bit?  Help! Has anyone got this working?

Thanks,
Adrian

Author
2 Mar 2009 9:20 PM
Thebig
Try this.

Delete the mschrt20.ocx file from c:\windows\system32

The either paste this into a .reg file and run or delete these keys manually.

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\CLSID\{3A2B370C-BA0A-11D1-B137-0000F8753F5D}]
@="Microsoft Chart Control 6.0 (SP4) (OLEDB)"

[-HKEY_CLASSES_ROOT\CLSID\{3A2B370C-BA0A-11D1-B137-0000F8753F5D}\Control]

[-HKEY_CLASSES_ROOT\CLSID\{3A2B370C-BA0A-11D1-B137-0000F8753F5D}\Implemented
Categories]

[-HKEY_CLASSES_ROOT\CLSID\{3A2B370C-BA0A-11D1-B137-0000F8753F5D}\Implemented
Categories\{0DE86A52-2BAA-11CF-A229-00AA003D7352}]

[-HKEY_CLASSES_ROOT\CLSID\{3A2B370C-BA0A-11D1-B137-0000F8753F5D}\Implemented
Categories\{0DE86A53-2BAA-11CF-A229-00AA003D7352}]

[-HKEY_CLASSES_ROOT\CLSID\{3A2B370C-BA0A-11D1-B137-0000F8753F5D}\Implemented
Categories\{0DE86A57-2BAA-11CF-A229-00AA003D7352}]

[-HKEY_CLASSES_ROOT\CLSID\{3A2B370C-BA0A-11D1-B137-0000F8753F5D}\Implemented
Categories\{40FC6ED4-2438-11CF-A3DB-080036F12502}]

[-HKEY_CLASSES_ROOT\CLSID\{3A2B370C-BA0A-11D1-B137-0000F8753F5D}\Implemented
Categories\{40FC6ED5-2438-11CF-A3DB-080036F12502}]

[-HKEY_CLASSES_ROOT\CLSID\{3A2B370C-BA0A-11D1-B137-0000F8753F5D}\Implemented
Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4}]

[-HKEY_CLASSES_ROOT\CLSID\{3A2B370C-BA0A-11D1-B137-0000F8753F5D}\Implemented
Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}]
[-HKEY_CLASSES_ROOT\CLSID\{3A2B370C-BA0A-11D1-B137-0000F8753F5D}\InprocServer32]
@="C:\\WINDOWS\\system32\\MSCHRT20.OCX"

[-HKEY_CLASSES_ROOT\CLSID\{3A2B370C-BA0A-11D1-B137-0000F8753F5D}\MiscStatus]
@="0"

[-HKEY_CLASSES_ROOT\CLSID\{3A2B370C-BA0A-11D1-B137-0000F8753F5D}\MiscStatus\1]
@="131473"

[-HKEY_CLASSES_ROOT\CLSID\{3A2B370C-BA0A-11D1-B137-0000F8753F5D}\ProgID]
@="MSChart20Lib.MSChart.2"

[-HKEY_CLASSES_ROOT\CLSID\{3A2B370C-BA0A-11D1-B137-0000F8753F5D}\Programmable]
[-HKEY_CLASSES_ROOT\CLSID\{3A2B370C-BA0A-11D1-B137-0000F8753F5D}\ToolboxBitmap32]
@="C:\\WINDOWS\\system32\\MSCHRT20.OCX, 1"

[-HKEY_CLASSES_ROOT\CLSID\{3A2B370C-BA0A-11D1-B137-0000F8753F5D}\TypeLib]
@="{65E121D4-0C60-11D2-A9FC-0000F8754DA1}"

[-HKEY_CLASSES_ROOT\CLSID\{3A2B370C-BA0A-11D1-B137-0000F8753F5D}\Version]
@="2.0"
[-HKEY_CLASSES_ROOT\CLSID\{3A2B370C-BA0A-11D1-B137-0000F8753F5D}\VersionIndependentProgID]
@="MSChart20Lib.MSChart"

[-HKEY_CLASSES_ROOT\MSChart20Lib.MSChart]
@="Microsoft Chart Control 6.0 (SP4) (OLEDB)"

[-HKEY_CLASSES_ROOT\MSChart20Lib.MSChart\CLSID]
@="{3A2B370C-BA0A-11D1-B137-0000F8753F5D}"

[-HKEY_CLASSES_ROOT\MSChart20Lib.MSChart\CurVer]
@="MSChart20Lib.MSChart.2"

[-HKEY_CLASSES_ROOT\MSChart20Lib.MSChart.2]
@="Microsoft Chart Control 6.0 (SP4) (OLEDB)"

[-HKEY_CLASSES_ROOT\MSChart20Lib.MSChart.2\CLSID]
@="{3A2B370C-BA0A-11D1-B137-0000F8753F5D}"

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX
Compatibility\{3A2B370C-BA0A-11D1-B137-0000F8753F5D}]
"Compatibility Flags"=dword:00000400

After I did this, the mschrt downloaded and displayed just fine.

Hope this helps.
TheBig

Show quoteHide quote
"Adrian-P" wrote:

> Since the security update of old VB6 controls KB957924, our intranet web
> pages can no longer display charts using mschrt20.ocx.
>
> It appears to be a licensing issue with the new object.
>
> -----
>
> On a client computer...
>
> a) If you use the CLSID of 3A2B370C-BA0A-11D1-B137-0000F8753F5D in the
> object tag, the red cross appears.  The 'phoenix bit' alternate CLSID doesn't
> appear to be working (I think it is, see below)
>
> b) If you clear the kill bit, and use the same CLSID of
> 3A2B370C-BA0A-11D1-B137-0000F8753F5D, it works.  
>
> So far so good, except that the kill bit is set whether the the object is
> installed, or whenever MS roll up the kill bits in a security update, so
> doing this is a messy and temporary fix.
>
> * If you use the alternate CLSID of 62B025F5-F551-44A9-8BA8-0118EFB9127C, it
> should work, but doesn't. Red cross again.
>
> On my VS6/.NET development computer, either CLSID works; the only difference
> being that my computer doesn't rely on the LPK file licensing the objects.
>
> -----
>
> It looks to me like the lpk file is licensing
> 3A2B370C-BA0A-11D1-B137-0000F8753F5D, but not
> 62B025F5-F551-44A9-8BA8-0118EFB9127C.  In scenario (a) I think the phonenix
> bit is working, and IE is trying to instantiate on the alternate CLSID, but
> that the license manager then blocks the object creation.
>
> I've tried recreating the lpk file against the new object, but interestingly
> apart from the line that changes every time you create an LPK, the bulk of
> the file is identical.  And the new license doesn't work either.
>
> Am I right?  If so how do I license the new object so it will work in tandem
> with the MS kill bit?  Help! Has anyone got this working?
>
> Thanks,
> Adrian