Eu criei um arquivo de patch com um executável dentro dele usando o recurso Winrar SFX.
Depois de executar o arquivo SFX e a extração terminar, meu arquivo executável nunca será executado porque não possui privilégios de administrador. Estou me perguntando como posso conceder acesso de administrador a esse arquivo por meio de alguma forma de programação (como um arquivo em lote).
Eu sei que posso clicar com o botão direito, ir em "Propriedades", escolher a aba "Compatibilidade" e marcar a caixa "Executar como Administrador".
O problema é que os usuários que vão baixar esse patch não sabem disso (e meu exe só roda quando você clica com o botão direito e escolhe "Abrir como administrador", caso contrário ele nunca abrirá nem exibirá o popup do UAC).
Eu tentei algumas maneiras, como o "Elevator Runner (Elevate me)", etc, mas na verdade estou procurando algo mais simples do que.
Só preciso fazer com que o exe seja sempre executado como administrador.
Responder1
O que você precisa fazer é incorporar ummanifesto do aplicativono EXE.
Salve o seguinte como um arquivo de texto chamadoApp.exe.manifest:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> </assembly>
Baixe o SDK do Windows.
Dentro você encontrarámt.exeou seja, oFerramenta de manifesto. Invoque-o da seguinte maneira:
mt.exe -manifest "App.exe.manifest" -outputresource:"App.exe";#1
Se não houver erros, você terminou. Você pode excluir o arquivo de manifesto e distribuir apenas o EXE. Executá-lo deve fazer com que ele solicite automaticamente acesso de administrador sempre.
Responder2
Ao criar seu arquivo,Solicitar acesso administrativo.