Update Integrity?

Does wyUpdate check the program directory after the update to verify the integrity of the update?

I'm having trouble with this situation:

Define an application version as a directory with 2 files.Install on a client machineUpdate one file, publish the updateRemove the file that was not updated from the client machineUpdate the client machine

You end up with a directory that is missing one file. Is there a way to make wyUpdate download the catch-all update if files are found to be missing?

wyUpdate checks the integrity of the files it updates. However, let's say in version 1 and version 2 you have a file named "Doesn't change.txt" that is the same in both versions. When wyBuild creates a patch it doesn't touch this file. And, thus, when wyUpdate installs the updates wyUpdate doesn't touch "Doesn't change.txr".

So, yes, wyUpdate checks file integrity, but it doesn't check files it won't be changing.

Would you not agree that the updated application should be in a known state after an update has been applied? The system you described does not ensure this.

I would like to request that a 'full update' option be added. If any files expected to be present after an update have unexpected contents, this full update can be downloaded and applied. This would bring the application to a known state after every update.

Would you not agree that the updated application should be in a known state after an update has been applied?

We do ensure that all updated files are in a proper state. To verify *every* single file (even ones that were untouched) would unnecessarily increase the time it takes to install the updates.

Why are your users deleting files?

In my humble opinion, a few seconds spent verifying the rest of the files would be well worth it.

Understandably, this is something that may not be desirable in all situations. (Though I struggle to imagine a usage scenario where this would not be desired)

I agree with Sam, it doesn't make sense in every situation that all files be checked. There are situations where each update might have lots of files, or some really large files - which is where WyUpdate is truly powerful. The main reason this product has so many satisfied users (despite the prolonged delay in 2.6.15 ;P ) is that it is extremely easy to use and the updates are tiny, which means the end users are really happy as well. If every single file was checked, that would unnecessarily slow down the process. (hashing large files/lots of files is a cpu-intensive process).

If you really need to verify that all files are as expected, you could easily write a small program to verify that for you. If they aren't then just show the users a message asking them to stop messing with the files and install the program again.

On a side note, Sam, it might be helpful to add a command line parameter to WyUpdate which forces it to use the 'All to X.X' patch instead of the delta patch, so that it would be easy to fall back to that if needed.