Borland Developer Studio 2006 Update 2 is now available

By: John Kaster

Abstract: The Delphi 2006, C++Builder 2006 and C#Builder 2006 update is now available for download by registered users

Higher performance and better quality

Where to get BDS 2006 Update 2

QualityCentral reports addressed in Update 2

Borland Developer Studio 2006, Update 2 Release Notes

Update Installation Instructions

Resolved Defects

Known Issues

General

C++

Compiler

ECO

IDE

.NET/BDE

Deploying Borland Developer Studio 2006 Applications

1. General Application Deployment

2. Components, Assemblies, and Packages

2.1 Distributing Custom Assemblies and Packages

2.2 Borland Runtime Assemblies and Packages

2.3 Runtime Assemblies and Packages

3. The Borland Database Engine (BDE)

4. Sample Images

5. ASP.NET Application Deployment

6. WebSnap Application Deployment

7. Borland VisiBroker

8. Borland InterBase

9. JPEG Compression Software

10. Data Compression Library (zlib)

11. Windows Common Controls

12. Microsoft .NET SDK Runtime Assemblies

13. Other Components

13. Removed or Modified Redistributable Files

Borland Developer Studio 2006 Installation Notes

Minimum System Requirements

Detecting Pre-Requisites With The Bootstrap Utility

General Installation Notes

Multiple users on one machine

Installer may require a reboot

Installer may require additional temporary space

Assemblies installed in the Global Assembly Cache

Installing another edition of BDS 2006

Note to BDP .NET users

C++ Demos

Running Setup in Silent Mode

Silent Installation

Troubleshooting

Destination locations

Third-party Add-ons

Indy and Office Win32 package registration

Personality Selection

File Type Associations

Example

Silent Uninstallation

Modifying the Installed Product Using Add/Remove Programs

Installing Optional, Add-on Products

Borland CaliberRM SDK

ComponentOne Studio Enterprise for Borland Developer Studio

Wise Owl Demeanor for .NET, Personal Edition

Rave Reports Borland Edition (BE)

NUnit Unit Testing Framework

MDAC 2.8 SP1

Known Installation Issues

Uninstalling This Product

    Higher performance and better quality

We are pleased to announce the availability of Update 2 for Borland Developer Studio (BDS) 2006, also known as Delphi 2006, C++Builder 2006, and C#Builder 2006. Over 500 bug reports tracked by our internal system have been fixed in this release. Of the reports submitted by the community into QualityCentral, over 150 have been addressed in this update.

    Where to get BDS 2006 Update 2

This is a free update available to all BDS 2006 registered users for the Professional, Enterprise, or Architect versions. It can be downloaded from the following locations:

Borland Developer Studio (all) users site

Delphi registered users site

C++Builder registered users site

    QualityCentral reports addressed in Update 2

The Update 2 build number is 10.0.2288.42451. Update 2 work began with build versions of 10.0.22*, so QualityCentral searches with a "Resolved in Build" value of "10.0.22" will return all reports resolved for the update 2 builds. You can retrieve the complete list of fixes with the URL http://qc.borland.com/qc/wc/qcmain.aspx?search=1&rib=10.0.22. This search is currently indicating 151 QC reports have been resolved in Update 2.

The Update 2 readme is included in its entirety below:

    Borland Developer Studio 2006, Update 2 Release Notes

This file contains important supplementary information about the features and fixes that are included in this updated release of Borland Developer Studio 2006. Update 2 is a cumulative release, and contains all of the code from Borland Developer Studio 2006, plus the enhancements and fixes that were added for Update 1 and Update 2.

This file includes installation instructions for this update, information about issues that were resolved for Update 1 and Update 2, and information about issues that we are currently working on (known problems). This information may not appear in the main product documentation. Borland recommends that you read this file in its entirety.

In addition to this update, there is now a new version of Intraweb available on the Intraweb website, and there is an InterBase 7.5.1 SP1 update available for Windows, at the following website: InterBase 7.5.1 SP1.

For information about installation, deployment, and licensing issues, see the Install, Deploy, and License files located, by default, at C:\Program Files\Borland\BDS\4.0.

    Update Installation Instructions

Note: This update can only be applied to the English version of Borland Developer Studio 2006.

This update can be applied to either the initial release of BDS 2006 or BDS 2006, Update 1. This update cannot be removed. To uninstall this update, you will have to remove the full product and re-install the product, including Update 1 if necessary.

Close Borland Developer Studio 2006 before installing this update.

If you have MSI 3.0 or above, double-click on the .msp file to begin installation. Otherwise, navigate to the System32 folder in a command window and type the following to start the installation.

Type in the command line syntax for your MSI version.

Command line syntax for MSI 2.0:

