Como faço para elevar facilmente ao executar um arquivo .jar?

8

Ao tentar executar um arquivo Jar do instalador, estou recebendo um erro informando que o acesso de gravação foi negado para criar um diretório na pasta Arquivos de Programas.

Clique com o botão direito - > Executar como administrador não está disponível em arquivos Jar (eu suponho porque é Java.exe que os consome - eles não são tratados como diretamente executáveis pelo shell).

Qual é a maneira mais rápida e simples de executar um arquivo .Jar com elevação?

Eu estou avaliando essa ferramenta para recomendar para nossa equipe de desenvolvimento e eles a instalarão manualmente em suas caixas. Eu prefiro uma opção que não exija que eles digam nada.

    
por Merlyn Morgan-Graham 26.03.2011 / 02:32

2 respostas

6

Para facilitar a execução do instalador JAR por outras pessoas sem a necessidade de fazer alterações em todos os computadores, você provavelmente desejará envolvê-lo com um script em lote que eleve e execute o arquivo JAR. Você pode fazer isso facilmente com os PowerToys de elevação da Microsoft . Eles incluem um utilitário útil que permite iniciar qualquer coisa como administrador simplesmente prefixando-o com o comando elevate .

Após baixá-los, extraia-os para uma pasta e copie o elevate.cmd e elevate.vbs para a pasta com o arquivo JAR. Em seguida, escreva um novo script em lote com uma extensão .cmd com o seguinte conteúdo:

elevate cmd /c start "%CD%\installer.jar"

Isso ativará o arquivo JAR com o manipulador padrão para esses arquivos em seu sistema (usando o comando start de cmd ). %CD% aponta para o diretório de trabalho atual do script e é necessário porque a linha de comando elevada será iniciada em c:\windows\system32 .

Se, por algum motivo, o Java não estiver configurado adequadamente como manipulador padrão para arquivos JAR, isso falhará. Se você puder contar com Java estando no mesmo lugar em todos os sistemas, você poderia fazer desta maneira:

elevate "c:\Program Files\Java\jre\bin\java.exe" -jar "%CD%\installer.jar"

Depois de executar qualquer um deles, basta executar o arquivo em lote e o Windows solicitará a elevação do administrador e iniciará o instalador.

Inclua os scripts de elevação, seu script e os arquivos do instalador em um arquivo de extração automática que inicialize o script e você poderá envolvê-lo em um belo arquivo .exe . ( O 7-Zip é uma ótima ferramenta de código aberto para criar esses arquivos.)

Para obter mais informações sobre os PowerToys de elevação, consulte o artigo vinculado ou o arquivo README incluído no download.

    
por 26.03.2011 / 08:04
2

Eu apenas tive a oportunidade de fazer isso e descobri que a maneira mais fácil, sem ter que baixar e instalar o Elevation PowerToys, era executar o cmd.exe como administrador e, em seguida, chamar java.exe -jar 'installer.jar' da linha de comando. Claro, eu tive que encontrar java.exe primeiro, mas isso não demorou muito ...

    
por 04.07.2012 / 16:03