INFO: Visual Studio 6.0 Service Pack 2 Readme

Article translations Article translations
Article ID: 214591
Expand all | Collapse all


The Microsoft Visual Studio 6.0 Service Pack 2 Readme file contains the following sections:
  • Overview.
  • Installation.
  • Notes on Fixes.
  • Finding More Information.

More information


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

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

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


To install the service pack, insert the compact disc into your computer's CD-ROM drive. From the root directory of the service pack, run Setup. Setup will detect the language of your computer's operating system and run one of the 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 Setup will run.

Determining the Files That Setup Installs

Setup might not install all the files included in this service pack on your computer. If you do not have a copy of the file on your computer, or if the file on your computer is a more recent version than the one in the service pack, 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 the version information in a file's resources. However, some files, such as text files and nonbinary files, have no resource information. In these cases, Setup uses the time stamp to determine which files need to be replaced. If you have altered the time stamp on any of the Visual Studio component text files or files that do not have version information, then Setup may not replace those files. Source files and header files are examples of some files you might have changed.

Determining the Update History of the Products Based on File Versions

To determine which updates have been made since the initial release of a product, you will need to examine the version number in the properties of one 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 determine fully the product's update history.
  2. For each file, right-click the file in Windows Explorer, then click Properties.
  3. Click the Versions tab, and compare the version listed with the version in the table.

The following table lists the developer tools that have been updated in this Visual Studio 6.0 Service Pack. It also lists the key files you should check 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
                        Mfc42.dll       6.00.8168.0   6.00.8267.0
                        Mfc42d.dll      6.00.8168.0   6.00.8267.0
                        Mfc42u.dll      6.00.8168.0   6.00.8267.0
                        Mfc42ud.dll     6.00.8168.0   6.00.8267.0
                        Mfcd42d.dll     6.00.8168.0   6.00.8267.0
                        Mfcd42ud.dll    6.00.8168.0   6.00.8267.0
                        Mfcn42d.dll     6.00.8168.0   6.00.8267.0
                        Mfcn42ud.dll    6.00.8168.0   6.00.8267.0
                        Mfco42d.dll     6.00.8168.0   6.00.8267.0
                        Mfco42ud.dll    6.00.8168.0   6.00.8267.0
                        Msvcrt.dll      6.00.8168.0    6.00.8337.0
                        Msvcrtd.dll     6.00.8168.0    6.00.8337.0

    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. To uninstall service pack updates to a Visual Studio 6.0 tool, such as Visual C++, you must uninstall the tool. The service pack updates will be uninstalled 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 and were 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 not addressed in Service Pack 1.

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

CRT Issues:

Heap compatibility problems as described in the following two Knowledge Base 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 files will be overwritten by updated files that include the code for both the Visual C++ 6.0 heap and the Visual C++ 5.0 heap. If you need to rebuild the Visual C++ 6.0 static libraries, the Visual C++ 5.0 heap code will be included in your static library. It will not be used. The Visual C++ 5.0 heap was added to this release to support compatibility problems that can arise 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 rebuild the 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 list are flagged with an asterisk. Please be aware that the source files listed match the PDB files for the DLL version of the heap and do not correspond to 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 the original CRT source files from your product CD.

Fixed Visual Basic Issue

The following Visual Basic issue has been fixed with Service Pack 2 and was also fixed with Service Pack 1.
  • A run-time error can occur in compiled Visual Basic code when the application 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 was also fixed with Service Pack 1:
  • Passing in an unallocated array for an out-only SAFEARRAY parameter to a late-bound method call will fail.

Updated Visual J++ Files

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

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

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

Finding More Information

For more in-depth information about the Visual Studio issues that are fixed in this service pack, see the Microsoft Knowledge Base articles available at: upport

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:

  4. Click "Find."
For the latest product information, please see the Visual Studio Web site at:


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: June 22, 2014 - Revision: 3.0
kbbug kbinfo kbvs600sp2fix KB214591
Retired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.

Give Feedback


Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from