Start application after update is finished

Hi,

I use wyUpdate to update my C++ application, so I don't use the .NET control, but would like to implement a similar update workflow.

I already got everything to work: I silently check for updates and show an update notification to the user if a new version is available. When the user wants to update, I close my application and launch wyUpdate.

How can I tell wyUpdate.exe that it should launch my application when finished? I know that I could do this by setting the "Execute when update is complete" option in every update through wyBuild. But I do not really want to that with every update and this is not necessary when using the .NET control either. So how is this achieved in the .NET control?

I know that I could do this by setting the "Execute when update is complete" option in every update through wyBuild.

Yep, that's how you have to do it. You can simplify your deployment process by automating it.

But I do not really want to that with every update and this is not necessary when using the .NET control either. So how is this achieved in the .NET control?

In a different way that's not possible by using wyUpdate in standalone mode.

Yep, that's how you have to do it. You can simplify your deployment process by automating it.

I have two problems with this way. First, I do not really get the intended behavior: My application starts up, but the wyUpdate window is still visible showing the "Update finished" message. Also, my application main window will be in front of the wyUpdate window and hide it from the user. I would like my application to start after the "Update finished" message from wyUpdate or to skip the "Update finished" message completely and show an appropriate message directly in my application (could be done by additional command line parameters).

Also it feels wrong to me, that I have to specify this option only to get the right update workflow. I'd rather only use this options for update specific tasks.

In a different way that's not possible by using wyUpdate in standalone mode.

I just realized that wyUpdate and the automatic updater control is open source and looked at the source code. From my understanding, the automatic updater launches wyUpdate with the "/autoupdate" command line option and then controls it using named pipes. So I could use Win32 named pipes to communicate with wyUpdate, this way I could even download the update silently in the background. Could you provide documentation for this purpose?

My application starts up, but the wyUpdate window is still visible showing the "Update finished" message.

In wyBuild: File -> Properties -> wyUpdate -> Close wyUpdate on successful update.

Also it feels wrong to me, that I have to specify this option only to get the right update workflow. I'd rather only use this options for update specific tasks.

wyUpdate can be launched from anywhere -- it doesn't "know" about your app. Hence the need to tell it about your app.

So I could use Win32 named pipes to communicate with wyUpdate, this way I could even download the update silently in the background.

You could, yes.

Could you provide documentation for this purpose?

The source code is the documentation. (Also the file format docs).

Hi,

I also want to start my application after update and I have created a .bat file which starts the app and set it up to be run after the update. The problem is that the app is started as I can see the process in Task Manager, but it has no GUI.

I have reproduced the same issue by starting another random app, the process is shown in Task Manager but nothing visible.

Please advise

Forgot to mention that I'm doing the update from a Windows Service in silent mode

Just answered my question 🙂. You can't start a GUI app from a windows service, need to find another approach.