[ CLICKONCE] HowTo: Lanzar Una App Desplegada Con ClickOnce Con Privilegios De Administrador
Download File https://fancli.com/2tvq3G
[ CLICKONCE] HowTo: Lanzar una app desplegada con ClickOnce con privilegios de administrador
ClickOnce es una tecnologÃa de Microsoft que permite desplegar aplicaciones .NET de forma sencilla y segura. Sin embargo, algunas aplicaciones pueden requerir ejecutarse con privilegios de administrador para acceder a ciertos recursos o realizar ciertas operaciones. En este artÃculo, veremos cÃmo lanzar una app desplegada con ClickOnce con privilegios de administrador.
El primer paso es crear un manifiesto de aplicaciÃn que especifique el nivel de privilegios requerido por la app. Para ello, podemos usar la herramienta Mage.exe que se incluye en el SDK de .NET. El comando serÃa algo asÃ:
mage -New Application -ToFile MyApp.manifest -Name \"MyApp\" -Version 1.0.0.0 -Processor x86 -TrustLevel FullTrust -UseManifestForTrust true
Esto generarà un archivo XML llamado MyApp.manifest que contendrà la informaciÃn de la app y el nivel de confianza requerido. Podemos editar este archivo para cambiar el valor del atributo requestedExecutionLevel a requireAdministrator, que indica que la app necesita privilegios de administrador para ejecutarse. El resultado serÃa algo asÃ:
<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 name=\"MyApp\" version=\"1.0.0.0\" publicKeyToken=\"0000000000000000\" language=\"neutral\" processorArchitecture=\"x86\" type=\"win32\"/>
<description asmv2:publisher=\"Unknown Publisher\" asmv2:product=\"MyApp\"/>
<trustInfo xmlns=\"urn:schemas-microsoft-com:asm.v2\">
<security>
<requestedPrivileges xmlns=\"urn:schemas-microsoft-com:asm.v3\">
<!-- UAC Manifest Options
If you want to change the Windows User Account Control level replace the
requestedExecutionLevel node with one of the following.
<requestedExecutionLevel level=\"asInvoker\" uiAccess=\"false\" />
<requestedExecutionLevel level=\"requireAdministrator\" uiAccess=\"false\" />
<requestedExecutionLevel level=\"highestAvailable\" uiAccess=\"false\" />
If you want to utilize File and Registry Virtualization for backward
compatibility then delete the requestedExecutionLevel node.
-->
<requestedExecutionLevel level=\"requireAdministrator\" uiAccess=\"false\"/>
</requestedPrivileges>
</security>
</trustInfo>
</asmv1:assembly>
El siguiente paso es firmar el manifiesto de aplicaciÃn con un certificado digital vÃlido. Esto es necesario para que ClickOnce pueda verificar la identidad y la integridad de la app. Podemos usar la misma herramienta Mage.exe para firmar el manifiesto con un certificado existente o generar uno nuevo. El comando serÃa algo asÃ:
mage -Sign MyApp.manifest -CertFile MyCert.pfx -Password MyPassword
Esto firmarà el manifiesto con el certificado almacenado en el archivo MyCert.pfx, usando la contraseÃa MyPassword. Si no tenemos un certificado, podemos generar uno temporal con el comando:
mage -New Cert -ToFile MyCert.pfx -Password MyPassword
Una vez firmado el manifiesto, podemos incluirlo en el proyecto de Visual Studio que contiene la app. Para ello, debemos ir a aa16f39245