wyUpdate to run in silent mode - Disabling wyUpdate forms

Hi,

I'm using the AutomaticUpdateWPF.dll version 2.6.9.0 and very pleased.

When an update is available the control download, extract it and then shows a message: "The update will be installed on next restart".

When I restart my application I see that it shuts down immediately and wyUpdate interface is loading to update the software.

Is there a way to prompt wyUpdate to launch without the GUI, e.g. in Silent mode?

Thanks,Jan

Hey Jan,

Is there a way to prompt wyUpdate to launch without the GUI, e.g. in Silent mode?

No, not for GUI apps. The first reason is that your users might not be an admin (or elevated) user. So they'll need a prompt (UAC or just a plain-old password prompt) before they can update protected files, registry, services, etc.

The second reason is that if the updating is silent it's confusing for a user. When a user double clicks your app icon they have the expectation that your app will start in a couple of seconds. If instead 20 seconds (or several minutes, depending on the size of the update) go by without your app starting (i.e. wyUpdate installing silently without GUI) your users will get frustrated. If the user sees that your app is being updated, they'll be much less frustrated.

Non-GUI apps (i.e. apps that are just Windows Services) are a different ball game altogether. Coming in the AutomaticUpdater v2.6.11 is the ability to update Windows Services without any UI or prompts whatsoever.

My advice is to use your product's branding for the wyUpdate theme. This way they'll know that your app is being updated and will be started in a minute or 2.

I'd read this and the help in "How can I completely hide the updater (wyUpdate)?"

We'd still like to do this for a .NET exe. The reasons are:1. Google Chrome and many other apps do it - users are getting used to apps that just keep themselves up-to-date2. Many users don't know what wyUpdate is, even if it has another application's branding.3. Our app updates are small, and are typically only run when the user runs the app at startup.4. We don't need admin privileges at all.

Hence a request to wyDay to give us this option.

Hey Andrew,

The way google chrome does this is there update goes to a separate folder on disk. For instance, "version 1" would be in folder "%appdata%\chrome\version 1", then when an update is detected it's installed to another folder: "%appdata%\chrome\version 2".

File associations & shortcuts are updated at the last possible moment.

In other words this is very, very, very hard to apply to "general purpose apps". Google Chrome was explicitly designed to support an ever changing directory, associations, etc. We cannot make that assumption with "normal" apps.

That being said, we haven't completely ruled this behavior out. But your app would have to follow a strict set of guidelines to have a truly seemless update process.

Currently the 2 best options for "completely silent" updates are:

  1. AutomaticUpdater tutorial for Windows Services and Console Apps
  2. How to Silently update a Windows Service

Hey Sam,

Thanks for the quick reply.

I understand the difficulties involved in getting a full system like Chrome to work.

The feedback we get from admins and users is that they're suspicious when they see wyUpdate pop-ups. These pop-ups typically happen when our app runs at startup. Some think it might be malware.

We could go the service or console wyUpdate route, but that is a big change for our app.

Is it possible to have the option in the wyUpdate component to keep it minimized during updating, unless there is a problem?

Is it possible to have the option in the wyUpdate component to keep it minimized during updating, unless there is a problem?

You could always call wyUpdate at the close of your app rather than letting it start at the start of your app. This way they know that the update is directly related to your application.

Another option is to strip out the wyUpdate branding by downloading the wyUpdate source code, changin all instance of wyUpdate to "YourApp Updater", then code-sign the generated exe.

This way your customers will know it's directly related to your app.