AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Wie bekomme ich die exe kleiner?

Wie bekomme ich die exe kleiner?

Ein Thema von NicoleWagner · begonnen am 27. Jan 2020 · letzter Beitrag vom 8. Feb 2020
Antwort Antwort
Seite 1 von 2  1 2   
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#1

AW: Wie bekomme ich die exe kleiner?

  Alt 27. Jan 2020, 20:24
Zitat:
Darauf habe ich einen Antwortenblock in petto:
Das würde ich aber nur in der Release-Konfiguration machen (und selbst hier braucht man es nicht). Nicht in der Debug.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.399 Beiträge
 
Delphi 12 Athens
 
#2

AW: Wie bekomme ich die exe kleiner?

  Alt 28. Jan 2020, 01:27
Nicht benötigte Units entfernen hilft fast immer.
Eigentlich lässt der Delphi-Compiler alles weg, was nicht verwendet wurde,
aber in vielen Units gibt es einen großen Initialisazionsblock, wo Klassen initialisiert werden, aber damit werden sie auch "benutzt", selbst wenn sie nicht wirklich genutzt werden, aber da sie "benutzt" werden, ist deren Code somit immer im Programm drin, sobald diese Unit irgendwo eingebunden wurde.
Auch Ressourcen, die in diesen Units eingebunden werden, sind dann immer drin, da man leider nicht angeben kann, dass diese Ressoucen nur gelinkt werden sollen, wenn bestimmte Funktionen/Klassen einkompiliert wurden.

Das mit dem Initialisazionsblock ist die Schuld altmodischer/blöder Programmierer, denn hätten sie die Initialisation z.B. in einen ClassConstructor gelegt, dann wäre alles nur drin, wenn diese Klassen dann "wirklich" benutzt wurden.


Ansonsten sind natürlich solche Profile, wie Debug und Release, genau dafür da.
Eine Konfiguration für die Entwicklung und eine Andere für den normalen Betrieb.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (28. Jan 2020 um 01:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.813 Beiträge
 
Delphi 12 Athens
 
#3

AW: Wie bekomme ich die exe kleiner?

  Alt 28. Jan 2020, 07:05
Bist du fertig mit der Entwicklung? Sind alle Fehler draußen? Berichten die Anwender von einer hervorragenden Usability? Langweilst Du Dich? 15MB sind nicht groß. Gemessen an Terabyte Festplatten, Gigabyte Arbeitsspeicher und Gigabit Netzwerken schonmal gar nicht. In meinen Augen ist Exe-Größe etwas, das man getrost ans Ende der Entwicklung schieben kann. Du kannst natürlich noch den Weg der restlichen Welt gehen und winzige Exen durch die Beigabe von tausenden DLLs, BPLs und sonstigen Hilfsdateien, deren Versionierung ab dann minutiös beachtet werden will erkaufen. Ich würde es lassen. Administratoren übrigens, lieben monolithische Exen.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Neumann

Registriert seit: 6. Feb 2006
Ort: Moers
544 Beiträge
 
Delphi 12 Athens
 
#4

AW: Wie bekomme ich die exe kleiner?

  Alt 28. Jan 2020, 07:06
Was bringt eine kleinere EXE? Platz sparen auf der Platte - eher uninteressant wenn man 10 MB sparen kann.

Wird das Programm schneller wenn die EXE kleiner ist - kann ich mir nicht vorstellen.
Ralf
Gruß vom Niederrhein
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Wie bekomme ich die exe kleiner?

  Alt 28. Jan 2020, 07:32
Am schmalsten wird es wenn Du auf No-VCL umsteigst.
Je nach Fall, mal mehr mal weniger kompliziert, Luckie kennt sich damit gut aus und hat super Einsteigerfreundliche Tutorials auf seiner Web-Page.
Da kann es schon vorkommen das aus Deiner 15MB Datei eine 50KB Datei wird.

Alternative I:
Downloade Dir einen exe-Packer wie UPX (z.Bsp.) und komprimier das Resultat.

Alternative II:
Komprimier mit 7zip oder RAR5 Deine Datei als SFX-Archiv, so bleibt der Transfer schmal aber beim Endverbraucher pumpt es sich wieder auf volle Größe aus.
Sollte in der heutigen Zeit kein Problem darstellen, Speicher ist billig
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Wie bekomme ich die exe kleiner?

  Alt 28. Jan 2020, 07:34
Wird das Programm schneller wenn die EXE kleiner ist - kann ich mir nicht vorstellen.
Das Programm an sich nicht, aber der Start des Programms, da weniger geladen werden muss. (Messbar nur mit mechanischen Festplatten, bei SSD ist es Wurst)
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.284 Beiträge
 
Delphi 12 Athens
 
#7

AW: Wie bekomme ich die exe kleiner?

  Alt 28. Jan 2020, 08:06
IMHO nehmen indirekt einkompilierte Binärresourcen einen nicht unerheblichen Teil der EXE ein. Grad wenn man externe Komponenten wie Devexpress verwendet. Ich habe mal einen Resourceneditor genommen und aus einer 30-MB-EXE alles rausgeworfen was nach Bitmap, AVI etc. aussah. Am Ende war sie noch 9 MB groß. Lief zwar nicht mehr gescheit, aber sowhat, Hauptsache die EXE war kleiner
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
noisy_master
Online

Registriert seit: 17. Jun 2009
Ort: Wolfenbüttel/Baddeckenstedt
263 Beiträge
 
Delphi XE5 Professional
 
#8

AW: Wie bekomme ich die exe kleiner?

  Alt 28. Jan 2020, 08:23
Um meine Exen kleiner zu bekommen nehme ich mpress.
Reduziert die Größe um mehr als die Hälfte UND : der Große Vorteil gegenüber UPX ist, dass bisher KEIN Virenscanner darauf angeschlagen hat
Dirk
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.813 Beiträge
 
Delphi 12 Athens
 
#9

AW: Wie bekomme ich die exe kleiner?

  Alt 28. Jan 2020, 08:41
Exe Packer haben Nachteile, die nicht von der Hand zu weisen sind: Falsch positive durch Virenscanner mal außen vor, sorgen sie für eine ungünstige Arbeitsspeichernutzung. Und Arbeitsspeicher gibt es deutlich weniger als Plattenplatz. In diesem Thread wurde das bis zur totalen...äh... Abwendung vom Thema...mmmh, diskutiert: https://www.delphipraxis.net/192574-...oder-nein.html

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
655 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Wie bekomme ich die exe kleiner?

  Alt 28. Jan 2020, 13:20
Am meisten mach das aus:

{$SetPEFlags IMAGE_FILE_RELOCS_STRIPPED}

Das muss im DPR platziert werden, am besten nach den uses und vor dem {$R *.res}.

Dein 15 MB bringst du aber wohl kaum unter 10-12 MB egal was du machst. Seit RTTI aktiviert ist, ist leider die Grösse der Exe's explodiert. Also als Alternative könntest du dein Projekt auf z.B. D7 "downgraden" und dann wäre es vermutlich nur noch um die 7-8 MB gross.

Was willst du aber damit erreichen?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:49 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