VPatch is a free patch generator which can generate small patch files which can update old versions to new versions. This means that if the old version is installed on the user system, you can patch it to the new version, and you don't have to distribute the full new version, only the much smaller patch.
When distributing patches, you can attach the patch to the patch runtime in either EXE form, or in NSIS 2 plugin form.
You can use the command line programs to create patch files or to patch files (with the patch files ), or you can create an exe file that has the patch file attached.
If you'd like to create your own "incremental backup/versioning" system with this, the minimum files you'd need are GenPat.exe (~80k, to generate a .pat file, or to add new diffs to an existing .pat file), and vpatchprompt.exe (~10k, to patch/restore a file with a .pat file). Sizes mentioned are all compressed with UPX.
To distribute a one time patch, you'd attach the .pat file to an .exe. This results in an .exe that would have the .pat file included and that same ~10k.