You can also store your EXE in ZIP and let the users doubleclick on the file and run it on WinXP. Same thing with UPX, just the process is simplified.

I think it is a good practice:

* Storing many files in a single archive, so they don't take much disk and MFT space.

* As a consequence, there is less fragmentation on disk, thus improved performance for the system as a whole.

I think it is a bad practice:

* Storing one file in archive, then decompress it each time you run (you either occupy disk and/or memory for that), just for the sake of showing that large FPC/Lazarus generated files aren't that large.

In either case, the large generated file will still be relatively big when you publish on Internet, so why bother? My entire argument is against using UPX - as I already said, I think it's a bad practice.

If the application size would be an issue for me, I would either think on 1) ignoring the problem and accepting the file size or 2) using different development tool.