View Full Version : [JAVA] Eseguire un .jar come amministratore su Window Vista
swanelvis
13-09-2008, 13:29
Salve a tutti :) ,
ho sviluppato un applicazione in Java e per renderla portabile su altri sistemi ho creato un file eseguibile miaApplicazione.jar ; in tal modo mediante il doppio click sul file miaApplicazione.jar verrà avviata l'applicazione. L'esecuzione di tale applicazione su sistema Windows XP funziona alla perfezione, ma su sistema Windows Vista non funziona :cry: poichè è attivo il controllo UAC ed impedisce l'avvio di alcuni servizi da parte dell'applicazione. Come posso bypassare il controllo degli accessi UAC senza disabilitarlo???Forse :confused: la soluzione per tale problema sarebbe quella di eseguire il file miaApplicazione.jar "come amministratore" ma purtroppo sul file miaApplicazione.jar non compare l'opzione "Esegui come amministratore". Qualcuno sa come posso risolvere tale problema?? :muro:
Ciao a tutti
Scusa la domanda, ma come fai a creare un programma portabile tra più sistemi se poi devi invocare dei servizi di windows?
A parte questo, potresti provare a creare un file .bat in cui scrivi java -jar tuoprogramma.jar
Questo file può essere eseguito come amministratore. Magari non è la soluzione più pulita però funziona.
swanelvis
13-09-2008, 17:02
Scusa la domanda, ma come fai a creare un programma portabile tra più sistemi se poi devi invocare dei servizi di windows?
Bravo...giusta osservazione. Una delle caratteristiche di questo programma deve essere la portabilità su diversi sistemi. Ora questo programma, tra le varie operazioni, deve consentire l'attivazione e disattivazione del servizio MySql, e tali operazioni sono riuscito a risolverle, per i sistemi Window, mediante i comandi "net start MySql" e "net stop MySql" eseguiti nel codice Java. Per cui uno dei problemi che devo ancora risolvere è: "come riuscire ad eseguire l'attivazione e disattivazione di MySQL su altri sistemi". Qualcuno mi ha consigliato di usare JNI, qualcun altro di scrivere un file di testo con i vari comandi per i vari sistemi che sarà analizzato all'avvio dell'applicazione. Questo rimane ora un problema secondario, poichè si avvicina la data di consegna e mi è stato chiesto di consegnare una versione almeno funzionante sui sistemi Window.
A parte questo, potresti provare a creare un file .bat in cui scrivi java -jar tuoprogramma.jar
Questo file può essere eseguito come amministratore. Magari non è la soluzione più pulita però funziona.
Cosa devo scrivere nel file .bat? Premetto che stò utilizzando come IDE Netbeans!
Ciao
Cosa devo scrivere nel file .bat? Premetto che stò utilizzando come IDE Netbeans!
Ciao
Quello che devi scrivere è:
java -jar TUOPROGRAMMA.jar
Dove al posto di TUOPROGRAMMA devi mettere il nome del file .jar che trovi nella cartella dist del progetto netBeans.
swanelvis
13-09-2008, 19:12
Quello che devi scrivere è:
Dove al posto di TUOPROGRAMMA devi mettere il nome del file .jar che trovi nella cartella dist del progetto netBeans.
Ho creato il file setup.bat con dentro l'istruzione "java -jar mioProg.jar" ...ora se apro il file setup.bat mi avvia l'applicazione....ma se provo ad eseguire il file come amministratore compare una finestra di dialogo che chiede l'autorizzazione e dopo che ho dato l'autorizzazione non viene avviata l'applicazione...(compare una finestra del dos che scompare velocemente). Da cosa può dipendere?:muro:
wingman87
14-09-2008, 01:51
Aggiungi un "pause" nella seconda riga del file .bat, così prima che si chiuda la finestra dos puoi vedere gli eventuali messaggi di errore
swanelvis
14-09-2008, 19:26
Aggiungi un "pause" nella seconda riga del file .bat, così prima che si chiuda la finestra dos puoi vedere gli eventuali messaggi di errore
Fatto. Il messaggio di errore che ottengo è:
"Unable to access jarfile miaApplicazione.jar"
Come posso risolvere?
wingman87
14-09-2008, 20:12
Praticamente non trova il file. Il bat l'hai messo nella stessa cartella del file jar? Al massimo invece di miaApplicazione.jar metti il percorso completo
swanelvis
15-09-2008, 09:27
Praticamente non trova il file. Il bat l'hai messo nella stessa cartella del file jar? Al massimo invece di miaApplicazione.jar metti il percorso completo
Si, il file bat è nella stessa cartella di miaApplicazione.jar , ma dà il messaggio di errore :cry: . Invece specificando il percorso completo all'interno del file bat:
java -jar C:\Documents and Settings\ioXp\Desktop\prova\miaApplicazione.jar
funziona tutto alla perfezione :) ....Bravo wingman
Ora dato che devo distribuire l'applicazione, c'è un modo per evitare di inserire l'intero percorso del jar nel file .bat ??? :confused:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.