Ich war eigentlich ganz sicher, dass ich alle Packages auf {$LIBSUFFIX AUTO} umgestellt hatte...
Der Hinweis von himitsu hat mich aber nochmal nachschauen lassen, weil ich eigentlich auch überzeugt war, dass es hier nicht zu Konflikten kommen kann.
Und tatsächlich hatte ich ein
Package vergessen, dass dann mit *280.bpl in den Ordner für Delphi 12 kompiliert wurde. Das hat Delphi 11 dann beim starten gefunden und wollte die darin referenzierte rtl290.bpl von Delphi 12 laden, was natürlich nicht geht.
Bezüglich meiner Lösung konnte ich nicht validieren, dass die Platzhalter (z.B. %
BDS%) im PATH tatsächlich von Windows bei der Suche nach Dateien aufgelöst werden.
Ich habe das mal auf der Kommandozeile simuliert in dem ich
BDS=C:\Temp definiert habe und dann eine Project1.exe nach C:\Temp\bin\ kopiert habe.
Wenn ich Project1.exe dann versucht habe aufzurufen, hat Windows die nicht gefunden.
Ich habe die Standard-Pfade wiederhergestellt. Jetzt läuft wieder alles parallel.
Für das Problem mit der langen PATH-Variable setzen ich seit längerem:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\FileSystem]
"LongPathsEnabled"=dword:00000001