Im Currently working on an ApplicationLauncher / Autoupdater.
So for installing/updating an app to “Program Files”, i need to request Administrator rights.
Well, since the Updater only needs to write something if new Versions are found, i tried to only
request the privilegs, if a new Version is found.
The updater is executed everytime, before the application launches, so asking “everytime” for Adminrights is no solution…
I searched a lot, and found the following:
[PrincipalPermission(SecurityAction.Demand, Role = @"Administrators")]
private void InstallOrUpdate(AppItem appItem)
but wenn i try to this, the updater throws a SecurityException…
Request for principal permission failed.
What am i doing wrong?
Best regards,
dognose
You cannot elevate permissions for the application once it’s running. In order to request the Administrators role, it will need to be done at startup time of the executable.
Your best option would be to have your updater either fire a different executable to do the
InstallOrUpdate, or to re-run itself (with a different command line argument, potentially) with a request for elevated permissions at that point.