Principales respuestas
Como elevar los permisos de administrador en W10

Pregunta
-
Hola
Trabajo en Visual Studio 2015, Windows Forms, Windows 10
El problema es que en mi maquina que tiene W10 no da problemas pero en la maquina del cliente si da problemas en W10
Le agregue un archivo de manifiesto pero igual me da problemas
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> <!-- Opciones del manifiesto UAC Si quiere cambiar el nivel del Control de cuentas de usuario de Windows reemplace el nodo requestedExecutionLevel por uno de los siguientes. <requestedExecutionLevel level="asInvoker" uiAccess="false" /> <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> <requestedExecutionLevel level="highestAvailable" uiAccess="false" /> Especificar el elemento requestedExecutionLevel deshabilitará la virtualización de archivos y registros. Quite este elemento si la aplicación necesita esta virtualización para la compatibilidad con versiones anteriores. --> <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> </requestedPrivileges> </security> </trustInfo>
El error es
NO me deja copiar en C:\..
Pedro Ávila
"El hombre sabio querrá estar siempre con quien sea mejor que él."
Lima - Perú
Respuestas
-
Pido disculpas, el cambio del manifiesto te lo dije mal. No se trata de poner true en el uiAccess, sino de que se encuentre activado el requireAdministrator. Viendo el manifiesto que pusiste, esta bien como lo tienes (no hay que poner true). Si no lo esta tomando en cuenta en tiempo de ejecucion, revisa en las propiedades del proyecto, Application, "Icon and manifest". Verifica que se encuentra seleccionado el app.manifest que agregaste.
Todo lo demas confirma lo que te he dicho. A la vista del primer error, el problema es de permisos (que son mas restrictivos en w10 que en w7). Ojo, revisa con el Explorador de Windows los permisos de esa carpeta, no vaya a ser que efectivamente no tenga permiso de escritura para el usuario de la aplicacion (ni para el administrador, una vez corregido el manifiesto) y por lo tanto el problema no sea culpa del programa, sino de la configuracion del sistema.
- Propuesto como respuesta Pedro AlfaroModerator miércoles, 23 de enero de 2019 18:14
- Marcado como respuesta Pedro Ávila miércoles, 23 de enero de 2019 20:54
Todas las respuestas
-
Hola Pedro Ávila
Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, te comento que estaremos realizando una revisión a profundidad acerca del inconveniente que se te está presentando.
Proporcionaremos una respuesta lo más pronto posible.
Gracias por usar los foros de MSDN.
Pedro Alfaro
____
Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.
Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.
Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft. -
No se ven la imágenes que has puesto, salen todas como una X en negro. Pero si lo que pasa es que no te deja copiar en C:\, el problema es que en los Windows modernos se requiere permiso de administrador para grabar en esa ubicación. Pero en tu manifiesto has pedido requireAdministrator="false", y por lo tanto no te asigna el correspondiente permiso. Si lo cambias por "true" debería funcionar (pero, claro, requerirá que uses una cuenta de administrador, puesto que quieres escribir en una ubicación que solo está permitida a los administradores)
- Propuesto como respuesta Jorge TurradoMVP martes, 22 de enero de 2019 8:56
-
Hola @Alberto
Lo que hago es coger un archivo que puede estar en cualquier parte como en D:\ o en el escritorio, etc
Cuando lo escojo lo muevo a una carpeta oculta en la cual registro la ruta en una db, la ruta que he estado utilizando es la siguiente.
_destinoRutaArchivo = string.Concat( Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), string.Concat(@"\", nombreArchivo));
Probare con esta otra:
_destinoRutaArchivo = string.Concat( Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), string.Concat(@"\", nombreArchivo));
El error que sale en la primera ruta es sobre permisos. El problema es solo en W10, en W7 funciona normal.
@Alberto, poniendo true me da este error
Saludos!
Pedro Ávila
"El hombre sabio querrá estar siempre con quien sea mejor que él."
Lima - Perú
- Editado Pedro Ávila martes, 22 de enero de 2019 12:15
-
Pido disculpas, el cambio del manifiesto te lo dije mal. No se trata de poner true en el uiAccess, sino de que se encuentre activado el requireAdministrator. Viendo el manifiesto que pusiste, esta bien como lo tienes (no hay que poner true). Si no lo esta tomando en cuenta en tiempo de ejecucion, revisa en las propiedades del proyecto, Application, "Icon and manifest". Verifica que se encuentra seleccionado el app.manifest que agregaste.
Todo lo demas confirma lo que te he dicho. A la vista del primer error, el problema es de permisos (que son mas restrictivos en w10 que en w7). Ojo, revisa con el Explorador de Windows los permisos de esa carpeta, no vaya a ser que efectivamente no tenga permiso de escritura para el usuario de la aplicacion (ni para el administrador, una vez corregido el manifiesto) y por lo tanto el problema no sea culpa del programa, sino de la configuracion del sistema.
- Propuesto como respuesta Pedro AlfaroModerator miércoles, 23 de enero de 2019 18:14
- Marcado como respuesta Pedro Ávila miércoles, 23 de enero de 2019 20:54