Wednesday, 02 July 2025 07:30

New installer has arrived!

Written by

We are glad to announce that the new generation of our uniGUI installer is eventually available. As you may already know, our original installer was a "semi-automatic" installer, meaning that developers were responsible to manually build uniGUI packages after installing uniGUI framework. While this method of installation served us well for many years, it is needless to say that it wasn't a pleasant experience to manually install uniGUI packages each time a new build was published. Considering the frequency that new builds are published (at least one new build per month), we were aware that at one point we must leave this legacy installer and switch to a completely new automatic installer. It is worth mentioning that with legacy installer the installation process was even more cumbersome and complicated for C++ Builder developers. Thanks to our new installer which also takes care of C++ Builder and installs the packages automatically for both Delphi and C++ Builder.

Upgrading the installer was in our roadmap for a long time. There were various options to create an automated installer. We went back and forth and evaluated various options for deployment. First option and probably the most popular one among component developers was to pre-build all uniGUI packages (mainly BPL files) and deploy them with the installer. This seems to be a straight-forward and a fail-safe strategy, but this method came with a huge drawback: size of the installer. We are supporting all Delphi editions starting with Delphi 2006 till the most recent versions. The installer should include all BPL files for all supported Delphi releases including 64-bit BPL files for RAD Studio XE2 and later. Required files were not limited to BPL files only. We also had to include other library files and header files such as DCP, BPI, HPP and related object files, not only for Win32 platform, but also for other supported platforms such as Win64 and the recently introduced Win64x (Modern) platform (and other platforms in the future).

We made a simple calculation and it revealed that if we choose to pack and deploy all of these files, the size of uniGUI installer would exceed several hundreds of MB (Probably 500 MB or more). Needless to say if we choose this path, size of our installer would continue to grow with each new release of Delphi. In order to reduce size of the installer to a reasonable amount it was required to create separate installers for each version of RAD Studio. While this could be a solution, this would considerably increase our archive size and further complicate our deployment process. So after considering all of such drawbacks we started to evaluate our second option.

Our second option was to continue deploying DCU files, PAS files and other resources as we did before, but creating required packages and other library files during the installation using Delphi command line compiler (DCC32 or DCC64). This option was much more complicated to implement for us, but had several advantages. This option would allow us to create one installer for all Delphi versions and still keep size of the installer below 80 MB.

We already had an automated build script mechanism which was used internally to create DCU files and other library files. We embedded this script into an application and deployed it with the new installer. We also modified the installer script, so all packages would be compiled during the installation process. Below image shows our new installer during the task of compilation. 

After some successful beta tests we have tested the new installer on several PCs with various configurations and Delphi versions installed. Eventually, we published build 1601 as our first release including the new automated installer. A while later Build 1603 was published to fix some minor/major issues that we have encountered in the initial release. 

Here is a brief list of improvements that come with our new installer:

  • Fully automated installation process
  • Only available RAD Studio editions are displayed in the list 
  • Seamless installation experience for Delphi and C++ Builder
  • Fixed various bugs and issues associated with installing process
  • Automatic creation of 64-Bit library files for supported Delphi versions
  • Support for new Win64 Modern platform
  • Support for 64-Bit RAD Studio IDE
  • Fixed various issues regarding C++ Builder support

Delphi Community Edition 

The only problem that remains is support for Community Edition of Delphi and C++ Builder. Unfortunately these editions lack command line compilers (DCC32 or DCC64). Embarcadero has decided not to include command line compilers in the community edition. This means that our new installer won't be able to automatically compile packages for community edition. Users must manually install packages into community edition IDE as done in the legacy installer. That said, we are seeking a solution to overcome this problem. Most probably we will create a separate installer which will directly target a single version of community edition (The most recent version). This installer will deploy pre-compiled library files (BPLs and etc.) and will solely target Delphi community edition. We will announce when this specific version of installer is available.

 

 

 

 

 

 

Read 500 times Last modified on Thursday, 03 July 2025 08:20
More in this category: « New 2024 roadmap is announced