I have an WPF application which access windows services, task schedulers on the local machine. When I deploy this WPF application and run it without "Run as Administrator" , it fails as it is not able to access the windows services and task schedulers on the local machine. If I run it with "Run as Administrator", it works correctly.
How do I make my application by default run in admin mode when it is deployed in production?
You need to add an app.manifest
. Change the requestedExecutionLevel
from asInvoker
to requireAdministrator
. You can create a new manifest by using the add file dialog, change it to require administrator. Make sure that your project settings are set to use that manifest as well. This will allow you to simply double click the application and it will automatically prompt for elevation if it isn't already.
See here for more documentation:
http://msdn.microsoft.com/en-us/library/bb756929.aspx
EDIT:
For what it's worth, the article uses VS 2005 and using mt.exe
to embed the manifest. if you are using Visual studio 2008+, this is built in. Simply open the properties of your Project, and on the "Application" tab you can select the manifest.