msiexec.exe /p <path to bds2006_arch_upd2.msp file> /L*v <path to log file> DEBUG_MODE=ON REINSTALL=ALL REINSTALLMODE=omus

where:

/L*v and DEBUG_MODE=ON are optional.

For example, if you have the .msp file in C:\temp directory, then msiexec.exe /p "C:\temp\bds2006_arch_upd2.msp" REINSTALL=ALL REINSTALLMODE=omus will install the update.

The following example will also generate a log file named bds2006upd2.log under C:\temp
msiexec.exe /p "C:\temp\bds2006_arch_upd2.msp" /L*v "C:\temp\bds2006upd2.log" REINSTALL=ALL REINSTALLMODE=omus DEBUG_MODE=ON

Command line syntax for MSI 3.0 or above:

msiexec.exe /update <path to .msp file> /L*v <path to log file> DEBUG_MODE=ON

where:

/L*v and DEBUG_MODE=ON are optional.

For example, if you have the .msp file in C:\temp directory, then msiexec.exe /update “C:\temp\bds2006_arch_upd2.msp” /L*v “C:\temp\bds2006_arch_upd2.log” DEBUG_MODE=ON will install the update.

For more information on MSI command-line options, please visit Microsoft MSI Command Line Options.

The final dialog of the update installer indicates whether the update was successful. You can also verify using one of the following methods:

Open the Windows Control Panel, click Add/Remove Programs, and then choose the Borland Developer Studio 2006 product. Use the Click here for support information link and verify that the version is 10.0.2.

Open the registry using regedit and navigate to HKEY_LOCAL_MACHINE\SOFTWARE\BORLAND\BDS\4.0 and verify that the ProductVersion and UpdatePackInstalled string values are 10.0.2 and 2, respectively.

With the IDE open, choose Help | About to display the About dialog box. Verify that Update 2 appears after the product version number.

    Resolved Defects

To view the list of resolved defects for Borland Developer Studio 2006, Update 2, go to the following website: http://bdn.borland.com/article/0,1410,33463,00.html. To look up the resolution for specific bugs you have reported, you can go to the following website: http://qc.borland.com/wc/qcmain.aspx and look up the resolutions for defects you reported by Quality Central bug number.

    Known Issues

The following are known issues in Borland Developer Studio 2006, Update 2.

    General

The behavior of WideChar/String compatibility has changed in Borland Developer Studio 2006. Specifically, in Borland Developer Studio 2005, and earlier, the following function would produce the result TRUE. Now it produces FALSE.

function DoIt: Boolean;
var
  C: WideChar;
begin
   C := #0;
   if C = '' then
      Result := TRUE
  else
     Result := FALSE;
end;

This behavior is consistent with the behavior of the .NET compiler, but could break your existing code.

Similar behavior exists with AnsiChar in Win32, but that function has not yet been modified to be consistent with the .NET compiler, so it still produces a TRUE result.

There is some confusion about how to compile a SOAP server application when you are using Borland Developer Studio 2006 with Indy10.

To compile a SOAP server application using Indy10: include the VCL source in your project; add C:\Program Files\Borland\BDS\4.0\source\Win32\Internet;C:\Program Files\Borland\BDS\4.0\source\Win32\Indy9;C:\Program Files\Borland\BDS\4.0\source\Win32\soap to your search path; and recompile.

    C++

To resolve issues with C++ name-mangling when using C++ and Delphi together, a change has been made in the Delphi to C++ header file generation. This change may cause some of your existing code to not compile due to cast errors during the processing of the .HPP files, such as "Cannot convert..." or "Type mismatch in parameter...".

Three of the errors that commonly occur with this issue (or while trying to fix this issue) are:

Cannot convert 'TPropInfo * *' to 'TPropInfo * ( *)[16380]'

Type mismatch in parameter 'PropList' (wanted 'TPropInfo * ( *)[16380]', got 'TPropInfo * *')

and

Pointer to structure required on left side of -> or ->*





To correct these errors, it may be necessary to change the declaration type and/or add casts. For example, the following snippets of code show some typical changes that may be necessary to avoid errors.

Code created before Update 2:

TButton* btn = new TButton((void*)0);
  PTypeInfo TypeInfo = reinterpret_cast(btn->ClassInfo());
  PTypeData TypeData = GetTypeData(TypeInfo);
  PPropList PropList = new PPropInfo[TypeData->PropCount];
  GetPropInfos(TypeInfo, PropList);
  for( int i =0; iName));



needs to be changed to the following (so that it will work with and after Update 2):

TButton* btn = new TButton((void*)0);
  PTypeInfo TypeInfo = reinterpret_cast(btn->ClassInfo());

  PTypeData TypeData = GetTypeData(TypeInfo);
  PPropInfo* PropList = new PPropInfo[TypeData->PropCount];
  GetPropInfos(TypeInfo, (PPropList)PropList);
  for( int i =0; iName));





