Compressing and hiding DLLs
Compressed executables were important in the good(?) old DOS days for making reverse engineering more difficult, reducing disk space and loading time.
The AsmZip utility by Francesco Balena gives similar benefits for .NET projects:
a) simplified deployment: you need to distribute fewer files (often just the main EXE)
b) more robust applications: end users can't break the application by accidentally deleting one of its DLLs
c) fewer bytes on disk: all DLLs are compressed and appended to the main EXE file
d) the ability to "hide" some of your trade secrets, for example which 3rd party controls you've used
e) a slightly better protection of your intellectual property: compressed DLLs can't be decompiled, at least not as easily as uncompressed DLLs .
Very handy instead of deploying many DLLs with your .NET projects.
UPX (Ultimate Packer for eXecutables) is your friend for other platforms