Hi Jordan,
In our scenario, we have different installs working with different versions:
company 1 uses version 1.1company 2 uses version 1 (update has not been rolled out yet to company 2)the version the company is using, is recorded in DB, and can be delivered via webservice for example.only after company 2 vesrion has been updated in DB to 1.1 , the update should be rolled out.
I'm afraid I don't completely follow you. Do you want to only release a new version of your software once company 2 updates to 1.1?
wyBuild builds patches between all versions, so there won't be any problem if they wish to skip 1.1 and just update directly from 1.0 to 1.2 (or beyond).
My Question is : Can WyUpdater be customized by us, to include such functionality? How can we add logic to the updater decision if the application is out of date?
Yes & yes. wyUpdate is completely open source. It's licensed under the BSD license so you can modify it however you wish.
Can an update be checked as "Optional - user may opt to update or not" or "Critical - user must update"?
Well technically all updates are optional. For instance, even if Microsoft marks a Windows update as critical the user can still skip the update.
So I'm not quite sure how to answer this question. As it stands there's no way to mark an update either optional or critical. If you use the AutomaticUpdater control you'll be able to detect in-code what the latest version is. And from there you could come up with a version scheme to differentiate between "critical" and "optional" update.
For instance, you could increment the "minor" part of the version number (e.g. 1.X) to signify a critical update and increment the "revision" part of the version number (e.g. 1.1.X) to signify an optional update. Then you could use the "Version" property of AutomaticUpdater control to decide whether to install an update or not.
Am I understanding you, or have I completely missed the mark?