elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Sistemas Operativos
| |-+  Windows (Moderador: Randomize)
| | |-+  ¿Que necesito para instalar app y que no vuelva a pedir permisos de aplicacion?
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Que necesito para instalar app y que no vuelva a pedir permisos de aplicacion?  (Leído 5,699 veces)
Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
¿Que necesito para instalar app y que no vuelva a pedir permisos de aplicacion?
« en: 21 Mayo 2015, 01:31 am »

Pues eso, quiero instalar un programa que necesita elevacion UAC y no se como ponerlo.

Pues le pongo requireAdministrator, y lo anclo al registro, pero luego no funciona y sigue con los permisos de administrador, ¿que hago entonces?.

Ayuda please.


En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
kub0x
Enlightenment Seeker
Colaborador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: ¿Que necesito para instalar app y que no vuelva a pedir permisos de aplicacion?
« Respuesta #1 en: 21 Mayo 2015, 01:47 am »

Pues le pongo requireAdministrator, y lo anclo al registro, pero luego no funciona y sigue con los permisos de administrador, ¿que hago entonces?.

¿Sólo quieres que se ejecute como Admin una vez? Dale un vistazo a "runas". Sino, podrías reescribir el manifest después de la instalación para que cuando se ejecute en el inicio (gracias al registro) no pida privilegios.

Saludos.


En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

Kaxperday


Desconectado Desconectado

Mensajes: 702


The man in the Middle


Ver Perfil WWW
Re: ¿Que necesito para instalar app y que no vuelva a pedir permisos de aplicacion?
« Respuesta #2 en: 21 Mayo 2015, 15:54 pm »

Antes de escribir esto ya me baje lo de runas, el código era el siguiente:

Código
  1. public void elevacionUAC()
  2.        {
  3.            // Launch itself as administrator
  4.            ProcessStartInfo proc = new ProcessStartInfo();
  5.            proc.UseShellExecute = true;
  6.            proc.WorkingDirectory = Environment.CurrentDirectory;
  7.            proc.FileName = Application.ExecutablePath; //System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase;
  8.            proc.Verb = "runas";
  9.  
  10.            try
  11.            {
  12.                Process.Start(proc);
  13.            }
  14.            catch
  15.            {
  16.                // The user refused to allow privileges elevation.
  17.                // Do nothing and return directly ...
  18.                return;
  19.            }
  20.  
  21.            Application.Exit();  // Quit itself
  22.        }

Esto es una función que al ejecutarla pide permisos de administrador para el programa, en un diálogo.

Aunque si solo hay esta manera y la anterior, (la de editar el manifiesto) me quedo con la del manifiesto y para casos especiales con esta, es decir con ambas.

Parece que he encontrado como añadirla de excepcion al firewall:

netsh firewall add allowedprogram C:\MyApp\MyApp.exe MyApp ENABLE

Lo necesito para que al ejecutarse se conecte a internet, no se si debería cambiar algo en el antivirus por si me bloquea o algo así, saludos.

Hola kubox, como puedo ponerle para editar el manifiesto en ejecucion.

No se como acceder a sus atributos desde el codigo, saludos.

Por cierto en el codigo anterior no compilaba no encuentra Application, no estoy en windows forms, como lo puedo solucionar? xd



Buenas a todos gente, al final tras mucho rastrear por ahí he conseguido ponerlo, que me pida permisos de usuario en plena ejecucion del programa por si lo necesita en algun momento, para ello lo unico que he encontrado es con un form, que te salga una ventanita y le das click a un boton, y entonces te sale lo de los permisos del UAC, pero sin el form no he encontrado nada, os dejo el code.

Código
  1. public partial class UAC : Form
  2.    {
  3.        public UAC()
  4.        {
  5.            InitializeComponent();
  6.        }
  7.  
  8.  
  9.        private void UAC_Load(object sender, EventArgs e)
  10.        {
  11.            // Update the Self-elevate button to show a UAC shield icon.
  12.            this.btnElevate.FlatStyle = FlatStyle.System;
  13.            SendMessage(btnElevate.Handle, BCM_SETSHIELD, 0, (IntPtr)1);
  14.        }
  15.  
  16.        [DllImport("user32", CharSet = CharSet.Auto, SetLastError = true)]
  17.        static extern int SendMessage(IntPtr hWnd, UInt32 Msg, int wParam, IntPtr lParam);
  18.  
  19.        const UInt32 BCM_SETSHIELD = 0x160C;
  20.  
  21.  
  22.        private void btnElevate_Click(object sender, EventArgs e)
  23.        {
  24.            // Launch itself as administrator
  25.            ProcessStartInfo proc = new ProcessStartInfo();
  26.            proc.UseShellExecute = true;
  27.            proc.WorkingDirectory = Environment.CurrentDirectory;
  28.            proc.FileName = Application.ExecutablePath;
  29.            proc.Verb = "runas";
  30.  
  31.            try
  32.            {
  33.                Process.Start(proc);
  34.                MessageBox.Show("Tenemos permisos");
  35.            }
  36.            catch
  37.            {
  38.                MessageBox.Show("SIN PERMISOS");
  39.                // The user refused to allow privileges elevation.
  40.                // Do nothing and return directly ...
  41.                return;
  42.            }
  43.  
  44.            Application.Exit();  // Quit itself
  45.        }
  46.    }


Alguien me puede decir como editar el archivo de manifiesto XML en ejecución??

Y se os ocurre otra manera para hacerlo mas en "background" y sin form?

Ademas no veo solucion al codigo pues lo unico que hace es re-ejecutar el programa como administrador desde 0 (lo estoy probando y al aceptar me vuelve a ejecutar el programa  :¬¬ :¬¬ :¬¬

Quizás con esto se pueda editar el manifiesto en ejecución para cambiarlo a asInvoker.
« Última modificación: 23 Mayo 2015, 13:09 pm por Kaxperday » En línea

Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Permisos de administrador, para poder instalar programas
Dudas Generales
otela 2 5,138 Último mensaje 18 Junio 2010, 10:40 am
por otela
hacer que el programa me vuelva a pedir los datos
Programación C/C++
Pwma 7 17,616 Último mensaje 5 Diciembre 2010, 22:32 pm
por JuszR
Pedir permisos de administrador
.NET (C#, VB.NET, ASP)
Xephiro 1 4,390 Último mensaje 4 Agosto 2011, 04:15 am
por Novlucker
Necesito permisos de admin para escribir en disco duro extraible
Windows
crazykenny 3 17,811 Último mensaje 21 Enero 2012, 20:56 pm
por crazykenny
Shellexecute pedir permisos administrador
Programación General
Borito30 1 1,597 Último mensaje 16 Noviembre 2016, 18:46 pm
por MCKSys Argentina
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines