If possible, don't change the PATH variable

Hello TMS team,

my computer has 3 versions of Delphi installed and my system's PATH environment variable is totally maxed out (the limit is only 2048 bytes on Windows 7). 

The PATH environment variable is a tiny and fragile resource.  Too many Delphi component manufacturers choose to put their packages in their own separate directories, all requiring modification of the path environment variable.  As a result, lots of things on my system suddenly become dysfunctional whenever I let an installation routine install something into Delphi and I keep having to repair my path variable manually. The problem is aggravated by having multiple versions of Delphi.

Also, Delphi packages work just fine if they're installed into the default BPL directory that Embarcadero created for them, so putting them into a separate directory is most often unnecessary.

I would be grateful if TMS's installers would just install the packages into that default BPL directory instead of putting them in a different place.  I am sending this posting to all component manufacturers of which I am a customer, because it really affects my day to day work.

I understand your frustration.

When building the installer, there is the choice to use msbuild and count on the default output path being used or to specify a custom path. However, when choosing a default output path, this path can be incorrect, can change, can be modified after install / before uninstall, ... i.e. a lot of things can go wrong. When using a specific path for our installer, we can make sure this path is effectively preset correct, with the disadvantage that the path grows.
So, there is not really a clear or easy choice of what is the best approach. We'll reflect & brainstorm further on this in the team to see how we can make it more reliable in the future.

Thank you!


If I may make a suggestion, the configured paths for bpl/dcp etcetera are specified in the registry (hkcu\Software\Embarcadero\BDS\20.0\Library\Win32  etcetera). For Win32, they generally map to $(BDSCOMMONDIR)\Bpl and  $(BDSCOMMONDIR)\Dcp. The Embarcadero Delphi installer already made sure that these paths are included in the system's path variable.