PATCH: Visual C++ 4.2b Patch

ID: Q156934


The information in this article applies to:


SUMMARY

This is a technology update for Visual C++ 4.2, which updates Visual C++ 4.2 retail installation to work with the final release of the Win32 and ActiveX SDKs. In addition, AppWizard, ClassWizard and BSCMAKE.EXE have also been updated. For a list of details on what exactly has been updated, please see MORE INFORMATION section below or read the README.TXT file included in the patch.

If you downloaded the Visual C++ 4.2a patch from the Microsoft Web site, you will need to upgrade to Visual C++ 4.2b, using the 42bb1b2.EXE file shown below.

There are four self-extracting files available. These files contain different combinations of the patch. You should download the proper self- extracting files that best suit your needs. Following is a brief description of these four files:

VC42B.EXE

This file includes all components of the patch. It updates:

  1. the Win32 and ActiveX SDKs to the final release.


  2. MFC headers and libraries to sync up with the SDKs.


  3. AppWizard, ClassWizard and BSCMAKE.EXE.

    If you would like to patch all components in Visual C++ 4.2, you should download this file. Following is a list of files included in this self- extracting file:
    readme.txt - Release notes for the patch.
    install.txt - Patch install instructions.
    patch-nt.exe - The executable which runs the patch script.
    patchw32.dll - Support dll for patch-nt.exe.
    vc42b.rtp - The patch file for the \msdev tree.
    dll42b.rtp - The patch file for the MFC dlls in the \windows\system or \windows\system32 directory.
    For the MFC-only or SDK-only patch, please see the descriptions for MSDEV42B.EXE and SDK42B.EXE below.


42BB1B2.EXE

Use this patch instead of VC42b.EXE if you have downloaded and applied the Visual C++ 4.2a patch. This file only updates files modified by the Visual C++ 4.2a patch. Following is a list of files included in this self- extracting file:
readme.txt - Release notes for the patch.
install.txt - Patch install instructions.
patch-nt.exe - The executable which runs the patch script.
patchw32.dll - Support dll for patch-nt.exe.
vc42b2.rtp - The patch file for the \msdev tree.
dll42b2.rtp - The patch file for the MFC dlls in the \windows\system or \windows\system32 directory.
Note that when running this patch, it assumes you have the MFCCLSWZ.DLL from VC 4.2 installed in the MSDEV\BIN directory. You can copy the original MFCCLSWZ.DLL from Visual C++ 4.2 CD under the \msdev\bin\mfcclswz.dll directory.

MSDEV42B.EXE

This file doesn't update the SDK components. You must have received the final Win32 and ActiveX SDK files elsewhere. This file only patches MFC to sync up with the release version of the Win32 and ActiveX SDKs. The patch also updates AppWizard, ClassWizard and BSCMAKE.EXE. Following is a list of files included in this self-extracting file:
readme.txt - Release notes for the patch.
install.txt - Patch install instructions.
patch-nt.exe - The executable which runs the patch script.
patchw32.dll - Support dll for patch-nt.exe.
msdev42b.rtp - The patch file for the \msdev\mfc tree.
dll42b.rtp - The patch file for the MFC dlls in the \windows\system or \windows\system32 directory.
For the SDK patch, please download SDK42B.EXE.

SDK42B.EXE

This file patches Win32 and ActiveX SDKs in \msdev\include and \msdev\lib directories. It also patches AppWizard, ClassWizard and BSCMAKE.EXE. However, it doesn't patch MFC include and library files. If you haven't downloaded the MFC patch yet, you should do so, if your applications are MFC based. This file includes:
readme.txt - Release notes for the patch.
install.txt - Patch install instructions.
patch-nt.exe - The executable which runs the patch script.
patchw32.dll - Support dll for patch-nt.exe.
sdk42b.rtp - The patch file for the \msdev\include and \msdev\lib directories.
For the MFC patch, please download MSDEV42B.EXE.