Compiling C++ Win32 source code that was previously generated via importing a Type Library, may result in these types of errors. Similarly, these errors can be resolved via casts or changes in type declaration. Alternatively, a new import using post-patch import tools will result in the necessary casts in the resultant generated source code.

For example, the following previously imported generated code results in an error:

TControlData TSomeControl::CControlData =
{
  TFontIDs, //Error E2034 Cannot convert 'int *' to 'int ( *)[65536]'



A re-import will result in casts in the generated code:

TControlData TSomeControl::CControlData =
{
  Activex::PDispIDList(TFontIDs), //No Error

    Compiler

Certain ActiveX projects may encounter an Internal Compiler Error (ICE) when compiling the project source of the project. (The project source of a project is the .cpp file that contains either the DllEntryPoint or WinMain routine). The error will typically be encountered on the line that creates an instance of a TComModule. The following snippet illustrates an example of such code:

#include <vcl.h>

#pragma hdrstop

TComModule _ProjectModule(0 /*InitATLServer*/);  << Compiler Error Here
TComModule &_Module = _ProjectModule;



This error is related to the compiler using precompiled header to instantiate the TComModule instance. To workaround this problem, move the ‘#pragma hdrstop’ directive to the very top of the .cpp file as shown below:

#pragma hdrstop   << First line of project source
#include <vcl.h>

TComModule _ProjectModule(0 /*InitATLServer*/);  << Compiler Error Here
TComModule &_Module = _ProjectModule;



NOTE: The line above with the compiler error is slightly different for In-Proc servers: the object is constructed without the '0' parameter. However, the behavior is still the same.

If the solution above doesn't work then the most effective work around is to turn off the precompiled headers. Do this by going to Project, Options, C++ Compiler, Pre-compiled headers and uncheck -He, -H=, -Hc and -Hs. The next time you build you won't get an internal compiler error.

Also delete the external types files in the same directory. These files will have the extension #nn where n is a number. For example, if vcl100.csm is the name of the precompiled header, delete vcl100.#*.

    ECO

When upgrading an ECO II model to an ECO III model, the method AsIObject sometimes converts with the wrong visibility, strict private instead of public, possibly causing a compilation error. Should this happen, the visibility can be adjusted manually in the generated source; insert a line with the “public” access modifier directly before the AsIObject function, like:

public
    function AsIObject: IObjectInstance;

There is a known issue in the translation of Ocl expressions to SQL queries that occurs under some circumstances when navigating a relation from a loop-variable, such as:

Person.allInstances->select(home.address = 'myAddress')

This results in a stack overflow exception. This issue affects both OclPsHandle and IOclPsService.

    IDE

Some users are not able to drag and drop items successfully from the Tool Palette. If you are experiencing this issue, you may have to change the 'Show Windows contents while dragging' option on your computer. If you are using Windows 2000, open the Control Panel and choose Display | Effects. Make sure the 'Show Windows contents while dragging' option is enabled, and Apply your changes. If you are using WindowsXP, open the Control Panel and choose System. Click the Performance button. Select Settings. Make sure the 'Show Windows contents while dragging' option is enabled, and Apply your changes.

    .NET/BDE

If you're using the Borland Database Engine (BDE) within the Delphi.NET personality, meta data such as table names, field names, and stored procedure names are truncated if the name string uses international characters.

The deployment documentation is also included:

    Deploying Borland Developer Studio 2006 Applications

Please read this entire file before deploying Borland Developer Studio 2006 applications, components, or libraries. This file is provided pursuant to the Borland License Terms and provides information on deploying Borland Developer Studio 2006 applications.

    1. General Application Deployment

Any .NET application that you build with Borland Developer Studio 2006 needs to run in an environment that has the Microsoft .NET Framework v1.1 redistributables installed. Please see the standard licensing information that ships with the Microsoft .NET Framework application to determine what assemblies are redistributable.

When building .NET applications using Borland Developer Studio 2006, provide your executable file and any assemblies not included in the .NET framework runtime that it calls. If you used runtime assemblies not included in the .NET Framework runtime with your application, be sure to include all required assemblies with your distribution.

C++ applications do not require a runtime interpreter DLL. All you have to provide is your .EXE file and any DLLs or BPLs that it calls. For simple applications you can distribute a standalone .EXE file. If you have used runtime packages with your application, be sure to include all required BPLs with the distribution. If you build using the dynamic Run-Time Library, you will also have to distribute one or more of the Run-Time Library DLLs CC3270.DLL or CC3270MT.DLL and the memory manager DLL.

For third party deployables, please see the third party documentation included with this product for other redistribution limitations.

    2. Components, Assemblies, and Packages

    2.1 Distributing Custom Assemblies and Packages

If you distribute Borland Developer Studio 2006 assemblies or packages to other developers, be sure to supply the necessary files including .dll, .dcp, .dcpil, .dcu, .dcuil, .bpl, or executable files as required. Also, include any documentation you might have.

If you distribute C++Builder packages to other developers, be sure to supply both .BPI and any .LIB files to which your packages link. You will probably also want to include .OBJ and .DCU files as well as documentation. Package Collection (.DPC) files, created with the Package Collection Editor, offer a convenient way to distribute all the files associated with a package or group of packages.

    2.2 Borland Runtime Assemblies and Packages

In accordance with the "General Terms That Apply to Compiled Programs and Redistributables," you may redistribute Borland-supplied runtime assemblies and packages only for the purpose of executing Works created with Borland Developer Studio 2006. You may not modify these assemblies and packages in any way.

The redistributable runtime assemblies are installed in the GAC (Global Assembly Cache). These assemblies can be viewed in three ways:

·       Navigate to either the [Common Files Directory]\Borland Shared\BDS\Shared Assemblies\4.0 directory or [Program Files Directory]\Borland\BDS\4.0\Bin directory. The assembly file location is dependent on whether the assembly is a shared assembly.

·       Use the Microsoft .NET Framework 1.1 Configuration Wizard. You can access this wizard in Microsoft .NET Framework 1.1 by selecting Control Panel | Administrative Tools.

·       Use the command-line tool, gacutil.exe, which ships with the Microsoft .NET Framework 1.1 SDK.

The redistributable runtime packages are installed in the system files directory of the computer, which is commonly WINDOWS\System32 on Windows 2000 and Windows XP computers.

Although this software may include assemblies and packages other than those listed below, only the assemblies and packages identified below as redistributable may be redistributed by you. For third party deployables, please see the third party documentation included with this product for other redistribution limitations.

You may NOT redeploy Borland-supplied design-time only assemblies and packages. If an assembly or package is not listed in this document then it is considered a design-time only assembly or package. You may not recompile or redistribute any Borland-supplied components or libraries for use by other developers.

Assemblies and packages that you develop may not have the same names as Borland-supplied assemblies or packages.

If you distribute component libraries or other packages, it is recommended that you avoid using the default DCLUSR package name, since this will cause naming conflicts with other developers.

    2.3 Runtime Assemblies and Packages

The following table lists the redistributable runtime .NET assemblies for each edition of Borland Developer Studio 2006. The redistributable files are marked with an X.

File

Architect

Enterprise

Professional

Borland.Data.Common.dll

X

X

X

Borland.Data.DataSync.dll

X

X

Borland.Data.Db2.dll, bdpdb225.dll

X

X

Borland.Data.Interbase.dll, bdpint25.dll

X

X

X (local use only)

Borland.Data.Msacc.dll, bdpmsa25.dll

X

X

X

Borland.Data.Mssql.dll, bdpmss25.dll

X

X

X (local use only)

Borland.Data.Mysql.dll, bdpmys25.dll

X

X

X (local use only)

Borland.Data.Oracle.dll, bdpora25.dll

X

X

Borland.Data.Provider.dll

X

X

X

Borland.Data.Sybase.dll, bdpsyb25.dll

X

X

Borland.Delphi.dll

X

X

X

Borland.Eco.Core.dll

X

X

X

Borland.Eco.Handles.dll

X

X

X

Borland.Eco.Interfaces.dll

X

X

X

Borland.Eco.Ocl.ParserCore.dll

X

X

X

Borland.Eco.Persistence.Bdp.dll

X

X

Borland.Eco.Persistence.dll

X

X

Borland.Eco.Persistence.Multi.dll

X

Borland.Eco.Persistence.SqlServer.dll

X

X

Borland.Eco.Persistence.Xml.dll

X

X

X

Borland.Eco.Web.dll

X

Borland.Eco.Windows.Forms.dll

X

X

X

Borland.VclAdoDb.dll

X

X

X

Borland.Vcl.dll

X

X

X

Borland.Vcl.Samples.dll

X

X

X

Borland.VclActnBand.dll

X

X

X

Borland.VclAdoNet.dll

X

X

X

Borland.VclBdeRtl.dll

X

X

X

Borland.VclDbCtrls.dll

X

X

X

Borland.VclDbExpress.dll

X

X

X

Borland.VclDbRtl.dll

X

X

X

Borland.VclDbxCds.dll

X

X

X

Borland.VclDSnap.dll

X

X

X

Borland.VclDSnapCon.dll

X

X

X

Borland.VclIBXpress.dll

X

X

X

Borland.VclInterop.dll

X

X

X

Borland.VclRtl.dll

X

X

X

Borland.VclX.dll

X

X