title: Are there any downsides to using UPX to compress a Windows executable?
body: <p>I've used <a href="http://upx.sourceforge.net/" rel="noreferrer">UPX</a> before to reduce the size of my Windows executables, but I must admit that I am naive to any negative side effects this could have. What's the downside to all of this packing/unpacking?</p>
  
  <p>Are there scenarios in which anyone would recommend NOT UPX-ing an executable (e.g. when writing a DLL, Windows Service, or when targeting Vista or Win7)? I write most of my code in Delphi, but I've used UPX to compress C/C++ executables as well.</p>
  
  <p>On a side note, I'm <strong>not</strong> running UPX in some attempt to protect my exe from disassemblers, only to reduce the size of the executable and prevent cursory tampering.</p>