Hi,
I was just wondering why MC does not use incremental updates. They would make it much easier for you - the developers - and the users. It would also save a lot of bandwidth.
A simple but reliable approach would be to store all files (gzip compressed) server side together with a list of MD5 checksums. When the client/user selects Update (or an auto update runs) it just compares all checksums and downloads the files that have unequal checksums. That would also have the side effect of being a repair function for a damaged install.
Ever version could have it's own files and MD5 lists - for example MC11_Retail, MC11_Dev. The Retail version only includes the non-beta files and the Dev version includes the most recent (beta/release candidate) files. So on update the user can choose if he wants to try the beta or stay with the retail line.
That is not a true incremental update system but would still save a lot time and bandwidth.
Any thoughts?