views:

2457

answers:

3

I am working on a small application in VB.NET. The program needs administrator privilege for doing some tasks. Is there a way to ask for administrator privileges during the execution if the program?

What is the general way of changing the user account under which the application is running?

+5  A: 

You can specify this in your application's manifest file.

Check out this link and this link and this link too.

J D OConal
+3  A: 

There are a number of methods depending on your needs. Some details are given in the application developer requirements for UAC.

  1. Include a UAC manifest that causes your program to require administrator privileges at startup.
  2. Use one of the suggested methods for invoking an elevation to run out of process. One of the nicest is to use the COM elevation moniker and CoCreateInstanceAsAdmin to call methods on a COM object running as an administrator. This is possibly tricky to get working in VB.Net. I got it working ok in C++ though
  3. Another ok method is to isolate the parts of your code that need admin privileges into an application that uses a UAC manifest to require admin privileges. Your main app does not need to run as an admin in that case. When you require admin privilegese, you would invoke the external application.
1800 INFORMATION
A: 

Try Dim procInfo As New ProcessStartInfo() procInfo.UseShellExecute = True procInfo.FileName = 'Filename here procInfo.WorkingDirectory = "" procInfo.Verb = "runas" Process.Start(procInfo) Catch ex As Exception MsgBox(ex.Message.ToString(), vbCritical) End Try End If

AnOnYmOuS