For a list of files the patch updates, please see the following articles in the Microsoft Knowledge Base:
Q160491 Information on Files Modified by VC42b Patch: Part 1 of 4

Q160496 Information on Files Modified by VC42b Patch: Part 2 of 4

Q160505 Information on Files Modified by VC42b Patch: Part 3 of 4

Q160506 Information on Files Modified by VC42b Patch: Part 4 of 4
The following files are available for download from the Microsoft Software Library:
~ Vc42b.exe
~ 42bb1b2.exe
~ Msdev42b.exe
~ Sdk42b.exe
For more information about downloading files from the Microsoft Software Library, please see the following article in the Microsoft Knowledge Base:
Q119591 How to Obtain Microsoft Support Files from Online Services
This patch updates MFC files, as well as AppWizard, ClassWizard and BSCMAKE.EXE, and, optionally, the Win32 SDK and ActiveX SDK components.

MFC4.2 has support for the new ActiveX technologies in the ActiveX SDK. However, the support was based on a beta version of the SDK and some changes were necessary to make MFC work properly with the final versions of the ActiveX components. These components ship with Internet Explorer version 3.0 and the ActiveX SDK.

In addition to these changes, a number of problems were also fixed in MFC, OLE Control and Winsock support and are covered in the MORE INFORMATION section below.

Also, there was a minor code change necessary for MFC ActiveX Document support; the code generated by AppWizard has been updated as well.

There are three fixes in ClassWizard:

  1. Performance improvement for projects with a large number of classes (100 or more). Previously, ClassWizard was slow to appear, and there was a significant delay when switching tabs.


  2. Data members are now saved without closing ClassWizard. Previously, if you added data members and did not immediately close ClassWizard, the data members were not saved. Therefore, switching among the pages in ClassWizard caused the newly-added data members to be lost.


  3. Member functions are now saved without editing the source code. Previously, if you added member functions and did not edit the code immediately after adding the member functions, the member functions were not saved. Therefore, switching among the pages in ClassWizard caused the newly-added member functions to be lost.


We have updated BSCMAKE.EXE to fix a crashing problem on Windows NT and also to correct a problem with the .BSC file being corrupted on Windows 95.

The MFC 4.2 Reference also needs to be updated. Below is a summary of the changes.

  1. COleDateTime - two-digit dates are no longer valid. You must specify a date of 100 or greater.


  2. CInternetSession::OpenURL - two new flags added, INTERNET_FLAG_TRANSFER_ASCII and INTERNET_FLAG_TRANSFER_BINARY, to open files in text mode or binary mode.


  3. CAsyncMonikerFile changes - new member function CreateBindStatusCallback default binding changed from data-pull mode to data-push mode in GetBindInfo.


  4. To implement asynchronous monikers in ClassWizard, choose BSTR from the Add Property type list, not OLE_DATAPATH. OLE_DATAPATH still exists as a type choice, but you should not use it because it is no longer defined in the headers.



MORE INFORMATION

Below is a description of the bugs fixed in Visual C++ 4.2b patch. This information is also available in the README.TXT included in the patch. In each category, bugs that fit the general category are followed by bugs specific to a particular class in the MFC Library, in alpha order by class affected.

ActiveX Controls

COleControl Bugs

Database

Internet

AfxParseURL Bugs

CAsyncMoniker Bugs

CHttpConnection Bug

CHttpFile Bugs

CHttpServer Bug

CInternetException Bug

CInternetFile Bugs

CInternetSession Bugs

CMonikerFile Bugs

MFC APIs

MFC Sockets

OLE

OLE Document Objects

CDocObjectServerItem Bugs

CDocObjectServer Bugs

COleServerDoc Bug

COleCmdUI Bug

Resource Editor

Additional query words: 4.20a 4.20b


Keywords          : kbenv kbfile kbinterop kbole kbtool kbMFC kbVC kbWinsock 
Version           : 4.2
Platform          : NT WINDOWS 
Issue type        : 

Last Reviewed: July 7, 1999