Hello, >For updating you could keep a diff of your version from the last major OS >release (1.2 for >example) and revert before applying each update (so 1.2.2 -> >1.2 -> 1.2.5) if you aren't >running the latest version (1.2.4 -> 1.2.5). >That way only requires two diffs to be generated, Good idea but patches appear to be one direction only from what I can tell. By looking at bsdiff and xdelta I see them only being applied forwards & not backwards. So, you'd have to create new diffs to go from 1.2.2->1.2, 1.2.3->1.2, etc. - appears you can't reverse patches. The chain-loading method came to me afterwords too as another option. Just to compare the two available diff methods. Method 1 ( 6 diffs ): 2.0->2.6, 2.1->2.6, 2.2->2.6, 2.3->2.6, 2.4->2.6, 2.5->2.6 Method 2, chain-loading ( 6 diffs ): 2.0->2.1, 2.1->2.2, 2.2->2.3, 2.3->2.4, 2.4->2.5, 2.5->2.6 Method 1 & 2 both result in tracking 6 diffs Method 1: -Apply only 1 diff to update to latest -Always provides smallest patch file size -With new version, you have to create multiple diffs against latest release ( ie: 6 diffs in this case ) Method 2, chain-loading: -Apply 1 or more diffs ( ie: 1 to 6 in this case ) -Combined patch file size greater than ( or equal to ) single patch created with Method 1 -With new release you create only 1 new diff (2.5->2.6) Method 1 is very efficient but more work for maintainer. Method 2 is less efficient but easy & less work for maintainer. Regards, _________________________________________________________________ Create a cool, new character for your Windows Live™ Messenger. http://go.microsoft.com/?linkid=9656621