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.Installation
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:
- 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.
- For each file, right-click the file in Windows Explorer, then clickProperties.
- 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.map Mfc42.pdb Mfc42d.dll 6.00.8168.0 6.00.8267.0 Mfc42d.lib Mfc42d.map Mfc42d.pdb Mfc42u.dll 6.00.8168.0 6.00.8267.0 Mfc42u.lib Mfc42u.map Mfc42u.pdb Mfc42ud.dll 6.00.8168.0 6.00.8267.0 Mfc42ud.lib Mfc42ud.map Mfc42ud.pdb Mfcd42d.dll 6.00.8168.0 6.00.8267.0 Mfcd42d.lib Mfcd42d.map Mfcd42d.pdb Mfcd42ud.dll 6.00.8168.0 6.00.8267.0 Mfcd42ud.lib Mfcd42ud.map Mfcd42ud.pdb Mfcn42d.dll 6.00.8168.0 6.00.8267.0 Mfcn42d.lib Mfcn42d.map Mfcn42d.pdb Mfcn42ud.dll 6.00.8168.0 6.00.8267.0 Mfcn42ud.lib Mfcn42ud.map Mfcn42ud.pdb Mfco42d.dll 6.00.8168.0 6.00.8267.0 Mfco42d.lib Mfco42d.map Mfco42d.pdb Mfco42ud.dll 6.00.8168.0 6.00.8267.0 Mfco42ud.lib Mfco42ud.map 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 FixesFixed 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:
FIX: CDialog::Create() ReturnsIncorrect Value Calling EndDialog
FIX: MFC Doesn't CallCPrintDialog::OnInitDialog
FIX: Assert in Appui1.cpp Line 215in MFC SDI/MDI Application
FIX: Call to CWnd::MoveWindowcauses Stack Overflow
FIX: CString Serialization CausesAccess Violation
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.
Heap compatibility problems as described in the following two KnowledgeBase articles:
PRB: Invalid Page Fault inMsvcrt.dll
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:
Updated Visual J++ Files
- Passing in an unallocated array for an out-only SAFEARRAY parameterto a late-bound method call will fail.
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 http://msdn.microsoft.com/visualjFinding 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:http://support.microsoft.com/support
To build a Visual Studio Service Pack query:
- Choose "Any Products" from the list.
- Set the search type to "Keywords."
- Enter one of the following as your search phrase:
kbvs600sp2 kbvs600sp2bug kbvs600sp2fix
- Click "Find."
For the latest product information, please see the Visual Studio Web siteat: