Suggestion: elevated="true"/"false"Solved

It's possible to specify that a given executable should be run before or after doing an update. You can set its launch window properties (minimized, normal, maximized), and a few other characteristics.

One thing that's bound to trip people up: whether that process is launched as admin, or as the logged in user with normal credentials.

Unfortunately, Microsoft makes it very, very hard to launch a process from your current process at a lower security level. You can upgrade from normal to administrator rights, but not vice verse.

However, if the thing being run shouldn't be run as administrator, running it as admin can have bad consequences. For example, a process that has been elevated does not have the same network view as one that is running normal: mapped drives are not available to the elevated process, for one thing. Other security issues can be as bad or worse. What parts of the registry are used is also altered, since virtualization may no longer be in play when it should be (same with filesystem).

So, it's important that we be able to specify for running something from wyUpdate.exe whether it should run elevated or not.

To run something normal from an elevated process, you have to ask Explorer shell to execute it for you (since explorer is running non-elevated in the user's normal credentials). I can give you C++ code that accomplishes this, and a link to a stackoverflow discussion about it, on request.

We already have this functionality for programs using the AutomaticUpdater (after an app is updated it's restarted with limited privileges). We'll make this available to everyone. Thanks for suggesting this.

wyBuild 2.6.16 is now out -- we've added this.

Thanks! 😎