Custom UI and questions about update workflow

Hello,

i'm trying wyUpdate and it seems to fit my needs in terms of update capabilities.Now i'd like to integrate the autoupdate feature on my app but since it has a custom WPF UI where the AutoUpdater component would not fit nicely i'd like to create the UI on my own.The AutomaticUpdaterBackend class seems to be what i need, but studying it i think some important documentation (not related to the class itself) is missing: the complete update workflow.

While i have somewhat clear that the steps are- checking- downloading- extracting- patching- installingi don't know exactly how they happen.In the class definition i see only the ForceCheckUpdate and InstallNow methods.Does ForceCheckUpdate automatically download the file and do all other steps up to installing?What if i want to download the update but let the user install it when he wants? If i understood corretly the docs wyUpdate will install any update which is ready to be installed the next time the app is launched and i'd like him to give its okay to proceed.

Then i have a ton of other doubts like:- When do i need to call AppLoaded, what is that used for?- When ClosingForInstall == true does the app get minimized? Why doesn't it get actually closed? Can the app not load and display a window at all?- When could the ClosingAborted event be called (not "why", i mean at which point of the execution)?

I think that wyUpdate is a great software solution and there is a precise reason if things are done in a certain way, for this reason i think that if the update workflow would be documented (what is done in a step, by which process, what can go wrong, what other steps can be next, ...) i would't have such doubts because everything would be explained there.I'd like to make it clear that i'm not complaining at all, i'm suggesting a way to improve the documentation and making easier for developers to get started.

Thank you

The AutomaticUpdaterBackend class seems to be what i need, but studying it i think some important documentation (not related to the class itself) is missing: the complete update workflow.

The default workflow for the AutomaticUpdater is to add it to your app, configure a couple of the properties like DaysBetweenChecks, and let it handle the updating.

If you're looking to build a custom UI then download the AutomaticUpdater source code. Look at the WPF control. It uses the AutomaticUpdaterBackend and you'll see how to handle the myriad of threading problems.

In the class definition i see only the ForceCheckUpdate and InstallNow methods.Does ForceCheckUpdate automatically download the file and do all other steps up to installing?

When you have the UpdateType property set to Automatic, then yes. You don't even need to call ForceCheckForUpdate. The AutomaticUpdater handle that based on the DaysBetweenChecks property.

- When do i need to call AppLoaded, what is that used for?

There's a long technical explanation. But it's just easier to look at the WPF AutomaticUpdater source code.

- When ClosingForInstall == true does the app get minimized? Why doesn't it get actually closed? Can the app not load and display a window at all?

Your app does get closed, but it needs to talk to wyUpdate for a little bit to see if everything is valid. Thus, rather than show your app for a few fleeting seconds and have it quickly close we decided it is better to hide it from the user.

- When could the ClosingAborted event be called (not "why", i mean at which point of the execution)?

After the contructor for your Form/Window finishes.

I'd like to make it clear that i'm not complaining at all, i'm suggesting a way to improve the documentation and making easier for developers to get started.

You're right, the documentation has its weak points. We're working to improve that.

Thank you Sam, looking at the source code I figured out how the update works.I did some tests and seems to be working. I have a small problem but i'll open a separate thread.