Microsoft KB Archive/172610

= Visual Studio 97 Service Pack 2 Readme =

Article ID: 172610

Article Last Modified on 5/10/2006

-

APPLIES TO


 * Microsoft Visual C++ 5.0 Enterprise Edition
 * Microsoft Visual C++ 5.0 Professional Edition
 * Microsoft Visual Basic 5.0 Learning Edition
 * Microsoft Visual Basic 5.0 Professional Edition
 * Microsoft Visual FoxPro 5.0 Standard Edition
 * Microsoft Visual FoxPro 5.0a
 * Microsoft Visual J++ 1.1 Standard Edition
 * Microsoft Visual SourceSafe 5.0 Standard Edition
 * Microsoft Visual InterDev 1.0 Standard Edition
 * Microsoft Visual Studio 97 Enterprise Edition
 * Microsoft Visual Studio 97 Professional Edition

-



This article was previously published under Q172610



SUMMARY
This is a copy of the Visual Studio 97 Service Pack 2 Readme (English language version).



MORE INFORMATION
Microsoft Visual Studio 97 Service Pack 2 Readme

The Microsoft Visual Studio 97 Service Pack 2 Readme contains the following sections:

- Microsoft Visual Studio 97 Service Pack 2 provides an overview of Visual Studio Service Pack 2.

- Installing the Microsoft Visual Studio 97 Service Pack 2 provides installation and setup instructions.

- Notes on Fixes in the Visual Studio 97 Service Pack 2 provides overall information on the fixes and the interactions with other products.

- Finding More Information on Issues Resolved with This Service Pack provides instructions on how to search online for the Knowledge Base articles, and a list of the fixes and their summaries.

- Welcome to Visual Basic 5.0 Service Pack 2 contains the Visual Basic Readme for this Service Pack.

Microsoft Visual Studio 97 Service Pack 2 -

The Microsoft Visual Studio 97 Service Pack 2 includes all of the fixes in Service Pack 1 and upgrades the following Visual Studio applications:

Microsoft Visual Studio 97 (Professional and Enterprise Editions) Microsoft Visual Basic, version 5.0 (Professional and Enterprise Editions) Microsoft Visual C++, version 5.0 (Professional and Enterprise Editions) Microsoft Visual InterDev Microsoft Visual J++, version 1.1 Microsoft Visual SourceSafe, version 5.0 Microsoft Visual FoxPro, version 5.0 Microsoft Developer Network (MSDN) Library

These Visual Studio applications should be shut down before installing this Service Pack. 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.

Installing the Microsoft Visual Studio 97 Service Pack 2

To install the Service Pack, insert the compact disc into your computer's CD-ROM drive. If you have downloaded and decompressed the Service Pack, or if the Service Pack Setup does not automatically launch, go to the root directory of the Service Pack and run Setup. The setup.exe 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)

The Service Pack Setup detects any installed Visual Studio applications and the specific languages those applications use. (Files are checked for language, determined by the operating system settings and the individual file settings.) This Service Pack supports the following languages: Czech, English, French, German, Italian, Japanese, Korean, Portuguese, Russian, Simplified Chinese, Spanish, and Traditional Chinese.

During the installation, the Service Pack displays the files to be installed or updated based on the installed applications detected. After updating your installation of any of the Visual Studio applications, the Service Pack appends any actions to the VS97SP2.log file, which is stored in the root directory of the drive where Windows is installed. If you run the Service Pack again, any additional file updates are appended to the end of the log file.

Determining the Files That Setup Installs

Setup does not install all the files included in this Service Pack on your computer.

If the file does not exist already on your computer, in most cases Setup will not install an update for it. Setup does not make any entries in the log for files that are not present.

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. The setup log will state "File is up to date" for each file on your computer that is the same version or more recent than what is on the Service Pack.

Some .cab files are included in the Service Pack for redistribution only. Setup does not install them as part of the product update. You must copy them from the compact disc as needed.

Interpreting the Setup Log File

Setup will perform one of two actions for each file in its file list. If Setup detects that a file is not installed on your computer and the file is not required, Setup will neither install it nor create a report in the log. Otherwise, Setup will report in the log one of the following conditions for each file in its list:

- "Copied successfully": The file on your computer was successfully updated with the file in Setup's list.

- "Rename on reboot": The file on your computer was in use during the copy process. It will be replaced with the Service Pack copy on the next system reboot.

- "File is up to date": The Service Pack file contains version information and the file on your computer is the same or a later version. (Setup will also report this message if the date of any file  that does not contain version information, such as a text file, on your   computer is later than the date of the Service Pack file.)

