dzBdsLauncher is a Windows console utility that prevents you from accidentally opening a Delphi project with the wrong Delphi version.
While .dproj files can be opened with newer Delphi versions than the one
that created them, it does not work the other way round. So if you open a Delphi 10
.dproj file with e.g. Delphi 2007 all you will get is an error message.
If you open a Delphi 2007 .dproj file with Delphi 10 it will automatically
convert it to the new format used by that version and it will become unreadable by
Delphi 2007.
dzBdsLauncher detects the correct Delphi version for a project file and launches the matching IDE. If it cannot determine the version unambiguously, it will ask the user to select from the possible versions.
The tool employs four strategies to identify the correct Delphi version:
project.2007.dproj,
project.xe2.dproj, project.10-3.dproj.dproj files — note: these
identifiers are not always unique across versions.dproj files — only applicable
to DLL and package projects.dproj files (Delphi 2007 and later).bdsproj files (Delphi 2005–2006).dof files (Delphi 6–7).dpr / .dpk files (searches for corresponding metadata files).groupproj files (analyzes projects in the group)Supports Delphi 6 through Delphi 13. Released under the MPL. Source code available on SourceForge.
Download: dzBdsLauncher-1.0.20.zip
.dproj version 20.4)build_release.sh, build_debug.sh) for building from WSL/Linux--RawOutput and --NoWait parameter support to .cmd build scriptsDownload: dzBdsLauncher-1.0.19.zip
HandleDof to check for .dpk when .dpr does not exist (Delphi 6/7 package projects).groupproj file cannot be determinedIdzBdsLauncherOutput interface injection, decoupling core logic from console dependenciesTDelphiInfoDownload: dzBdsLauncher-1.0.18.zip
Download: dzBdsLauncher-1.0.17.zip
.dproj version 20.3, same as Delphi 12.3)Download: dzBdsLauncher-1.0.16.zip
.dproj files without ProjectVersion (Delphi 2007) did not workDownload: dzBdsLauncher-1.0.13.zip
dvUnknown -- raise an exception with a meaningful error message rather than EListError.dproj cannot be determined (but only two are possible), ask the userDownload: dzBdsLauncher-1.0.12.zip
.groupproj file format.dproj, .bdsproj, nor .dof file is found for a given .dpr fileDownload: dzBdsLauncher-1.0.11.zip
Download: dzBdsLauncher-1.0.10.zip
Download: dzBdsLauncher-1.0.9.zip
.dpr or .dpk fileDownload: dzBdsLauncher-1.0.8.zip
.groupproj file name (including the path), with improved prefix/suffix matching (D, Delphi, BDS, RS)Download: dzBdsLauncher-1.0.7.zip
Download: dzBdsLauncher-1.0.6.zip
10.x and 10_xFreeAndNil is wrong for string arrays.dpk filesDownload: dzBdsLauncher-1.0.5.zip
.dof file).bdsproj file, based on excluded packages).dpr files by analysing the corresponding .dproj, .bdsproj, or .dof fileBDS and DELPHI environment variables from the environment passed to the started IDEDownload: dzBdsLauncher-1.0.4.zip
Download: dzBdsLauncher-1.0.3.zip
.groupproj filesProjectVersion from the .dproj file, now also uses the DllSuffix if there is oneDownload: dzBdsLauncher-1.0.1.zip
ProductVersion entries in the .dproj filesDownload: dzBdsLauncher-1.0.0.zip