Resolving OLE errors on starting BDS 2006

Abstract: On machines installed with .NET Framework 2.0 or CodeGear RAD Studio 2007, BDS 2006 may encounter several OLE errors and access violations. This article explains why and shows how to resolve the errors.

Abstract: Resolving OLE errors encountered on starting up BDS2006 on a machine with CodeGear RAD Studio / Delphi 2007 / C++Builder 2007 / Microsoft .NET Framework v2.0 installed.


  • Product Name: Borland Developer Studio 2006, Borland C++Builder 2006, Borland Delphi 2006, CodeGear Delphi 2007, CodeGear C++Builder 2007
  • Product Component: IDE
  • Platform/OS Version: Supported platforms
  • Personality: Win32 personalities only

Description :

This article shows how to resolve various OLE errors encountered on starting up BDS2006 on a machine with CodeGear RAD Studio / Delphi 2007 / C++Builder 2007 or Microsoft .NET Framework v2.0 installed.

On starting BDS 2006, there are a few OLE errors encountered. These errors are reflected in the images shown below.

Hide image

Hide image

Hide image

Resolution :

The cause of these errors is due to the Microsoft .NET Framework loader loading a different runtime version of the .NET Framework than expected.

In order to resolve the above errors, insert the following lines into the bds.exe.config file (located in the BDS\4.0\bin directory), within the assemblyBinding section:

  <dependentAssembly>
    <assemblyIdentity name="Borland.Studio.ToolsAPI" publicKeyToken="91d62ebb5b0d1b1b" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="10.0.4143.0"/>
  </dependentAssembly>


  <dependentAssembly>
    <assemblyIdentity name="Borland.Studio.Toolsets" publicKeyToken="91d62ebb5b0d1b1b" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="10.0.1966.34928"/>
  </dependentAssembly>


  <dependentAssembly>
    <assemblyIdentity name="Borland.ITE" publicKeyToken="91d62ebb5b0d1b1b" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="10.0.4143.0"/>
  </dependentAssembly>

Do note that the values in the newVersion attribute of the bindingRedirect element needs to match the actual versions in the files referenced by the name attribute.


Author: Chee Wee Chua