none
Ejecutable derechos administrador RRS feed

  • Pregunta

  • Queria hacer un instalador con mi app y que en la maquina destino el ejecutable de la app no el instalador se ejecutara exigiendo permisos de administrador pero no se si es posible...
    viernes, 6 de noviembre de 2015 10:03

Respuestas

  • Hola:

    Tendrías que tocar el archivo de manifiesto de la aplicación. "App.Manifest"., y en el mismo marcar lo que tienes más abajo. Con ello, en principio solicitirá permisos de administrador para poder ejecutarse correctamente.

    <?xml version="1.0" encoding="utf-8"?>
    <asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
      <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
        <security>
          <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
            <!-- Opciones del manifiesto de Control de cuentas de usuario
                 Si desea cambiar el nivel de Control de cuentas de usuario de Windows, reemplace el 
                 nodo requestedExecutionLevel por alguno de los siguientes.
    
            <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
            <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
            <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />
    
                La especificación del nodo requestedExecutionLevel deshabilitará la virtualización de archivos y del Registro.
                Si desea usar la virtualización de archivos y del Registro para la compatibilidad 
                con versiones anteriores, elimine el nodo requestedExecutionLevel.
            -->
            <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
          </requestedPrivileges>
        </security>
      </

    Es decir en ese archivo haz figurar : requiereAdministrator.

    Un saludo.

    Gemma

    viernes, 6 de noviembre de 2015 11:53
  • Por razones obvias no puedes hacer que se ejecute con permisos de administrador pero sí puedes hacer que lo solicite.

    Deberías incluir en el archivo de manifiesto de tu aplicación la siguiente entrada:

    <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

    Si no tienes archivo de manifiesto agrégalo al proyecto desde la opción "Agregar nuevo elemento" y selecciona "Archivo de manifiesto de aplicación".


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    viernes, 6 de noviembre de 2015 11:55

Todas las respuestas

  • Hola:

    Tendrías que tocar el archivo de manifiesto de la aplicación. "App.Manifest"., y en el mismo marcar lo que tienes más abajo. Con ello, en principio solicitirá permisos de administrador para poder ejecutarse correctamente.

    <?xml version="1.0" encoding="utf-8"?>
    <asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
      <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
        <security>
          <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
            <!-- Opciones del manifiesto de Control de cuentas de usuario
                 Si desea cambiar el nivel de Control de cuentas de usuario de Windows, reemplace el 
                 nodo requestedExecutionLevel por alguno de los siguientes.
    
            <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
            <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
            <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />
    
                La especificación del nodo requestedExecutionLevel deshabilitará la virtualización de archivos y del Registro.
                Si desea usar la virtualización de archivos y del Registro para la compatibilidad 
                con versiones anteriores, elimine el nodo requestedExecutionLevel.
            -->
            <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
          </requestedPrivileges>
        </security>
      </

    Es decir en ese archivo haz figurar : requiereAdministrator.

    Un saludo.

    Gemma

    viernes, 6 de noviembre de 2015 11:53
  • Por razones obvias no puedes hacer que se ejecute con permisos de administrador pero sí puedes hacer que lo solicite.

    Deberías incluir en el archivo de manifiesto de tu aplicación la siguiente entrada:

    <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

    Si no tienes archivo de manifiesto agrégalo al proyecto desde la opción "Agregar nuevo elemento" y selecciona "Archivo de manifiesto de aplicación".


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    viernes, 6 de noviembre de 2015 11:55