windows - Ejecuta otro programa como administrador
vb.net uac (1)
Así que traté de buscar en Google esto y esto no obtiene un buen resultado. Lo que trato de hacer es ejecutar otro programa como administrador sin que aparezcan molestos UAC cada vez.
La idea es esta, este programa requiere privilegios de administrador para ejecutar que el usuario otorgará. Entonces este programa ejecutará muchos otros programas que también requieren permisos de administrador. En lugar de que el usuario haga clic y permita un montón de programas de vez en cuando, el programa con permisos de administrador puede ejecutar los otros programas como administrador ya que él mismo lo tiene.
Esto salvaría al usuario de seguir el camino a muchas instrucciones. Además, hacer que el programa solicite al usuario que permita muchas cosas parece muy poco profesional. Es solo un programa de un clic que lo hace todo.
La razón por la que dije que Google no está obteniendo un buen resultado es porque la página está inundada de cómo los usuarios pueden ejecutar su programa como administrador. Quiero poder ejecutar otro programa como administrador.
Estaba pensando en dejar caer los archivos de configuración en una carpeta y luego ejecutar los archivos como administrador de CMD, pero me requeriría usar runas
y después de probarlo en mí mismo, seguía diciendo que la contraseña / nombre de usuario estaba equivocado, pero estaba seguro de que estaba.
¿Algún otro consejo?
Puede ejecutar otra aplicación desde su aplicación usando:
Process.Start("Notepad.exe")
Si su programa original se está ejecutando elevado (como administrador), el Bloc de notas se ejecutará como administrador (no habrá ningún aviso de UAC)
Si su programa original no se está ejecutando elevado y desea iniciar una aplicación elevada (como administrador) tendrá que hacer algo como esto (esto solicitará la elevación):
Dim procStartInfo As New ProcessStartInfo
Dim procExecuting As New Process
With procStartInfo
.UseShellExecute = True
.FileName = "Notepad.exe"
.WindowStyle = ProcessWindowStyle.Normal
.Verb = "runas" ''add this to prompt for elevation
End With
procExecuting = Process.Start(procStartInfo)
Tenga en cuenta que no hay forma de eludir el aviso de UAC. Si UAC está habilitado, el usuario tendrá que aceptar la elevación en algún momento.