MatthiWare / UpdateLib

A .Net auto update library made in C#
GNU Affero General Public License v3.0
6 stars 3 forks source link

Patches using Delta Compression #30

Open Matthiee opened 6 years ago

Matthiee commented 6 years ago

Patching system with delta compression

To create smaller updates and reduce the time, UpdateLib should start using patches. These patches will be created using the VCDIFF/RFC3284 algorithm. All the patches for a version will be bundled together with metadata into a single compressed zip archive.

Existing software

Current zip idea/layout

Metdata file

Metdata file contains pointers more information. This should also contain information about deleted files etc.

Other

The highest compression settings are currently used, might change to find a better compression/time ratio.

xdelta3 -e -f -9 -S -s original.exe updated.exe original.exe.delta For the zip inflate/deflate using level 9 will be used.

Matthiee commented 6 years ago

Edit we will probably use our own managed VCDiff library running on .NET Standard 2.0