![]() |
Release als "Single executable" oder mehrere Dateien?
Hallo an alle Delphianer (ist das richtig?),
ich arbeite derzeit an einem eher umfangreichen Projekt, welches im Endeffekt ein Klon eines bekannten Programm zur Dateisicherung sein wird. Das Original beinhaltet als installierte Version im Programmverzeichnis etwa 30 Dateien und Verzeichnisse. Meine Version besteht derzeit lediglich als einer einzigen ausführbaren Exe-Datei, welche 3,66 MB groß ist, und zwei Lizenzdateien. Nun frage ich mich, ob ich die Software in mehreren Dateien (DLLs, ausgelagerte BPLs usw.) ausliefern soll, oder doch eher alles in einer Datei? Positiver Nebeneffekt einer einzigen Datei wäre die mobilität - einfach auf den USB-Stick kopieren, fertig. Was denkt ihr? |
AW: Release als "Single executable" oder mehrere Dateien?
Kopieren kann man auch ein Verzeichnis. Ich persönlich halte nichts davon alles in eine Exe zu stopfen, es sei denn es wird auch nichts weiter gebraucht. Aber z.B. DLLs einzukompilieren und beim Start auszupacken, halte ich persönlich für wenig sinnvoll...
Laufzeitpackages wiederum machen nur Sinn, wenn man auch mehrere Delphiprogramme hat, die diese benutzen. Heißt: Diese müssten zwangsläufig korrekt per Setup im Systemverzeichnis landen, damit das Sinn macht. Wenn es bei dir nur eine Exe ist, macht das wenig Sinn, da die Datenmenge dadurch einzeln deutlich größer wird. |
AW: Release als "Single executable" oder mehrere Dateien?
Zitat:
Sollte ich es bei 3,66 MB also noch bei einer Single Executable-Datei belassen? Somit bräuchte ich auch kein großartiges Setup. Denn ich persönlich frage mich bei so manchen Programmen, wofür diese ein Setup brauchen. |
AW: Release als "Single executable" oder mehrere Dateien?
Zitat:
Aber wenn du alles in einer Datei hast, warum nicht. Warte einfach ob sich irgendwann eine Notwendigkeit ergibt. |
AW: Release als "Single executable" oder mehrere Dateien?
Das Original ist ebenfalls so dermaßen aufgebläht, weil es sehr seltsame Dateien beinhaltet.
Eine davon ist 18 KB klein und ist nur zuständig, um das Hauptprogramm zu beenden. Des Weiteren gibt es eine Datei, die vermutlich einen Dienst startet und beendet. Einmal für 32, einmal für 64bit. Und dann noch eine Datei, die Threads "schlafen" lässt. Das waren nur ein paar Beispiele. Was für ein Schwachsinn. Und für solch eine Software bezahlen manche Leute rund 30€. |
AW: Release als "Single executable" oder mehrere Dateien?
Zitat:
Dann kann man doch auch gleich die Objektdateien einfach statisch einlinken... |
AW: Release als "Single executable" oder mehrere Dateien?
Es ist einfach so, irgendwann wurden Tools erstellt und nun werden sie zusammengestellt.
Ich habe noch letztens auch ein kommerzielles Programm nach-programmiert (die Funktionalität eines Programms ist nicht geschützt) und das hatte einen Minieditor als Extraprogramm. Mich hat es eine halbe Stunde gekostet den zu erstellen und in das Programm zu integrieren. Dadurch hatte ich sogar bessere Möglichkeiten. Als ich mit das Erstellungsdatum des Minieditors anguckt habe, stellte ich fest, dass es schon 10 Jahre alt ist. Ok, eine halbe Stunde Arbeit gespart. |
AW: Release als "Single executable" oder mehrere Dateien?
Einige meiner Applikationen sind 10-15MB groß. Na und?
|
AW: Release als "Single executable" oder mehrere Dateien?
Zitat:
|
AW: Release als "Single executable" oder mehrere Dateien?
Was hat die Größe des Images mit dem Speicherverbrauch zu tun?
|
AW: Release als "Single executable" oder mehrere Dateien?
[QUOTE=Pentium 80486;1167479]
Zitat:
Unsere Anwendung könnte man auch als Zip-Datei ausliefern. Machen wir aber nicht, weil die User damit überfordert wären. |
AW: Release als "Single executable" oder mehrere Dateien?
Zitat:
(Virtueller Arbeitsspeicher, Arbeitsspeicher und Festplatte) PS: Delphi ist doch grade gut darin ohne DLLs und gesonderte Runtimelibs auszukommen. Ich fann die Programme Gut, wo es nur die EXE gibt, dazu vielleicht noch eine UnInstall, welche die Registry aufräumt, wobei man das auch via Batch oder über ein Programmmenü auch noch mit in die EXE reinbekommt. |
AW: Release als "Single executable" oder mehrere Dateien?
Zitat:
Bei kleinen selbstgestrickten Programmen würde ich auch eine einzelne exe bevorzugen. Wobei XE2 das Ergebnis auch schon aufbläht. Grüsse, Uli |
AW: Release als "Single executable" oder mehrere Dateien?
Wenn du OBJ-Dateien (von mir aus aus einer C++-Quelle) mit den in der DLL enthaltenen Funktionen bekommst, dann kannst'e diese auch direkt in deine EXE (oder eine eigene DLL) linken.
Wird z.B. schon bei ZLib oder PerlRegEx so gemacht, da das auch keiner nochmals implementieren wollte. Aber wenn eh schon alles in der EXE drin ist, warum sollte man dann "nur um eine DLL zu bekommen" auslagern? PS: Dabei müßte man dann eventuell auch noch aufpassen, da Objekte nicht über DLL-Grenzen hinweg geshared werden dürfen. (ausgenommen bei Benutzung von Laufzeitpackages) Auch Strings und dynamische Arrays funktionieren standardmäßig nicht, also ohne ShareMem und Co.. |
AW: Release als "Single executable" oder mehrere Dateien?
[QUOTE=Nersgatt;1167541]
Zitat:
Ich habe ein Programm, was auch von eingeschränkten usern installiert wird. Da kommt man nicht um ein Installationsscript herum. Grüße, Messie |
AW: Release als "Single executable" oder mehrere Dateien?
Wobei man den Installer-Code ebenfalls mit in die EXE reinmachen könnte. :stupid:
Aber Installer <> DLL ... also bezüglich der ursprünglichen Frage. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz