hixxy: And why not? It's the same x86 instruction set as the program that was compressed... in theory the only things that should really make a difference are the instruction set and OS.
And 2MB -> 800kb is something when you have a small flash drive.
DaveC: About your first post: UPX compresses the EXE so that it will dynamically decompress itself, transparently to the user, when run. And I can't compress the folder for several reasons:
A) Compressed folders are going to be slower due to overhead of decompression, although in practice I admit I haven't noticed significant overhead.
B) Windows only lets you format flash drives in FAT or FAT32, neither of which supports compressed folders like NTFS.
C) If I ZIP or 7Z etc mIRC I can't very well run it off the flash drive, now can I?
basicer: No anti-virus tool I've used has, which is sorta ironic considering I've only used free ones and you're probably talking about $$$ Symantec and McAfee etc solutions.
The false positives I get tend to focus on my mIRC DLLs (specificly, registry and HTML control DLLs. Quite annoying).
About the CRC thing, that would be a better explanation for what's happening than what I came up with.
At any rate, a MessageBox telling me why mIRC won't run would be preferrable to a silent quit without doing anything.
DaveC, about your last post: Are you sure you know what you're talking about? It doesn't seem to me like you do. :tongue: I think you're confused.
As far as I know when an EXE is run the entire binary is loaded into memory for execution. Perhaps a sectional method is possible, but 1) computers have enough memory now that it really doesn't matter if you load the whole thing 2) why load sections, it's likely you're going to call code from all over the binary anyways 3) how would you predict what code you would need? The user might change their mind, they tend to

4) I am not aware of any method of specifying "sections" to a compiler or linker.