Was ist das BPL-Dateiformat?
.bpl ist eine Borland Package Library-Datei - eine spezialisierte Windows-DLL, die von Embarcadero Delphi und C++Builder verwendet wird, um wiederverwendbare Komponentenpakete zu verteilen. Das mit Delphi 3 eingeführte Paketsystem ermöglicht es, VCL- und FireMonkey-Komponenten zur Laufzeit über mehrere Anwendungen hinweg gemeinsam zu nutzen, anstatt sie statisch in jede ausführbare Datei einzubinden.
Strukturell ist eine .bpl-Datei eine Standard-Windows-PE (Portable Executable) .dll, erkennbar am MZ-Header, mit einem zusätzlichen PACKAGEINFO-Ressourcenabschnitt, der die im Paket enthaltenen Delphi-Units auflistet. Es existieren zwei Typen: Laufzeitpakete (runtime packages), die zusammen mit einer Anwendung verteilt und beim Start geladen werden (zum Beispiel wird vcl280.bpl mit Delphi 11-Anwendungen ausgeliefert), und Entwurfszeitpakete (design-time packages), die Komponenten in der IDE registrieren und niemals an Endbenutzer ausgeliefert werden.
.bpl-Dateien sind nicht zwischen Delphi-Compiler-Versionen portierbar: Ein für Delphi 10 Seattle kompiliertes Paket lässt sich in Delphi 11 Alexandria nicht laden und muss neu kompiliert werden. Jedes Paket hat Begleitdateien: eine .dcp (Delphi Compiled Package), die Linker-Metadaten enthält, und für C++Builder eine .bpi-Importbibliothek. Das Paket-Quellprojekt wird in einer .dpk-Datei gespeichert.
Da .bpl-Dateien gültige Windows-DLLs sind, können Standard-PE-Tools wie Dependency Walker deren Importe und Exporte untersuchen. Sie werden zur Laufzeit über den Standard-Windows-Aufruf LoadLibrary geladen.
Sicherheit
RISIKO: MEDIUMBPL-Dateien sind DLLs; eine bösartige BPL, die in einem Anwendungsverzeichnis platziert wird, könnte über DLL-Hijacking beliebigen Code ausführen. Installieren Sie BPL-Dateien nur von vertrauenswürdigen Delphi-Komponentenanbietern. Der Fehler „BPL-Datei fehlt“ verleitet einige Benutzer dazu, BPL-Dateien von inoffiziellen Seiten herunterzuladen - vermeiden Sie diese.
Formatdetails
kurz gefasst- Symbian OS/Nokia Plugin-Paket - Einige Symbian/Nokia-Entwicklungstools verwendeten ebenfalls .bpl für Firmware- oder Plugin-Pakete; steht in keinem Zusammenhang mit Delphi.
Programme zum Öffnen von BPL-Dateien
Technische Details
technische Spezifikation| Zugrundeliegendes Binärformat | Windows PE (Portable Executable) DLL |
| Magic Bytes | `MZ` (4D 5A) - Standard Windows PE-Header |
| Byte-Reihenfolge | Little-endian |
| Zusätzlicher PE-Abschnitt | `PACKAGEINFO`-Ressource mit Auflistung der enthaltenen Delphi/C++Builder-Units |
| Pakettypen | Laufzeit (mit App verteilt) und Entwurfszeit (nur IDE-Registrierung) |
| Versionsportabilität | Muss für jede Compiler-Version neu kompiliert werden - nicht versionsübergreifend kompatibel |
| Begleitdateien | `.dcp` (Linker-Metadaten), `.bpi` (C++Builder-Importbibliothek), `.dpk` (Paketquelle) |
| Typische Größe | 84 KB - 2 MB |
| Plattform | Windows (primär); macOS und Linux über FireMonkey-plattformübergreifende Pakete |
| Laden zur Laufzeit | Standard Windows `LoadLibrary` / `GetProcAddress` |
| Compiler-Verknüpfung | Internes RTL-Versions-Tag; Versionskonflikt verursacht Ladefehler beim Start |
| IDE-Rolle | Entwurfszeitpakete registrieren Komponenten-Palette-Icons und Eigenschaftseditoren in RAD Studio |
| Veröffentlicht | 1997 (Delphi 3 - first version with package support) |
| Neueste Version | RAD Studio 13 Florence (2025); BPL format stable since Delphi 3 |
| Spezifikation | docwiki.embarcadero.com |