INFO: Visual Studio 6.0 Service Pack 2 Readme

This article has been archived. It is offered "as is" and will no longer be updated.
The Microsoft Visual Studio 6.0 Service Pack 2 Readme file contains thefollowing sections:
  • Overview.
  • Installation.
  • Notes on Fixes.
  • Finding More Information.
More information

The Microsoft Visual Studio 6.0 Service Pack 2 addresses known binarycompatibility bugs with certain run-time redistributable files in VisualStudio 6.0. This service pack also provides all the source files and debugversions of the Microsoft Visual C++ run-time components for Visual C++developers.

Before installing this service pack, shut down all Visual Studioapplications. Install this service pack whenever you have updated orchanged any of the applications in Visual Studio to ensure that you havethe latest fixes.

The Microsoft Visual Studio 6.0 Service Pack 2 is inclusive of Service Pack1.


To install the service pack, insert the compact disc into your computer'sCD-ROM drive. From the root directory of the service pack, run Setup. Setupwill detect the language of your computer's operating system and run one ofthe following setups:

   \fra\setup (French)   \deu\setup (German)   \enu\setup (English)   \jpn\setup (Japanese)   \esp\setup (Spanish)   \kor\setup (Korean)   \chs\setup (Simplified Chinese)   \cht\setup (Traditional Chinese)   \ita\setup (Italian)				
If your language setting is not in this list, the English version of Setupwill run.

Determining the Files That Setup Installs

Setup might not install all the files included in this service pack on yourcomputer. If you do not have a copy of the file on your computer, or if thefile on your computer is a more recent version than the one in the servicepack, Setup will not update the file on your computer.

Updating Files You Previously Modified

The primary way Setup determines which files to replace is by checking theversion information in a file's resources. However, some files, such astext files and nonbinary files, have no resource information. In thesecases, Setup uses the time stamp to determine which files need to bereplaced.If you have altered the time stamp on any of the Visual Studio componenttext files or files that do not have version information, then Setup maynot replace those files. Source files and header files are examples of somefiles you might have changed.

Determining the Update History of the Products Based on FileVersions

To determine which updates have been made since the initial release of aproduct, you will need to examine the version number in the properties ofone or more files.To determine the update status of a product use the following steps:

  1. Look in the table below to determine which file you want to examine.In some cases, you may need to examine more than one file to determinefully the product's update history.
  2. For each file, right-click the file in Windows Explorer, then clickProperties.
  3. Click the Versions tab, and compare the version listed with theversion in the table.

The following table lists the developer tools that have been updated inthis Visual Studio 6.0 Service Pack. It also lists the key files you shouldcheck to ascertain version information.
    Product             Files           Release       Version on SP2    ----------------------------------------------------------------    Visual Studio 6.0   Oleaut32.dll    2.30.4261     2.40.4268                        Olepro32.dll    5.00.4261     5.00.4268                        Asycfilt.dll    2.30.4261     2.40.4268                        Stdole2.tlb     2.30.4261     2.40.4268    Visual Basic 6.0    Msvbvm60.dll    6.00.8176     6.00.8268    Visual C++ 6.0      Afxodlgs.h                        Arccore.cpp                        Ctlinplc.cpp                        Dlgcore.cpp                        Dlgprnt.cpp                        Libcmt.lib                        Libcmtd.lib                        Libcmtd.pdb                        Mfc42.dll       6.00.8168.0   6.00.8267.0                        Mfc42.lib                                      Mfc42.pdb                        Mfc42d.dll      6.00.8168.0   6.00.8267.0                        Mfc42d.lib                                      Mfc42d.pdb                        Mfc42u.dll      6.00.8168.0   6.00.8267.0                        Mfc42u.lib                                      Mfc42u.pdb                        Mfc42ud.dll     6.00.8168.0   6.00.8267.0                        Mfc42ud.lib                                      Mfc42ud.pdb                        Mfcd42d.dll     6.00.8168.0   6.00.8267.0                        Mfcd42d.lib                                      Mfcd42d.pdb                        Mfcd42ud.dll    6.00.8168.0   6.00.8267.0                        Mfcd42ud.lib                                      Mfcd42ud.pdb                        Mfcn42d.dll     6.00.8168.0   6.00.8267.0                        Mfcn42d.lib                                      Mfcn42d.pdb                        Mfcn42ud.dll    6.00.8168.0   6.00.8267.0                        Mfcn42ud.lib                                      Mfcn42ud.pdb                        Mfco42d.dll     6.00.8168.0   6.00.8267.0                        Mfco42d.lib                                      Mfco42d.pdb                        Mfco42ud.dll    6.00.8168.0   6.00.8267.0                        Mfco42ud.lib                                      Mfco42ud.pdb                        Mfcs42.lib                        Mfcs42.pdb                        Mfcs42d.lib                        Mfcs42d.pdb                        Mfcs42u.lib                        Mfcs42u.pdb                        Mfcs42ud.lib                        Mfcs42ud.pdb                        Msvcrt.dll      6.00.8168.0    6.00.8337.0                        Msvcrt.lib                        Msvcrt.pdb                        Msvcrtd.dll     6.00.8168.0    6.00.8337.0                        Msvcrtd.lib                        Msvcrtd.pdb                        Nafxcw.lib                        Nafxcw.pdb                        Nafxcwd.lib                        Nafxcwd.pdb                        Oledlgs2.cpp                        Strftime.c                        Uafxcw.lib                        Uafxcw.pdb                        Uafxcwd.lib                        Uafxcwd.pdb                        Viewcore.cpp                        Winfrm.cpp                        Sbheap.c*                        Malloc.c*                        Free.c*                        Expand.c*                        Heapinit.c*                        Delete.cpp*                        New.cpp*                        Realloc.c*                        Calloc.c*                        Heapmin.c*                        Msize.c*                        Heapchk.c*                        Dbgheap.c*                        Winheap.h*    Visual J++ 6.0      Msjavx86.exe     5.00.2922 5.00.3161                        Classd.exe       5.00.2922 5.00.3161                        Classr.exe       5.00.2922      5.00.3161                        Msvj98.dll       6.00.8169 6.01.8349                        Msvj98ui.dll     6.00.8167 6.01.8349                        Jvc.exe          6.00.8167 6.00.8343                        Applet on HTML.vjp                        COM Control.vjp                        Console Application.vjp				

