Posted February 05, 2013
I don't get how the GOG team haven't implemented this yet. If there are certain files files that can't be patched using an update patcher, the patcher will exit with error, but will not roll back the files. The next time you try again, it will spew a lot more errors because it does not check whether or not files are already patched, and tries to patch them anyway, and fail horribly.
What should be done is the following:
- Check whether or not a file has been patched already before trying to patch it. Embed CRC sums into the patcher. Ignore file if already patched. (This will help existing installations borked by the patcher to finish patching.)
- If the file to be patched is to be overwritten with a new copy, back up the original.
- If the file is to be diff patched, either test patch or compare to original checksum. If that fails, do not real patch any remaining files, but check only.
- If any files failed, roll back the changes, after checking remaining files. If the patch library you guys use can't roll back, it is junk.
- The game should be in the exact same state as before if patching failed.
- It'd be useful if there's a retry/ignore system for those of us who mod games.
This is elementary stuff. I know Inno doesn't support rollback and repair, but if you guys are going to add patching functions, at least implement them well. (I'm thinking Windows Installer, but light.)
What should be done is the following:
- Check whether or not a file has been patched already before trying to patch it. Embed CRC sums into the patcher. Ignore file if already patched. (This will help existing installations borked by the patcher to finish patching.)
- If the file to be patched is to be overwritten with a new copy, back up the original.
- If the file is to be diff patched, either test patch or compare to original checksum. If that fails, do not real patch any remaining files, but check only.
- If any files failed, roll back the changes, after checking remaining files. If the patch library you guys use can't roll back, it is junk.
- The game should be in the exact same state as before if patching failed.
- It'd be useful if there's a retry/ignore system for those of us who mod games.
This is elementary stuff. I know Inno doesn't support rollback and repair, but if you guys are going to add patching functions, at least implement them well. (I'm thinking Windows Installer, but light.)