software update process
I have made a small software in qt and its only one executable and a few dlls.I want somebody to help me understand how one goes about updating an exe and the dlls without having to replace the entire exe and the dlls but instead,write 开发者_Go百科the changes you have made to an existing exe or dll.
You can be interested in Courgette which is what Google uses for delivering small diffs to exe files.
Other link
You can release a patch file that contains the differences between the user's existing version of the .exe
and .dll
files and the files that they now need to use.
Of course your build process still produces the full set of binaries1, but generating and distributing patch files means you have less to deploy.
It's not usual to do this, though, as it's more complex for the end user and (unless your distribution is vast) there's no highly tangible benefit.
Note 1 Why does this matter? What is the difference for you between:
- Old file exists
- Toolchain overwrites file with new information
- New file now exists instead
and
- Old file exists
- Toolchain modifies only the changed bytes in the existing file
- New file now exists instead
For any practical purposes I can't see how there'd be a benefit in the second.
If you make changes to a particular DLL or EXE in the code, you have to recompile and rebuild the DLL or EXE and then overwrite your existing one. I don't see how you could possibly make changes to an existing exe or DLL, without doing that.
精彩评论