Prev: Alternatives
Next: Unicode Labels
From: "Bill McCarthy" TPASoft.com Are Identity on 22 Jan 2009 04:37 Hi Eric, Rather than rollback the OS, as this is on XP and alter you can use a SxS manifest and simply add the manifest to your app's directory alongside with the old version of MsChrt20.ocx <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity name="Project1" version="1.0.0.0" processorArchitecture="X86" type="win32" /> <file name="mschrt20.ocx"> <comClass clsid="{3A2B370C-BA0A-11D1-B137-0000F8753F5D}" tlbid="{65E121D4-0C60-11D2-A9FC-0000F8754DA1}" progid="MSChart20Lib.MSChart.2" description="Microsoft Chart Control 6.0 (OLEDB)" /> </file> </assembly> Name that file your exe's name with a .manifest extension, eg: project1.exe.manifest You will also need to rename the name and version attributes in the assemblyidentity element. "Eric Chopin" <EricChopin(a)discussions.microsoft.com> wrote in message news:C41419E1-DEB7-440B-8BA0-4D74D01836EF(a)microsoft.com... > Hi Bill, > The company I'm working for (a bank) already got a problem with > some other VB apps used at the trading floors, so the team in charge > of maintaining the O/S opened a case at Microsoft support last week, > but it was closed (no idea why). Since the rollback of the security patch > seems > very difficult to perform, and the problem was confirmed on the VB > application > I maintain, the O/S team will reopen the case, but they do not expect a > quick > solution. That's why, in the short term I have asked to manually change > the > ocx > by an older version on patched workstations, and the O/S team is working > on a solution to rollback the changes of this patch (so far, such > attemps made the O/S unstable ....). > > Best regards, > > Eric > > > "Bill McCarthy" wrote: > >> Hi Eric, >> >> I have reproduced the problem with versions 6.1.98.12 (on Vista) and >> 6.1.98.13 (on XP). The bug is actually a very serious one, IMO, as they >> are >> using unchecked buffers. I have escalated a request to get a fix. I'll >> post back if I hear anything. >> If you are a MSDN subscriber I would raise a support incident as it is >> clearly their fault so should be no charge. >> >> >> >> "Eric Chopin" <EricChopin(a)discussions.microsoft.com> wrote in message >> news:F00E501C-B48D-427B-82F1-60E8788217A1(a)microsoft.com... >> > Dear Bill, >> > >> > Thanks for your reply. Unfortunately this later patch does not fix the >> > problem. >> > To reproduce the bug: >> > Config: XP pro 2002 Sp2, VB6 runtime SP6. >> > Add a MSChart and a button in a form, plus the below code, and when >> > clicking >> > on >> > the button, the app crashes (but works with an older version of the >> > ocx). >> > Best regards, >> > Eric >> > >> > Private Sub Command1_Click() >> > InitializeMSChartAA Me.MSChart >> > MsgBox "Test done!" >> > End Sub >> > >> > Public Sub InitializeMSChartAA(MSChart As MSChart) >> > Dim serX As Object >> > On Error GoTo EH >> > Set serX = MSChart.Plot.SeriesCollection.Item(1) >> > serX.DataPoints.Item(-1).DataPointLabel.LocationType = >> > VtChLabelLocationTypeAbovePoint >> > serX.DataPoints.Item(-1).DataPointLabel.ValueFormat = "0,0%" >> > Set serX = Nothing >> > GetOut: >> > Exit Sub >> > >> > EH: >> > MsgBox Err.Description >> > End Sub >> > >> > >> > "Bill McCarthy" wrote: >> > >> >> Hi Eric, >> >> >> >> As was posted in another thread, see: >> >> http://support.microsoft.com/kb/957924/ >> >> >> >> That appears to be a later version than the one you are testing >> >> against. >> >> >> >> >> >> "Eric Chopin" <EricChopin(a)discussions.microsoft.com> wrote in message >> >> news:A6530470-BBF5-4873-9BCF-ACC243A1F347(a)microsoft.com... >> >> > Dear all, >> >> > >> >> > I maintain a VB6 application including MSCharts controls, working >> >> > well >> >> > with >> >> > my old ocx file (mschrt20.ocx V6.00.88.4, March 14th 2000). >> >> > In my company, an upgrade was done on the operating system and this >> >> > file was upgraded to V 6.1.98.12 and the application becomes >> >> > unstable >> >> > (apparently, all old VB6 applications suffer from this upgrade and >> >> > not >> >> > only >> >> > regarding MSChart controls). >> >> > >> >> > For instance in my application I have a line coded this way: >> >> > >> >> > With MSChart.Plot.Backdrop >> >> > ... >> >> > End With >> >> > >> >> > With the new control the application gets an error on the With line >> >> > with description "bad function argument". On some other pieces of >> >> > codes >> >> > the >> >> > application crashes completely, like for instance on a line of type: >> >> > >> >> > Me.frm_MyFrame.Visible = True >> >> > >> >> > where Me is a VB.Form and frm_MyFrame is a VB.Frame >> >> > (I checked by editing the .frm file ), BUT the bug displayed is: >> >> > Visual >> >> > Basic >> >> > >> >> > Error >> >> > Signature -------------------------------------------------------- >> >> > >> >> > AppName vb6.exe AppVer 6.0.81.76 ModName: mschrt20.ocx >> >> > >> >> > ModVer: 6.1.98.12 Offset 000644ba >> >> > >> >> > Followed by a typical message "The instruction at.... referenced >> >> > memory >> >> > .... >> >> > at. The memory could not be read. Click OK to terminate the program" >> >> > >> >> > (Actually the crash only occurs on a frame that contains an MSChart >> >> > control, >> >> > not the others..) >> >> > >> >> > The origin of the problem seems to be a security update of >> >> > microsoft: >> >> > >> >> > http://support.microsoft.com/kb/932349/en-us >> >> > (critical security update MS08-070 ) >> >> > >> >> > Did anybody get a similar problem with this patch? >> >> > Any idea if there is a fix to this major regression?? >> >> > >> >> > Thanks and best regards, >> >> > >> >> > Eric >> >> > >> >> >> >> >> >>
From: Eric Chopin on 22 Jan 2009 06:19 Thanks Bill, I've tested successfully this solution. Especially, since the .exe is executed from a shared drive, I've only to copy the old ocx and the .manifest file in the same folder as the .exe file, without having to modify end-users pc. That's a good workaround. Thanks again and best regards, Eric "Bill McCarthy" wrote: > Hi Eric, > > Rather than rollback the OS, as this is on XP and alter you can use a SxS > manifest and simply add the manifest to your app's directory alongside with > the old version of MsChrt20.ocx > > <?xml version="1.0" encoding="UTF-8" standalone="yes"?> > <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> > <assemblyIdentity name="Project1" version="1.0.0.0" > processorArchitecture="X86" type="win32" /> > <file name="mschrt20.ocx"> > <comClass clsid="{3A2B370C-BA0A-11D1-B137-0000F8753F5D}" > tlbid="{65E121D4-0C60-11D2-A9FC-0000F8754DA1}" > progid="MSChart20Lib.MSChart.2" > description="Microsoft Chart Control 6.0 (OLEDB)" /> > </file> > </assembly> > > Name that file your exe's name with a .manifest extension, eg: > project1.exe.manifest > > You will also need to rename the name and version attributes in the > assemblyidentity element. > > >
From: "Bill McCarthy" TPASoft.com Are Identity on 22 Jan 2009 20:58
Hi Eric, Good to know. I will blog this should anyone else be searching for a fix for this bug. Still I hope we can get MS to fix this asap, as "security" updates like this shouldn't cause these kinds of bugs which in themselves might open other security issues. "Eric Chopin" <EricChopin(a)discussions.microsoft.com> wrote in message news:05046480-1693-4793-AC14-FE2B34CF207F(a)microsoft.com... > Thanks Bill, > > I've tested successfully this solution. Especially, since the .exe is > executed > from a shared drive, I've only to copy the old ocx and the .manifest file > in the same folder as the .exe file, without having to modify end-users > pc. > That's a good workaround. > Thanks again and best regards, > > Eric > > > "Bill McCarthy" wrote: > >> Hi Eric, >> >> Rather than rollback the OS, as this is on XP and alter you can use a SxS >> manifest and simply add the manifest to your app's directory alongside >> with >> the old version of MsChrt20.ocx >> >> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> >> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> >> <assemblyIdentity name="Project1" version="1.0.0.0" >> processorArchitecture="X86" type="win32" /> >> <file name="mschrt20.ocx"> >> <comClass clsid="{3A2B370C-BA0A-11D1-B137-0000F8753F5D}" >> tlbid="{65E121D4-0C60-11D2-A9FC-0000F8754DA1}" >> progid="MSChart20Lib.MSChart.2" >> description="Microsoft Chart Control 6.0 (OLEDB)" /> >> </file> >> </assembly> >> >> Name that file your exe's name with a .manifest extension, eg: >> project1.exe.manifest >> >> You will also need to rename the name and version attributes in the >> assemblyidentity element. >> >> >> > |