• Jueves 14 de Noviembre de 2024, 16:59

Autor Tema:  Insertar Manifest Aplicaciones VB [ Privilegios de Admin]  (Leído 2533 veces)

RHL

  • Nuevo Miembro
  • *
  • Mensajes: 23
  • Nacionalidad: 00
  • In the Inside...
    • Ver Perfil
Insertar Manifest Aplicaciones VB [ Privilegios de Admin]
« en: Domingo 8 de Enero de 2012, 04:05 »
0
en este tuto enseñare a como insertar un archivo manifest para que un programa hecho en vb se ejecute con privilegios
de administrador y este metodo no solo lo podemos ocupar para tal cosa, tambien sirve para que nuestras
aplicaciones tengan "estilo XP" eso quiere decir que lo botones, barras, demas controles, seran al estilo del
windows que tengamos. solo necesitais la herramienta llamada "mt.exe" incluida en las herramientas SDK,
notepad.exe y vb.
Respecto a la herramienta que inserta el manifest (mt.exe) a nuestras aplicaciones pueden descargarla la SDK
aqui:  http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6510
si lo quieren el archivo Mt.exe lo e subido aqui: http://www.mediafire.com/?qw2f5w0xrr4d2fq
descargando solo este archivo necesitaran al menos uno de estos requisitos:
1)
► Visual Studio 2005 o posteriores

2)
► Microsoft Office 2003 o posteiores
► Visual Studio Team System


bien veamos el archivo manifest base que nos da microsoft para poder modificarlo para
nuestras aplicaciones:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity version="1.0.0.0"
     processorArchitecture="X86"
     name="NAME"
     type="win32"/>
  <description>Ejemplo Obtener Privilegios</description>
  <!-- Identify the application security requirements. -->
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="PRIVILEGE"
          uiAccess="false"/>
        </requestedPrivileges>
       </security>
  </trustInfo>
</assembly>


Bien como ven e marcado con azul en lo que debemos fijarnos y con rojo que es lo que generalmente se
tiene que modificar...

Name: nombre correcto del proyecto

Description ( optional ): podemos agregar una descripcion aunque es opcional para editor de recursos de este
tipo ahi es donde podemos visualizar la descripcion tambien...

Level: es el nivel de privilegio que queremos darle a nuestra aplicacion, ya que hay distintos niveles
de seguridad que una aplicacion puede obtener seria importante leer un poco aqui un dreve que e hecho:


"asInvoker": La aplicacion se ejecuta con los privilegios de hereda el proceso padre... osea del usuario o del proceso que lo ejecuto

"highestAvailable": La aplicacion se ejecuta con los privilegios de la cuenta de usuario...

"requiereAdministrator": el privilegio mas alto, la aplicacion se ejecuta como administrador...

lo demas por lo general no se modifica para apliaciones de VB :P estoy estudiando sobre el comportamiento de los
manifest para apliaciones hechas en C++ con 64 bits y es otro rollo..
bueno para mas informacion esta la MSDN

modificado el archivo manifest lo guardamos con este formato de nombre: NOMBRE.exe.manifest
el NOMBRE debe de tener el mismo nombre que el ejecutable yo por ejemplo tomare por defecto proyecto1:
Proyecto1.exe.manifest

para que no ocurran errores durante el ensamblaje es mejor que el archivo Mt.exe lo copien como en un directorio donde no
requiere de privilegios ya que aparte que facilita con las direcciones de ejecutable, el manifest, y el archivo Mt.exe requiere de
privilegios para que todo salga correcto. yo por ejemplo el escritorio, yo tomare encuenta que lo tienen ahi...
bien ahora abrimos el DOS nos vamos a la ruta del escritorio... en donde deben de estar los tres archivos ( mt.exe, proyecto1.exe, proyecto1.exe.manifest )

el comando para ensamblar es el siguiente:
Código: [Seleccionar]
mt.exe -manifest proyecto1.exe.manifest -outputresource:proyecto1.exe;#1
el comando anterior esta exactamente para insertar el manifest con los archivos que tome de ejemplo, solo deben de cambiar
los nombre de los archivos.
luego del proceso el ejecutable como podrais ver:


duda comentar, saludos :)