WoW's patching mechanism is to determine what version you have (we'll call that A), what the most recent version is (we'll call that B), and then, if those don't match, to download a patch set that specifically upgrades A to B. On the face of it, not a bad idea, as it means that someone patching B-1 to B has to download a smaller patch set than someone upgrading from their original installation disks.
However, there are two problems. The first is the obvious: patch sets are only available between discrete versions. If you somehow arrive at a state where your installation is "between versions", you're fucked and have to start at the disks again.
The second one is more of an implementation problem. Patch sets are distributed as self-contained executables that examine your installation to determine that it really is version A, then proceeds to patch the relevant files and tell your version that no, it's version B now. These executables are, as far as I can tell, not generated on the fly by Blizzard, so if you manage to get into a state where there is no patch set for A to B, you have to go A to A' to B (where A' is some version you *can* reach and can reach B -- this might be a recursive process).
If I ever distribute a game, I'll just include a subversion client. Having the patcher run 'svn update' and suck down the latest version semi-magically would be nice and simple.
(no subject)
Date: 2005-05-03 09:00 pm (UTC)However, there are two problems. The first is the obvious: patch sets are only available between discrete versions. If you somehow arrive at a state where your installation is "between versions", you're fucked and have to start at the disks again.
The second one is more of an implementation problem. Patch sets are distributed as self-contained executables that examine your installation to determine that it really is version A, then proceeds to patch the relevant files and tell your version that no, it's version B now. These executables are, as far as I can tell, not generated on the fly by Blizzard, so if you manage to get into a state where there is no patch set for A to B, you have to go A to A' to B (where A' is some version you *can* reach and can reach B -- this might be a recursive process).
If I ever distribute a game, I'll just include a subversion client. Having the patcher run 'svn update' and suck down the latest version semi-magically would be nice and simple.