Uninstalling the Visual Studio 6.0 Service Pack

The service pack cannot be uninstalled independently of Visual Studio. Touninstall service pack updates to a Visual Studio 6.0 tool, such asVisual C++, you must uninstall the tool. The service pack updates will beuninstalled with it. Then, reinstall the tools without the updates.
Notes on Fixes

Fixed Visual C++ Issues

The following Visual C++ issues have been fixed with Service Pack 2 andwere also fixed with Service Pack 1.

Microsoft Foundation Classes (MFC) Issues:

193099 FIX: CDialog::Create() ReturnsIncorrect Value Calling EndDialog
193272 FIX: MFC Doesn't CallCPrintDialog::OnInitDialog
193102 FIX: Assert in Appui1.cpp Line 215in MFC SDI/MDI Application
192942 FIX: Call to CWnd::MoveWindowcauses Stack Overflow
193100 FIX: CString Serialization CausesAccess Violation

CRT Issues:
193509 FIX: Exception When Callingstrftime() Function

The following issues have been addressed in Service Pack 2 but were notaddressed in Service Pack 1.

MSVCRT.DLL was modified to include the Visual C++ 5.0 heap in addition tothe Visual C++ 6.0 heap for better compatibility. Visual C++ 6.0applications will continue to use the Visual C++ 6.0 heap and pre-VisualC++ 6.0 applications will use the Visual C++ 5.0 heap.

CRT Issues:

Heap compatibility problems as described in the following two KnowledgeBase articles:

190536 PRB: Invalid Page Fault inMsvcrt.dll
194550 PRB: Freeing Memory Multiple TimesMay Cause an Access Violation

When installing Service Pack 2, several of the CRT heap management fileswill be overwritten by updated files that include the code for both theVisual C++ 6.0 heap and the Visual C++ 5.0 heap. If you need to rebuildthe Visual C++ 6.0 static libraries, the Visual C++ 5.0 heap code will beincluded in your static library. It will not be used. The Visual C++ 5.0heap was added to this release to support compatibility problems that canarise due to the problems listed above. If you do not wish the Visual C++5.0 code to be included in your rebuilt static library, you should rebuildthe library using the original code that was released with Visual C++6.0.

The small block heap source files in the preceding Visual C++ 6.0 file listare flagged with an asterisk. Please be aware that the source files listedmatch the PDB files for the DLL version of the heap and do not correspondto the static CRT libraries which were not updated in this service pack.If you need to debug into the static CRT libraries, you need recopy theoriginal CRT source files from your product CD.

Fixed Visual Basic Issue

The following Visual Basic issue has been fixed with Service Pack 2 and wasalso fixed with Service Pack 1.
  • A run-time error can occur in compiled Visual Basic code when theapplication uses more than eight in-process COM DLLs.
If your applications download run-time components from the Web on setup,note that the following files have changed with this service pack:


Fixed Automation Issues

The following run-time issue has been fixed with Service Pack 2 and wasalso fixed with Service Pack 1:
  • Passing in an unallocated array for an out-only SAFEARRAY parameterto a late-bound method call will fail.

Updated Visual J++ Files

In response to the automation issues previously noted, the Microsoftvirtual machine files have been updated. This change will be applied bothon the computer where Visual J++ is installed, and also to the Visual J++redistributable folder so that Visual J++ applications that aredistributed will also include the updated Automation files.

To install and use the updated versions of the core Microsoft VM class files, runeither Classd.exe or Classr.exe.

This service pack contains the required Visual J++ files needed to complywith the preliminary ruling issued by Federal District Court Judge RonaldH. Whyte. These changes were not included in Visual Studio 6.0 ServicePack 1. For more information, please read \vj98\extwarn.txt in your VisualStudio folder or go to

Finding More Information

For more in-depth information about the Visual Studio issues that are fixedin this service pack, see the Microsoft Knowledge Base articles availableat:

To build a Visual Studio Service Pack query:
  1. Choose "Any Products" from the list.
  2. Set the search type to "Keywords."
  3. Enter one of the following as your search phrase:
       kbvs600sp2   kbvs600sp2bug   kbvs600sp2fix					

  4. Click "Find."
For the latest product information, please see the Visual Studio Web siteat:
NOTE: This reference is not part of the original readme text from the product release:

For additional information, please see the following article in the Microsoft Knowledge Base:

197298 INFO: Microsoft Visual Studio Service Packs, What, Where, Why

Article ID: 214591 - Last Review: 01/11/2015 02:27:10 - Revision: 4.0

  • kbnosurvey kbarchive kbbug kbinfo kbvs600sp2fix KB214591