Sorry to continue the tangent a bit here, but the topic of binary patching interests me. Does Apple (or any OS X software developers) release byte-level patching updates? It can save a ton of bandwidth and for individual applications it might not be that big of a deal but I would think Apple could save a fortune on bandwidth using byte-level patching for their updates issued via Software Update.Elektronkind said:Now, with these binary files, you can't (in a reasonable fashion) replace little bits and pieces of it. It's more reliable to replace the whole thing.
I'm a coder from the Windows world and previously did the install work for my company using the Windows Installer engine from Microsoft, which has byte-level patching built-in. We just released a hotfix for an 80 MB application. The file that had to be recompiled was one of the main .EXEs - about 10 MB in size. We were able to generate a patch to update the application that was less than 3 MB.
I completely agree that byte-level patching is less reliable but Windows Installer compensates for this by caching the original install information and if the binary file on the system isn't an exaxt match of the expected binary file to be patched it will request the original installation source and patch that original source file and overwrite the one on the system with the newly patched file. It's pretty cool when it all works as designed. However, Windows Installer is overly complicated in many ways and therefore does not always work well in some practical cases.