less strict file overwrites

I like wyupdate so far, but theres a major problem. If a user edits a file (quite common because my game is moddable) then the wyupdate will fail. Completely fail, the only way then for that user to update is to go a complete re-install. -What is needed instead is for it to be less strict, if wyUpdate finds an unexpected file version, it needs to give a prompt instead saying "The following files are unexpected or have been modified. Would you like to force an overwrite?" and give the user a choice of overwriting the file with the update on, or cancelling the update alltogether. This is quite an important issue for me.

-A minor issue, when adding the files for a new version I would like to be able to just add the root folder of the app and then have the entire contents added. As it is now, if I do that then wybuild adds the root folder itself as a subfolder first. This means that everytime I make a new update I have to go into the root folder and indivudually add every single folder within it, and then all the files. It would be nice to be able to do this with one click.

-What is needed instead is for it to be less strict, if wyUpdate finds an unexpected file version, it needs to give a prompt instead saying "The following files are unexpected or have been modified. Would you like to force an overwrite?" and give the user a choice of overwriting the file with the update on, or cancelling the update alltogether. This is quite an important issue for me.

The design of our patching system requires that the installed files remain unpatched. This image best describes the process:

[attachment=0]delta-compression.png[/attachment]

That is, wyBuild creates the smallest possible file to get from the old version of your app to the new version of your app. If a user modifies your app then the patching will fail.

There are a few things you can do to avoid this problem:

  1. Use catch-all updates (File->Properties->Update & server files and check "Create a catch-all update for corrupt instllations)
  2. Have your users store their mods in a separate folder that your app dynamically loads rather than having them modify your existing files.
  3. Have your updates install full files instead of patching (I can explain how to do this with wyBuild if you want).

The second option is probably the best choice for you. This allows your users to modify your application while still letting wyUpdate patch your app.

-A minor issue, when adding the files for a new version I would like to be able to just add the root folder of the app and then have the entire contents added. As it is now, if I do that then wybuild adds the root folder itself as a subfolder first. This means that everytime I make a new update I have to go into the root folder and indivudually add every single folder within it, and then all the files. It would be nice to be able to do this with one click.

You can select multiple files / folders (Ctrl + A) and add them or drag them into wyBuild.

1- Use catch-all updates (File->Properties->Update & server files and check "Create a catch-all update for corrupt instllations)

Not an option- my game is 600mb, it will download the full size 600mb catchall update right? I don't have the bandwidth, plus it defeats the object of an autoupdater.

2- Have your users store their mods in a separate folder that your app dynamically loads rather than having them modify your existing files.

A lot of work to alter my current system, i can't afford the time

3- Have your updates install full files instead of patching (I can explain how to do this with wyBuild if you want).How would this work? Sounds interesting.

How would this work? Sounds interesting.

The best way to do it is to go into wyBuild, click File ->Properties->Update & server files and uncheck "Enable patch compression". Now when you build updates wyBuild will still compare your versions but instead of creating patches it will instead include the full changed files.

Of course the downside to this method is that the update files will be larger.

Ok, that seems like a price worth paying for me. Will the files be compressed at all (eg basic zips)?

thanks for your help

Will the files be compressed at all (eg basic zips)?

Yes, just zip compression. In the long run you should think about having a separate "mod folder" for your users so they don't modify your original files. That way you can take advantage of the small patch files.

Sam wrote:> The best way to do it is to go into wyBuild, click File ->Properties->Update & server> files and uncheck "Enable patch compression". Now when you build updates wyBuild> will still compare your versions but instead of creating patches it will instead> include the full changed files.

I suggest this should be mentioned in the FAQs as an alternative to catch-all!

I had the same problem. One file is always changed by the program, but i need to update it. This resulted in the catch-all always being donwloaded. Now I can use this option and get rid of the catch-all (which did not work very well due to unexpected side-effects).

Of course, the icing on the cake would be to be able to select this per file. Like a checkbox "include as whole". 🙂