All other errors, such as "Access denied" or "The system cannot find the path specified," are the operating system's error message for a particular problem. These errors indicate that Setup could not update the file.

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 non-binary 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. Please check the setup log to determine which files have been updated. You must evaluate each of the files that is not updated to determine whether you should use the Service Pack version.

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:

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 shipped in 1997 and have been updated in a Visual Studio 97 Service Pack. It also lists the key files you should check to ascertain version information:

Version on  Product               Files         Release     SP1         SP2 ---  Visual Basic 5.0      setupwiz.exe  5.00.3716   5.00.3905   5.00.3905 vb5ide.dll   5.00.3724   ---         5.00.4319

Visual C++ 5.0       link.exe      5.00.7022   5.02.7132   5.02.7132 eecxx.dll    5.00.7122   ---         5.00.7198

Visual InterDev 1.0  devisws.pkg   5.00.7022   5.00.7087   No update

Visual J++ 1.1       devjava.pkg   5.00.7022   5.00.7128   5.00.7128 devdbg.pkg   5.00.7022   5.00.7128   5.00.7198

Visual SourceSafe 5.0 ssscc.dll    5.00.2218   5.00.2219   5.00.2220

Visual FoxPro 5.0    vfp.exe       Build 402   No update   Build 412

NOTE: "No update" means that the product has no updates in the Service Pack. Also note that even for updated products, some of the files did not change from one service pack to the next.

The InfoViewer tool is used to display online help for Visual Studio and MSDN. It has also been updated several times.

Version on  Files       Release     MSDN April  SP1         MSDN July   SP2 -  ivauto.dll  5.00.7022   5.00.7022   5.00.7055   5.00.7055   5.00.7198 deviv.pkg  5.00.7022   5.00.7022   ---         5.00.7022   5.00.7198

Uninstalling the Visual Studio 97 Service Pack

The Service Pack cannot be uninstalled independently of the product tools being updated. To uninstall the Service Pack updates to a Visual Studio 97 tool, such as Visual C++ or Visual Basic, you must uninstall the tool. The Service Pack updates will be uninstalled with it. Then, reinstall the tools without the updates.

Because many interdependent components of the Visual Studio 97 tools are simultaneously updated by the Service Pack, the products may become unstable if you roll back of some of the updates, or if you run Setup in maintenance mode from the original product compact disc. This instability can occur because of the combination of files that are updated and files that are not updated.

To avoid an unstable combination of updated and old files, you must remove all of the Visual Studio 97 tools completely if you want to remove the Service Pack updates or if you want to remove parts of the product. If you had not installed everything in your Visual Studio suite before applying the Service Pack and you now want to add some of the remaining components, make the additions first, then apply the Service Pack.

Notes on Fixes in the Visual Studio Service Pack 2 --

Microsoft Visual Studio 97 Service Pack 2 includes all of the fixes in Service Pack 1.

NOTE: Do not use the Microsoft Utility RegClean 4.1 with Visual Studio or any Visual Studio Applications.

If you run RegClean 4.1 (build 97.71), you might find (if you have Visual C++ Enterprise or Visual Basic Enterprise installed) that the Database Designer no longer works, or (if you have Visual InterDev installed) the Database Designer and LinkView tools no longer work. If you have run RegClean, then reinstall the Visual Studio applications as appropriate.

Active Server Pages (ASP) Browser Component Does Not Recognize the Browser

If you are installing a new release of Microsoft Internet Explorer or Netscape Navigator, the ASP browser component object may not work in Visual Studio. The string identifying the browser may not be present in the browsecap.ini file, which is located on the Web server. The solution is to either manually change the file or download a newer version of the file from the Internet Information Server (IIS) Web site.

The version of the browsecap.ini file that currently ships with the Visual InterDev server components does not recognize Microsoft Internet Explorer 3.02 as a valid browser. This results in an error when running an .asp page using the browser component in Microsoft Internet Explorer 3.02.

An updated version of the browsecap.ini file as well as a 1.0b updated version of Active Server Pages is available at: http://www.microsoft.com/iis/. Once there, click the "get IIS" button and choose "Other free software," then "Updates for IIS." Choose a new compressed or uncompressed browsecap.ini file to download.

A full download of Active Server Pages English 1.0b is available under "get iis" as well. The 1.0b English version provides full DBCS enabling and some fixes.

Updates to SQL Server and Visual Database Tools

You must download SQL Server Service Pack 3 for working with Visual Database Tools and/or Visual InterDev.

The SQL Server Service Pack 3 is available at: http://www.microsoft.com/sql/ServicePak.htm.

SQL Server Service Pack 3 fixes several issues with the relational engine of Visual Database Tools including:

