It's possible. I'm working on a way to fully automate the process (I just need some good docs on the batch language). I have a semi-automatic batch file already.
The problem is actually that UPX can't compress and decompress to produce the exact same file with W32 binaries (however, once a file is compressed and decompressed, the resulting file can be compressed and decompressed to produce that exact file), and that the small autoupdate difference file can't be applied to the modified files.
So here's how it works:
All of Fx's binary files are copied to a separate directory. The original files in the FxP directory are compressed and then decompressed. A program called xdelta will produce the differences between the original files (in the separate directory) and the files that are produced by being UPXed and unUPXed. Then the original files are deleted, the files in your FxP directory are reUPXed, and (optionally) the xdelta files are archived. To get the files back to the originals that will work with autoupdate, the UPXed files are uncompressed, and the xdelta files are used to patch them. This would work for Thunderbird too.
What's the point of all of that? You never say. To UPX the Firefox binaries to save space?
BTW: xdelta.org doesn't exist. I think you meant this one which is the one I used to use for Windows:
http://evanjones.ca/software/xdelta-win32.html
Cancer Survivors -- Remember the fight, celebrate the victory!
Help control the rugrat population -- have yourself spayed or neutered!
http://xdelta.org works and has the newest version. http://www.xdelta.org does not work for some reason. The link you provided has a dated version. I've updated the link in the OP.
And yes, this is for people who don't have much free space on their flash drives so that they can use UPX without having to download a full update or carry a full backup (which defeats the purpose).
Vintage!
We're not allowed to alter them.
Sometimes, the impossible can become possible, if you're awesome!
You're not allowed to. That's why I'm working on a batch file instead of suggesting that you add this to the launcher or something like that. It's for end users who wish to UPX the binaries and be able to autoupdate on-the-spot without backups.
Vintage!
I tried it with 2.0.0.7, and it failed to update to 2.0.0.8 with a partial update. I need to double check checksums and verify that xdelta is applying the patches correctly. I will also have a batch file ready for the entire process, including having checksums shown at each step soon. However, since I have limited knowledge of the batch language, and because xdelta can only do one file at a time (AFAIK), the batch file will only be able to process one file at a time. The goal is to automate the entire process (for all files at once), have errors/warnings/messages, the option to archive the xdelta files, ability to specify options for each program (UPX, Jacksum, xdelta, and 7-zip), and a test mode.
Vintage!
I feel silly now. After much trial, error, and frustration, I finally got it to work.
Anyway, the batch files can be found here:
http://www.digital-signal.net/bahamut/batch/UPXAU/testing
Instructions:
cp, Jacksum, and Java are not strictly necessary; cp is needed for preparexdelta.bat (I can't figure out how to do it with copy or xcopy), and Jacksum (which depends on Java) is used to verify that everything is done correctly.
File-specific:
[Moderator RM: Fixed your link :)]
Vintage!
Your first link for "cp" is dorked up. Not hard to work around however...
Edit: the link to the batch/zip file(s) gives the dreaded 404 error.
Cancer Survivors -- Remember the fight, celebrate the victory!
Help control the rugrat population -- have yourself spayed or neutered!
A mod will have to fix the cp link. The link to the batch files, however, is now valid.
Vintage!
Any comments for this concept or implementation in general should be here. Anything for the batch files and especially for testing them should be in the Beta Testing thread.
Vintage!