Wieso will man die EXE verkleinern? Wie ich hier gelesen habe, geht es um
a) Netzlast vermeiden
b) Updates klein halten
Zu a) hätte ich eine grundsätzliche Lösung: Ich installiere auf jedem Client ein kleines Skript, das die aktuelle Version vom Netzlaufwerk auf die lokale Pladde kopiert (aber nur, wenn sie neueren Datums ist!) und dann die lokale Kopie startet. Das hat zwei Vorteile: Verkürzte Startzeit und (der eigentliche Grund) ich kann ohne Probleme jederzeit eine neue Version ins Netz stellen, ohne das Zugriffsfehler kommen. Danach kommt ein Net-Send broadcast mit der Aufforderung 'Update verfügbar! Bitte App neu starten'.
Zu b) hab ich -außer dem erwähnten Aufräumen des Codes- keine Alternative. Ich verwende DevExpress und da sind ohne eine einzige Zeile Code mal eben 6-8MB verballert. Man könnte die ganzen
BPL auf dem Client installieren, aber dann hat man wieder das Upgrade-Problem... Gut, das ginge auch über ein Skript, wie unter a) beschrieben.
Meine EXEn verschicke ich leider per RAR und EMail. Da sind bei einem Upgrade auch 20MB drin. Blöd, aber nicht zu ändern.
Die größten Brocken sind neben der nicht zu vermeidenden
VCL+Compos u.a. Bitmaps, Logos etc. die ich konsequent auslagere und zur Laufzeit lade.