- A query with two or more RIGHT/LEFT OUTER JOIN clauses resulted in a  syntax error. Now they parse correctly and generate the correct result.

- Some "complex" queries and views with five or more tables would stop the server. This resulted in a TDS Protocol error and a subsequent stop of  Visual Studio. This issue has been corrected.

Visual Database Tools/Visual InterDev still requires, as a minimum, SQL Server Service Pack 1, but installing SQL Server Service Pack 3 is recommended.

Microsoft Internet Explorer Security Options and InfoViewer

InfoViewer, the integrated online documentation viewer included with MSDN and Visual Studio, relies on the Microsoft Internet Explorer security settings for active content. The online documentation included with MSDN and Visual Studio includes some active content. If you set your Microsoft Internet Explorer security's maximum security options while browsing the World Wide Web, some types of hyperlinks in your online documentation will not work.

Allowing Microsoft Internet Explorer to download an ActiveX control and then automatically executing the downloaded code is a legitimate security concern. However, you can protect against this problem and still use the online documentation included with MSDN and Visual Studio. To do so, complete the following steps.

1. On the View menu in Microsoft Internet Explorer, click Options.

2. Click Security.

3. Make the following changes under "Active Content:"

a. Clear the "Allow downloading of active content" check box. (This option ensures that no unknown active content will be downloaded  from a World Wide Web site.)

b. Select the "Enable ActiveX controls and plug-ins" check box. (This option enables local ActiveX controls, such as those supplied with  MSDN and InfoViewer, to execute.)

c. Select the "Run ActiveX scripts" check box. (This option allows local ActiveX scripts to execute.)

4. Click OK.

5. Restart Visual Studio.

Special Instructions for Visual C++ for Microsoft Windows CE

