Come posso facilmente elevare quando eseguo un file .jar?


8

Quando provo a eseguire un file Jar dell'installer, ricevo un errore che dice che l'accesso alla scrittura è negato per creare una directory nella cartella Programmi.

Fare clic con il tasto destro -> Esegui come amministratore non è disponibile sui file Jar (suppongo perché è Java.exe che li consuma - non sono essi stessi trattati come eseguibili direttamente dalla shell).

Qual è il modo più rapido e semplice per eseguire un file .Jar con elevazione?

Sto valutando questo strumento per raccomandare al nostro team di sviluppo e lo installeranno manualmente sulle loro scatole. Preferirei un'opzione che non richiede loro di digitare nulla.

Risposte:


6

Per semplificare l'esecuzione del programma di installazione JAR per gli altri senza dover apportare modifiche a tutti i loro computer, è consigliabile avvolgerlo con uno script batch che eleva ed esegue il file JAR. Puoi farlo facilmente con i PowerToys Elevation di Microsoft . Includono un'utilità utile che ti consente di avviare qualsiasi cosa come amministratore semplicemente anteponendolo al elevatecomando.

Dopo averli scaricati, estraili in una cartella e copia il elevate.cmde elevate.vbsnella cartella con il file JAR. Quindi, scrivere un nuovo script batch con .cmdun'estensione con i seguenti contenuti:

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

Ciò avvierà il file JAR con il gestore predefinito per tali file sul loro sistema (usando il startcomando di cmd). %CD%punta alla directory di lavoro corrente dello script ed è necessario perché inizierà la riga di comando elevata c:\windows\system32.

Se, per qualche motivo, Java non fosse configurato correttamente come gestore predefinito per i file JAR, ciò non riuscirebbe. Se puoi contare sul fatto che Java si trova nella stessa posizione su tutti i sistemi, puoi invece farlo in questo modo:

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

Dopo aver eseguito uno di questi, basta eseguire il file batch e Windows richiederà l'elevazione dell'amministratore e avviare il programma di installazione.

Includi gli script di elevazione, lo script e i file di installazione in un archivio autoestraente che avvia lo script e puoi racchiuderlo in un piccolo .exefile. ( 7-Zip è un ottimo strumento open source per la creazione di tali archivi.)

Per ulteriori informazioni sui PowerToy di elevazione, consultare l'articolo collegato o il file README incluso con il download.


Risposta eccezionale :) Grazie! Aspetterò di accettarlo, quindi forse la domanda / la tua risposta ottiene un po 'più di traffico (penso che funzioni in questo modo?)
Merlyn Morgan-Graham,

@Patches, qual è il modo non di terze parti per farlo?
Pacerier,

@Pacerier Anche Windows 10 non ha ancora alcun metodo incorporato per elevarsi dalla riga di comando.
Patch

2

Ho appena avuto occasione di farlo e ho scoperto che il modo più semplice, senza dover scaricare e installare Elevation PowerToys, era eseguire cmd.exe come amministratore e quindi chiamare java.exe -jar 'installer.jar'dalla riga di comando. Certo, prima dovevo trovare java.exe, ma non ci volle molto ...


2
In realtà devi solo chiamare installer.jar. Individuerà automaticamente il programma "Apri con" predefinito che è già stato impostato su java.exe. (In caso contrario, facendo doppio clic su .jar non lo eseguiresti in primo luogo.)
Pacerier
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.