There's currently no way to "repair" the installation, other than to release a new version of your app.
I'm just curious if there is a way to force an update to download. I know there is a way to force checking for updates then start the download, however I would like a way to force the updater to redownload the latest update even if the program is up to date.
For instance, if an end-user modifies a file included in my program and I detect that the md5 hash is different from what it should be, I want the update download to start so it can replace the modified file with the correct one.
There's currently no way to "repair" the installation, other than to release a new version of your app.
Is there any possibility for this to be implemented in the near future? I love wyUpdate and wyBuild but this missing feature is the only thing causing me to not use it at the moment.
I'm sure a lot more people would find this useful.
I'm a bit at a loss on why you'd need this. Can't the end-user just reinstall your app to repair the installation?
Can you explain why you want to repair the installation? That is, why is the user modifying the file? And what good would repairing the installation do (via an update) -- wouldn't they just re-modify the file?
This is for a client->server application, specifically an indie development game. We are using wyUpdate as our updater. Our client verification launcher is packed and checks the files before starting the game. If the launcher finds the files are modified, currently we just give them a "client corrupt, please reinstall" message. We would like to instead do an automatic "repair" instead of making them reinstall, because our game client is currently at 1.7gb and most people delete the installation file after it has been installed. Redownloading the client is extremely inconvenient.
The way we do our patches, a simple download of the latest version would repair the files. We put any file changed in any patch all in to a single download after every update, no matter if it was changed or not. If it was updated since the installer version then it gets downloaded in every update. We've found this to be the best solution for us because the way we have built our client most of our files are ~1mb.
We need this feature because being an indie team, we can not afford an anti-hack solution like GameGuard or Xtrap and this feature would help us a lot. I really don't think this would be hard to implement to be honest... Just simply give us an option to initiate a re-download of the current version. We've been using wyUpdate/wyBuild so we don't have to code an update solution ourselves but this is really limiting at the moment.
I know it doesn't seem necessary to you but in our case we really need it.
I really don't think this would be hard to implement to be honest...
It is hard (I can explain why if you'd like), it has very little applicability to most of our customers, and worst of all "anti-cracking" and "anti-hacking" are snake oils. That is, they don't work -- they don't prevent hacking or cracking, or even slow down hackers and crackers.
There are good reasons for repairing installations, and we'll be including it in wyBuild 2.7.x alongside the installer-maker, but I still can't see any good reason for including repair functionality in the updater itself. It increases complexity, increases bandwidth usage (up & down), and offers only marginal benefits over including repair functionality in your installer.
Now if you're trying to prevent cheating in your games then you'll have to do that server-side. There's no good way to do it client-side (not unless you control everything from the metal, through the OS, through to your game).