|
How does Patcher know which parts of a file are new?
You need to keep a copy of the original file. Then Patcher (1) compares the new file to the original, (2) finds every change, and
(3) lists all those changes in the patch file.
Later, on some other computer, Patcher can update an old file into a new file by simply making all those changes listed in the patch.
Won't making all those
changes take longer than just sending the whole new file?
No. Usually the changes are only a small part of the file, and applying the patch is very quick.
On the other hand, making a patch can be time consuming for a large file with lots of little pieces added, deleted, and moved around. It might not be worth the trouble if only a few people need updates.
What happens if someone updates the wrong file?
They can't. When you open a patch, it automatically finds the correct file to update. Each patch knows the MD5 "signature" of
the file it was made to update, and will only modify exact copies of that file.
By the way, Patcher also checks the signature of its final result, and leaves all files untouched if anything has gone wrong.
Can Patcher update multiple files with a single patch?
No, each patch updates exactly one file. But an easy workaround is to package all your files into a single zip archive.
I keep each chapter of my
book in a different file. Can't I just distribute the changed chapters?
Yes, of course. But that means you need to keep track of which chapters have been changed, and which versions of each chapter
the recipients already have.
Instead, it might be more convenient for everyone to have your entire book in one document, and let Patcher worry about finding all the changes and verifying that everything has been updated correctly at the destination.
By the way, there are programs which synchronize a collection of files by checking their modification dates. They still copy the
entire file if it has any changes, but at least they skip files which are completely up-to-date.
Can I somehow include Patcher as part of my game program so that it updates itself automatically? Can I make one patch file which updates any previous version of my game? Can I skip updating bytes 0x0100 thru 0x0200 where I store my application preferences? Can Patcher update my end user's registry, too?
No, but these advanced features are available in commercial products such as ActivePatch, Flash Update, and RTPatch.
Why does Java Web Start give a "Security Advisory"?
Patcher needs to access your hard drive to read and write data files and patch files, and to search for the correct file to update when you open a patch. (more)
|