I have taken the wyBuild signing key from my wyUpdate project and used that for my program. Otherwise I would get the dreaded sha1. Maybe this should be documented in the rolling your own version of wyUpdate also?
No, because this is wrong.
I then run my program and do a check for update. It then correctly finds out that there is a new update for wyUpdate, it downloads that and then I select update now. Then it shuts down my program, tries to update wyUpdate, but can't because it's in use. So clearly self-update is not working.
You're the second person to do self-updates like this, so there must be something dreadfully unclear in our How to make a custom version of wyUpdate article.
In your custom wyUpdate project you will never be clicking the "Build wyUpdate" button and you will never use the client.wyc file built from this project. From what I read, that's exactly what you're doing.
Here's how you do self-updates:
- Create your custom version of wyUpdate.
- Create a project in wyBuild, change the version, add your custom version of wyUpdate.
- Add a download site where your updates will be stored (e.g. http://example.com/custom-wu/%file%)
- Build the updates, upload the updates.
Now, in your application wyBuild project:
- Click "File -> Properties -> wyUpdate"
- Add the server site where wyUpdate will look for self updates (e.g. http://example.com/custom-wu/wyserver.wys ) -- notice how we explicitly stated the filename (wyserver.wys) instead of using the %file% variable.
- Click OK
- Click "Build wyUpdate" button.
- Now include this client.wyc file with your app. Included in the client.wyc is a reference to your custom wyUpdate self-update location.
Notice how we didn't touch any of the update signing. Also notice how we didn't click "Build wyUpdate" in our custom wyUpdate wyBuild project.
Does this make sense?