No that isn't how it is now. Sorry I will explain my layout exactly. I have two types of systems, one software system is the parent -> consists of a service and a winform; the other is a child -> consists of a main service, an update service, and a winform.
The parent system's winform only works whenever the user has ran it as an administrator. So from this system I use the automatic updater since its permissions are already elevated, it does not update from the service. When using the automatic updater if the user cancels the update, on the next run of the winform it forces the install (even though I have the checks in to always make sure the user accepts before continuing), which I don't want, so I was wondering which other method could I use to update but keeping the wyUpdate GUI that shows the process of the update and that automatically restarts the winform after its done.
The child's system is never elevated so it get's permission from the parent (using wcf beyond the scope of the problem) and when the parent allows the update the child's updater service is started (runs on the local system account). What I wanted it to do here was start wyUpdate from the command line with the /fromservice argument. Then after it was done it would restart the update service with an argument in which the service would use CreateProcessAsUser to start the GUI from the service. That is when wyUpdate gives the UnauthorizedAccessException. If I launch the GUI with elevated permissions with CreateProcessAsUser it works fine, but if I try to launch the GUI from the current user (with limited permissions) wyUpdate gives the error. So I just wanted to make sure it was not something on wyUpdate's end before going deeper into the method I wrote from starting the GUI process.
Thanks for your time. Hope that clears it up. 😀