I’ve been wondering what the difference between embedding
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
and
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
in your application’s manifest is.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
This is described on MSDN:
Basically, “asInvoker” will use the user’s default security settings. It’s described as “The application runs with the same access token as the parent process.”, which means the same security token is used as the calling process, which is typically the desktop shell (or the process that launches this, if you launch your app from another program).
Using “highestAvailable” will cause the application to run using the highest priveledges the user can obtain. If they’re an administrator, for example, they’ll get a UAC prompt and the app will run with admin rights. However, if they’re a normal user, they’ll get normal security settings, etc.
In general, you’ll want to use “asInvoker” unless you have a specific reason to request more rights.