Windows Forms exe kleiner machen?

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

Trimming ist bei Anwendungen, die mit Reflection oder COM-Marshalling arbeiten, problematisch, denn während des Analyseprozesses kann nur schwer beurteilt werden, was denn raus darf oder nicht. Windows Forms ist an der Stelle besonders betroffen, denn es baut unter Haube wesentlich auf COM-Marshalling. Eine mögliche Lösung an der Stelle ist die Nutzung von COM-Wrappern (siehe z.B. WinFormsComInterop).

Zusätzlich solltest du den Microsoft-Artikel Prepare libraries for trimming durcharbeiten.

Eine Garantie dafür, dass du es schaffst, gibt es aber nicht. Seitens des .NET-Teams (lies hier) gibt es jedenfalls noch keinen offiziellen Support. Einen Überblick über den aktuellen Entwicklungsstatus liefert dieses Epic: #4649 Make WinForms trim compatible.

Noch ein paar andere Optionen, die du ausprobieren/angehen könntest:

  • Deploye die App im Release-Modus.
  • Gehe diese Liste an Features durch. Sicherlich kannst du einige von ihnen ausschließen.
  • Schau, ob es im Projekt Dateien gibt, die explizit exkludiert werden können und markiere sie entsprechend.
  • Komprimiere Mediendateien (u.ä. externe Ressourcen), die du möglicherweise nutzt.
  • Mit einem Packer/Kompressor kannst du deine Executable nochmals komprimieren (siehe bspw. NeoLite oder UPX).
  • Etwas, was man fallbedingt einfach einmal testen müsste: Eine Aufteilung in Assemblies und dazu ein partielles Trimming.

CosmiqUser  07.06.2024, 15:26

@regex9
Auch meinerseits ein Lob an Sie.
Wie kann man nur so schlau sein. Respekt. Da möchte ich auch hin. Sie sind nun auch ab sofort mein Vorbild. Offiziell bin ich auch ein Fan von Ihnen.

0
JamesBond903 
Beitragsersteller
 05.06.2024, 22:14

wow super danke!! diesen überblick habe ich gebraucht, so kann ich weiterarbeiten :) sehr nett, liebe grüße

1