Customers of Visual C++ for Windows CE may experience problems with the Visual Studio family of products. If you want to install any part of the Visual Studio Service Pack, please uninstall Visual C++ for Windows CE first. If you encounter any problems using Visual C++ for Windows CE with Visual Studio, please call Visual C++ for Windows CE product support. If further information becomes available, it will be posted on the web site for Visual Studio 97 Service Packs (http://www.microsoft.com/vstudio/sp/) and in the Knowledge Base (available on the web at http://support.microsoft.com/support/).

Updating Visual C++ .map Files

Visual Studio 97 Service Pack 2 updates the following .map files if you installed them in your system or system32 directory with Visual C++ 5.0. If you installed these .map files to a different location, used some derivative of these files, or used the .map files directly from the Visual C++ 5.0 compact disc, you will need to update these files manually or reference them directly from the Service Pack 2 compact disc. You can find the Service Pack 2 updates to these files in the \all\vc\debug directory on the Visual Studio Service 97 Pack 2 compact disc:

Mfc42.map Mfc42d.map Mfc42u.map Mfc42ud.map Mfcd42d.map Mfcn42d.map Mfcn42ud.map Mfco42d.map Mfco42ud.map

Microsoft Transaction Server Updates

This Service Pack does not include any updates to the Microsoft Transaction Server. To gain access to the Microsoft Transaction Server service packs released since it shipped with the Enterprise Editions of Visual Studio 97, Visual Basic 5.0, and Visual C++ 5.0, go to http://support.microsoft.com/highlights/trs.asp. This site contains pointers to Microsoft Transaction Server 1.1 for x86, Service Pack 2 for Digital Alpha, and the Microsoft Transaction Server SDK beta.

InstallShield Express for Japanese Visual C++ 5.0

The additional files required for the custom edition of InstallShield Express that is included with the Japanese release of Visual C++ 5.0 are now available. Please refer to \jpn\IShield\readme.txt for details.

Finding More Information on Issues Resolved with This Service Pack --

The Microsoft Knowledge Base contains articles that provide more in-depth information about the Visual Studio issues that are fixed in this Service Pack. To locate these articles, go to http://support.microsoft.com/support/ and follow the instructions below to build a query.

To build a Visual Studio Service Pack query:

1. Choose a product. (In this case, click "Any Products.")

2. Specify the type of search. This should be set to "Search the article  text."

3. Enter the following as your search phrase:

VS97FixlistSP2

4. Click "Begin Search."

Knowledge Base articles that contain VS97FixlistSP2 but do not contain VS97FixlistSP1 describe fixes that were added in Service Pack 2. Because Service Pack 2 includes all of the fixes in Service Pack 1, all of the articles describing the fixes in Service Pack 1 will contain both keywords VS97FixlistSP1 and VS97FixlistSP2. To find just those new items that were fixed in Service Pack 2, search for:

VS97FixlistSP2 and not VS97FixlistSP1

For a file containing all of the text from all of the Knowledge Base articles, look on the web site for Visual Studio 97 Service Packs: http://www.microsoft.com/vstudio/sp/.

InfoViewer KB Articles

Service Pack 1 fixes some problems with saving samples to directories that contain high-ASCII characters in the path.

Q168264  Copying Samples to a Dir with High ASCII Stops File I/O Q168265  Error "Microsoft Jscript error" After Copying Sample

Service Pack 2 fixes a bug preventing the download of samples with certain versions of Microsoft Internet Explorer. It also fixes a search results- related performance problem in which Developer Studio sometimes uses 100 percent of idle time. The Service Pack fixes a bug that causes repeated "Merging keywords" for anyone who does not have administrator privileges in Windows NT. It fixes a limitation on the total number of InfoViewer titles.

Q171844  InfoViewer Cannot Download Samples if IE4.0 is Installed Q171845  Results List Uses 100% of CPU on Idle Q171846  Limit on the Total Number of InfoViewer Titles Q171847  Merging Keywords for Search Requires Admin Privileges

Visual Basic 5.0 KB Articles

For a more thorough discussion of Visual Basic 5.0 fixes in Service Pack 2, go to the end of this file where the Visual Basic 5.0 Service Pack 2 Readme is appended.

The Service Packs address problems in dbgrid32.ocx, msrdc20.ocx, and msrdo20.dll related to data-binding and other issues. Also included are fixes for the incompatibility problems with comctl32.ocx. There is also an update to the Visual Basic 5.0 Setup Kit and some of the .cab files for the ActiveX component download. These .cab files are not installed by the Visual Studio Service Pack but are included on the Service Pack compact disc.

Q167122  FindItem Method of ListView Incorrectly Returns an Error Q167123  COMCTL32.OCX Is Binary Incompatible with Previous Version Q167947  ODBC CAB File Does Not Install 16-bit ODBC Files Q167948  Internet Component Download Fails After Using Setup Toolkit Q167950  DAO Internet Component Download Fails to Install

Q167951  AUTMGR32.EXE Fails After Component Download Q168153  DBGrid Bound to RDC Displays a Single Row After MoveLast Q168155  Crash When Resizing Column of Split DBGrid Q168156  DBGrid Bound to RDC Displays Small ResultSets Incorrectly Q168157  Problems Binding Multiple Controls to RDC 2.0

Q168158  Can't Close Resultset if DBGrid Bound to RDC Q168159  DBCombo Updates Incorrectly When Using RDC Bound ListSource Q168160  Error on Update After AddNew With RDC and Bound Controls Q168161  Distributed Transaction Fails On Subsequent Runs Q168162  RDO Move 0 Fails to Refresh Record

Q168163  Memory Leak When Calling UserConnection Query Event Q169302  Get_Item Does Not Return Error When Property Not Found Q169303  Get_Item Doesn't Find Property Defined on Ancestor Iface Q169304  Errors Occur When Getting Property of VB Project: Crashes Q169305  Repository Error after Halting Execution in Break-mode Edit

Q169306  ReComputeRepository GPFs if Passed Non-existent DB Name Q169307  RepUtil:CompactJetRepository Doesn't Work with DSN Name Q169308  CompactJetRepository Only Recognizes Lowercase Jet db Names Q169309  Adding ActiveX Designer/Userconnection Results in Shutdown Q169331  RecomputeRepos: Won't Work with Database Created by UML.DLL

Q169332  Changing Obj Name Before Saving Results in Repository Error Q169333  Engine: Collection Not Updated After Removing an Item Q169334  IRepos::Get_Name Returns Error if Called on a Property Q169335  CDatabase::InsRelshipRow Does Not Release Collection Obj Q169336  Engine Item Method Takes Parameter Type of IntID

Q169337  Unable To Remove a Relationship from Collection with OBJID Q169339  RepUtil.DLL Doesn't Contain Version or Copyright Information

Service Pack 2 fixes:

Q166908  ScaleMode for Printer Object Can't Create Custom Scale Q167107  Missing Controls on the SSTAB Control Tabs Q167165  Too Many Controls on a Form May Crash Visual Basic IDE Q167213  Invalid Page Fault When Shutting Down Visual Basic 5.0 Q167346  GPF Occurs When Starting Visual Basic 5.0

Q167706  Internet Transfer Control 5.0 "POST" Request Doesn't Work Q167735  Setting Printer to Item in the Printers Collection Fails Q168290  GPF When Setting Font of Multi-selected Controls Q168744  Printer May Lose Font Attributes Q168766  Internet Transfer Control Fails on Case-Sensitive Server

Q168792  Statusbar Time Panel May Not Update Properly Q171470  Resize Event Not Fired When UserControl Copied and Pasted Q171471  VB-Created Controls Fail to Print with UserControl_Paint Q171472  Toggling PortOpen w/MSCOMM32.OCX Leaks Memory on Win95 Q171473  MCI32.OCX Does Not Save Recorded .WAV Files

Q171474  Path Problems Using Project on Network Server Q171475  RichTextBox Cleared When BorderStyle Changes at Run-Time Q171476  Masked Edit Control Right-Aligned with NT 4.0 SP3 Q171477  Format Menu Options Can Crash Visual Basic 5.0 Q171478  Cannot Set Width/Height of UserControl in Resize Event

Q171479  Mod 0 Causes an IPF or Access Violation Q171480  Setting SelAlignment Property Does Not Affect RichTextBox Q171481  Cannot Set the Enabled Property of an UpDown Control Q171482  Crash When Enum Name Referred to Incorrectly Q171483  Crash When Rebuilding EXE Containing UserControl

Q171484  Code Module Window Displayed Transparently in SDI Q171485  Visual Basic 5.0 Title Bar Paints Incorrectly Q171486  Crash Sometimes Occurs with Cursor over Toolbox Q171487  Crash When Assigning Uninitialized Object to Tag Q171488  Val Function Recognizes System Decimal Symbol

Q171489  Use of Implements and Public Constants Crashes Compiler Q171490  Crash After Toggling Folders in ActiveX EXE Project Q171491  Mouse Button Value Is Always 4 in MouseUp Event of SSTab Q171492  ActiveX Control Incorrectly Reports ScaleWidth/ScaleHeight Q171493  Viewing Property Pages and Exiting Causes Memory Leak

Q171494  MouseUp Event Not Triggered in DblClick w/Comctl32 Q171495  Get Statement Not Working Correctly with Large UDT Q171496  Bad Filename or Number with Get of UDT Q171497  ListView in PictureBox on Tabbed Dialog Disappears Q171498  Screen Turns Black When Compiling

Q171499  IDE Doesn't Show Topics of OCX Help Files Correctly Q171500  ATL Controls Without IPropertyNotifySink Cause IPF in VB5 Q171501  User Control Moves When Width/Height Is Set in Container Q171502  Crash with Watch on UserControl When Stop is Encountered Q171504  Problems Setting PropertyPage Caption Property

Q171505  VB5 IDE Disappears or IPFs When "End" Button Is Pressed Q171506  OLE Drag/Drop of ListView Control Fails Q171507  VB GPFs When Selecting Align/Lefts from the Format Menu Q171508  Add-ins May Cause Menu Corruption When Exiting Visual Basic Q171509  Access Violation on NT4.0 on Multi-line Textbox

Q171510  Setting Font Property Causes Error 438 with RichTextBox Q171511  Controls in Frame/PictureBox Do Not Repaint in Design Mode Q171512  UserControls on Property Pages Do Not Trigger Focus Events Q171513  Cannot Drag a Nested UserControl with Automatic DragMode Q171514  Visual Basic 5.0 Crashes When Shutting Down Forms

Q171515  Crash on Customization of Design Environment Menus Q171516  ActiveX Document DLL Causes GPF When Unloading Modal Form Q171517  Animation Control Prints Incorrectly at Design-Time Q171518  Controls May Not Print When Printing Form at Design Time Q171519  Removing Function Causes Binary Compatibility Error

Q171520  Unable to Set Binary Compatibility with Class Module Q171521  Non-Creatable Class Causes Loss of Binary Compatibility Q171522  Enums in Public Procedures Cause Binary Compatibility Error Q171523  Reference to Missing Member in Enum Definition Causes Crash Q171524  Ambiguous Names Generate Incorrect Error Message

Q171525  ListView Causes IPF When Accessing ColumnHeaders Property Q171526  Setting Enabled=False for TreeView Causes Paint Problems Q171527  Causing a ListView Control to Paint Causes an IPF Q171528  Using "Unload Me" in a Listbox Causes Crash Q171529  Can't Open a Project Group from the Root Directory

Q171530  Crash on Data Tip After Enum Name Changed Q171531  IPF When Changing Project Name With Binary Compatibility Q171532  Crash Stepping Thru Code After Using Locals/Watch Window Q171533  ActiveX EXE Crashes VB5 When Set to Binary Compatibility Q171575  RISC: CByte Doesn't Fail on Negative Values on Native Exe

Q171576  RISC: AddressOf Doesn't Behave Properly in IDE/PCode Exe Q171577  Using Set for ListItem's SubItem Results in GPF Q171795  RDC Error Calling UpdateRow After Resultset.AddNew Q171796  Problems When Running Asynchronous Queries with RDO 2.0 Q171797  VB5 DBCombo May Display Wrong Column for RDC 1.0

Q171798  DBCombo Click Event Fires During Form Load Q171799  RDO May Incorrectly Handle Locking Conflicts in Transaction Q171800  Unexpected Shutdown When Using Bound Controls Q171801  Bound Controls Built in VB5 Do Not Work in VB4 IDE Q171802  Problems Updating Using DBCombo When ListField = DataField

Q171803  Problems Retrieving VB 5.0 Projects from Visual SourceSafe Q171804  Change Event Not Fired When Selecting an Item in DBCombo Q171805  Problems Binding Controls To Nonexistent Data Control Q171806  Memory Leak When RDC Bound to OLE Container Control Q171807  Selected Tab Changes After Removing Tab in Tabstrip

Q171808  MDI Child Form Does Not Become Active Q171809  Memory Leak When Setting the ForeColor of a VB5 Object Q171810  Invoking the Visual Component Manager asserts in Exutil Q171811  Cannot see relationship collection on an interface with Tab Q171812  Run-Time Error When DataObject Passed As Object

Q171813  IPF in MSO97RT.DLL When Starting Visual Basic Q171814  System Menu Appears When MouseDown Event Invokes a Drag Q171815  Printer.TextWidth Returning Inconsistent Results in IDE Q171816  IPF Opening or Saving Form with Tab Cont Q171817  UserControl Cannot Read ContainedControls in Visual FoxPro

Q171818  IDE Crashes When Repeatedly Placing a Control on a Form Q171819  Invalid Enum Value Causes Incompatible Binary Compatible Q171820  ListView ListItems Don't Refresh When ColumnHeaders Cleared Q171821  Memory Leak When Repeatedly Changing Toolbar Button Width Q171822  Adding a Routine to UserControl in Break Mode Causes Crash

Q171823  Application Error When Using Implements on Hyperlink Object Q171824  Crash in INET Control Downloading Page Multiple Times Q171825  Tabbing Problems Using ActiveX Document in a Frame Q171826  Tabbing Problems with Controls Contained with Controls Q171827  Printing userdrawn usercontrol in IE Doesn't Work

Q171828  Using OpenURL Doesn't Download Complete Files Q171829  GetChunk Freezes Unless Other Events Happening Q171830  ActiveX Document Menu Changing Places Q171831  IObjectSafety Implemented in Toolbar and CmDialog Controls Q171832  Statement Builder Can Cause the Object Browser to Crash

Q171833  Statement Builder Crashes Referencing GlobalMultiUse Server Q171834  Crash When UserControl Accesses Members of ParentControls Q171835  Crash When Viewing Data Tips on ParamArray Q171836  Crash When Viewing API Properties in Object Browser Q171837  Run-time Error 6 "Overflow When Compiled to Native Code"

Q171838  Crash Compiling Native Code for Assignment of Variant Array Q171839  Crash When Compiling a Call to a UserControl Function Q171840  Corrupt Project Error Opening One Project After Another Q171841  Dragging Multiple Controls on a Form May Cause Crash Q171842  GetSetting Function Is Leaking Handles

Q171843  Winsock Control Leaks Memory When Unloaded

Visual C++ KB Articles

Service Pack 1 addresses the following issues.

Q165792  MSDEV.EXE Application Error When Building an Application Q166282  C2440 Caused by Template Function with Const Pointer Q166285  MSDEV Crashes When Converting VC++ 4.0 Projects Q166718  C1001 from Conditional Operator in Initializer Q167423  CRecordset Members Not in "Add Member Variable" Dialog Box

Q167845  Class Wizard Deletes Source Files Q167994  Cvpack INTERNAL ERROR When Linking Large Projects Q168007  Remote Debugging Very Slow in Visual C++ Version 5.0

The fixes for the Active Template Library (ATL) shown below address the most commonly reported issues: MBCS compatibility, container compatibility issues, and internal coding errors in ATL.

Q167340  ATL Control Causes Access Violation in Visual Basic 5.0 Q167526  ATL Control May Cause An Access Violation Q167949  OnWindowMessage Returns BOOL for HRESULT

The compiler fixes shown below address the most commonly reported COM issues. These issues include: support for VB-created controls, internal coding issues in the COM headers, and problems related to smart pointers and reference counting.

Additionally, there are fixes for templates that contain improper propagation of the "const" qualifier, and fixes for a problem of forcing instantiation of all template member functions regardless of whether they were actually used.

There were also reported problems with either floating point optimizations, the global optimizer (/Og) or both. All these reported issues have been addressed in this Service Pack.

Q151491  copy Member of bstrt in COMUTL.H Doesn't Copy Q151499  Compiler Performs Illegal Sign Conversion Optimization Q151500  /Og Causes vfptr Initialization Problems Q166721  C2784 On < Operator When Instantiating an ATL Container Q167967  /Og Increments the Index of a Loop Too Soon.

Q167995  Calling a Function Returning double May Not pop FPU Stack Q167996  /Og Causes Invalid Double Result Returned from Function Q168003  Function Prototypes in comutil.h Missing Calling Convention Q168008  C2166: Incorrect Type Deduction for Template Parameter Q168009   Smartptr Property in Interface Causes C2512 Error

Q168010  /Od May Generate Destructor for Unconstructed Temp Object Q168011  C1001, file 'fppeeps.c', line 394, Caused By /Og Q168012  Incorrect Code Generated When Using Floating-Point and /Og Q168028  C2955: Caused By the "using" Declaration Q168029  Global Optimizations (/Og) May Cause the Compiler to Hang

Q168079  _com_ptr_t::operator=(const _variant_t&) AddRefs Twice Q168111  #import Does Not Compensate for Gaps in vtable

Listed below is a Linker fix that corrects a reported problem that ICF (Identical COMDAT Folding) was causing severe build-time losses. The fix also removes limits being imposed on the size of an executable and raises the maximum size of the .ilk file used by the linker to 64 MB.

Q151501  Linking Large Projects Can Be Very Slow

The fixes for the Microsoft Foundation Classes (MFC) listed below deal with the most commonly reported issues that prevent binary compatibility with MFC 4.2 (shipped with Visual C++ 4.2). These issues include unintended dependencies on the latest comctl32.dll, the 3.0 version of odbc32.dll, threading issues, and internal coding errors in MFC.

Q164813  Web Browser Control Hangs in CFormView Q167423  CRecordset Members Not in "Add Member Variable" Dialog Box Q167650  Problems with ToolTips on Windows 95 Q167692  Assertion Line 257 in File DlgProp.cpp Q167693  MFC Application Hangs on Multiprocessor Machine

Q167731  Access Violation When Connecting in MFC ODBC Application Q168004  "Unable to Initialize DAO/Jet db Engine" Error Q169484  CString::MakeUpper and MakeLower Don't Work with Some Char

Service Pack 2 fixes some debugger issues. The debugger now evaluates compiler-generated strings longer than 128 characters (this usually takes place when you are debugging templates, such as STL) without encountering an access violation. Also, the debugger now starts smoothly in configurations that have Visual Test and Visual C++ integrated.

Q171848  Source Control Info Not Preserved During Project Conversion Q171849  Debugger Hangs When Very Long STL Symbol in Watch Window

Visual Database Tools KB Articles

Q168295  Updating Single Row Replaces Data in All Rows of a Cursor

Visual FoxPro KB Articles

Service Pack 2 fixes the access violation error problem when running a form with a grid repeatedly under Windows NT 4.0. OLE automation with Word 97 issues have been addressed. Some of the report printing and preview problems under Windows NT also have been fixed.

Q156322  RETURN TO Procedurename Command Doesn't Work in Forms Q156788  Report Print Preview Illegible Under Windows NT Q168277   Access Violation Running Form With Grid Repeatedly on NT 4 Q168523  Report Fails When Printing Under Windows NT 4.0 Q169565  Type Mismatch Using OLE Automation to Word 97

Service Pack 2 fixes the Anomaly Tracking System (ATS) so that it does not display the 'Option under construction' message when action items are selected.

Q168193  'Option under construction' Message Appears in ATS

Visual InterDev KB Articles

Service Pack 1 fixes various wizard problems. The Service Pack also fixes a bug that destroys data in situations when FrontPage editor, which comes with Visual InterDev, is used.

Q165834  Can't Set Permissions Back to Root Web Permissions Q167267  New Devisws.pkg for 0-Byte File Save Problem Q167836  DataForm Wizard Not Sizing Column Width Properly For DBCS Q167846  Reserved Error When Running DataForm Wizard Against Access Q168269  MSWC BrowserType Control Does Not Recognize IE 3.02

Q168270  Update Error When Updating Sybase Table From ASP Q168271  Sybase Cursor Can't Scroll Back in DF Wizard Created Form Q168272  GPF When Refreshing a Project Containing Sybase Connection Q168273  Invalid Operation When Deleting the End Sybase Record Q168274  GPF When Selecting .ALX Files in Template Wizard

Q168275  Corrupted Dialog Titles in Japanese Version Q168296  GPF When Expanding Links in Japanese Version of VI Q168297   Data Connection Icons Not Displayed for global.asa

Visual J++ KB Articles

Service Pack 1 contains fixes that will enable customers to debug Java applets running on Microsoft Internet Explorer 4.0 (but not on Microsoft Internet Explorer 4.0 Preview Release 1). If you are running Microsoft Internet Explorer 4.0 Preview Release 1, you should upgrade to Microsoft Internet Explorer 4.0 Preview Release 2, which is available now on the web site http://www.microsoft.com/ie/ie40. For multi-processor machines, Service Pack 1 fixes a scenario that resulted in a fault. It also fixes an isolated case in which ClassView did not display any information.

Q167719  JavaTLB gives an Internal Compiler Error With VBCCE Control Q167720  Saving Java File on Multi-Processor Machine Crashes MSDEV Q167828  Cannot Access the ClassView Information File Error Q167998  Cannot Debug Visual J++ Programs on IE 4.0 Pre-Release

See Visual C++ KB Articles for Service Pack 2 fixes that may affect Visual J++ users.

Visual SourceSafe KB Articles

Service Pack 1 contains five fixes for Visual SourceSafe: the deployment of files placed in the parent directory to a UNIX Server; movement of random characters to the end of the file after SourceSafe editor is used; incomplete check in of files in Visual Basic or Visual C++ when keyword expansion is enabled; corruption of Rights.dat after adding rights by project; and slowdown of analyze and appearance of hanging on large databases.

Q165776  Admin Cannot See Files With Project Security Enabled Q166469  Multiple Check In Fails with Keyword Expansion Q167273  VSS Editor/Viewer Removing or Replacing Characters Q167274  Analyze May Hang or Crash When Running on Large Databases Q167737  Deploy to a Unix Server Via FTP Fails

Service Pack 2 contains Visual SourceSafe fixes for a memory leak in the Visual Studio integration, and an access violation in Analyze, a developer tools integration issue where files like Status.dat are needlessly kept open.

Q171534  Source Code Control Integration Holds .dat Files Open Q171535  ANALYZE Crashes When No Log Entries Found in Log File

NOTE: the original and incorrect title to Q171535 was: "ANALYZE Application Error When Directory Not Found".

Welcome to Visual Basic 5.0 Service Pack 2 --

Visual Basic 5.0 Service Pack 2 is an update to Visual Basic Version 5.0 Professional and Enterprise editions. It enables apartment-model threading for Visual Basic projects that contain user interface elements, such as forms and controls.

Documentation

The apartment-model threading enhancement in Visual Basic 5.0 Service Pack 2 is explained in vb5sp2.htm (vb5sp2.wri on some systems). This file contains information supplementing the Books Online documentation you received as part of your licensed copy of Visual Basic.

Bug Fixes

The Microsoft Visual Basic team closely monitored feedback from programmers after Visual Basic 5.0 shipped. Every effort was made to reproduce and fix the most serious and commonly reported problems. Visual Basic 5.0 Service Pack 2 fixes problems with the development environment, the Printer object, the Internet Transfer control, and many of the other controls and libraries that ship with Visual Basic 5.0. The Visual Basic team made every effort to ensure backward compatibility with shared components.

Development environment: Visual Basic 5.0 Service Pack 2 resolves several stability problems in the development environment, including crashes that sometimes occurred when moving the mouse cursor over the toolbox, when setting the Font properties of multiple controls, and when using the Format menu options to align controls.

Printer object: Setting the Printer object to an item in the Printers collection will now switch the default printer. You can now set a user- defined scale mode for the Printer object by changing the ScaleWidth and ScaleHeight properties. Font attributes are no longer lost when calling the NewPage method.

Internet Transfer control: POST now works. Problems with missing or garbled data have been fixed. The control no longer converts file names to upper case when sending out a request, thus eliminating reported problems accessing case-sensitive servers.

For a complete list of bug fixes included in Visual Basic 5.0 Service Pack 2, search the Microsoft Knowledge Base at http://support.microsoft.com/support/ for articles containing the keyword VB5FixlistSP2.

Dependency List

Visual Basic 5.0 Service Pack 2 includes a new master dependency file (vb5dep.ini), which is installed in the Setupkit directory. The existing dependency file is renamed ~vb5dep.sp2.

Removing Visual Basic 5.0 Service Pack 2 and Restoring Visual Basic 5.0

Visual Basic 5.0 Service Pack 2 modifies Visual Basic 5.0 by replacing some files and updating system information. To remove SP2, you must open the Control Panel and use the Add/Remove Software tool to remove Visual Basic 5.0 from your system. Manually delete any remaining SP2 files before reinstalling Visual Basic 5.0. (For a complete list of files included with SP2, see the SP2 documentation file - vb5sp2.htm or vb5sp2.wri.)

