2013-02-14 15 views
6

Ho creato un piccolo programma in Java che legge l'UninstallString di un'applicazione dal Registro di sistema e quindi utilizzandoEsegui applicazione Java come privilegio di amministratore in XP

Process p = Runtime.getRuntime.exec("command") 

disinstallare questa applicazione. Ma questo compito richiede un privilegio di amministratore.

Su Windows Vista, 7 e 8 questo funziona bene creando un file bat con il seguente comando "java -jar java_app.jar", tasto destro del mouse sul file bat ed esegui come amministratore.

Ma su XP, il mio account è un account amministratore ma non riesce a eseguire il programma java come amministratore.

Qualcuno può fornirmi alcune soluzioni in grado di risolvere questo problema?

+0

Date un'occhiata a questo: http://stackoverflow.com/questions/5642892/java-getruntime-exec-an-exe-that-requires-uac –

risposta

1

È possibile utilizzare il comando RunAs:

RUNAS /TrustLevel:Unrestricted notepad.exe 

È possibile trovare livelli di attendibilità disponibili sul vostro sistema:

RUNAS /ShowTrustLevels 

Il seguente liks spiega che in maggiori dettagli http://blog.johnmuellerbooks.com/2011/04/26/simulating-users-with-the-runas-command.aspx

+0

Ho provato ad aggiungere questo al file bat: runas/TrustLevel: Unrestric ted "java -jar java_app.jar" per avviare il programma con l'elevazione, ma l'applicazione java non viene eseguita come amministratore – nasiroudin

+0

Che dire Process p = Runtime.getRuntime.exec ("RUNAS/TrustLevel: Unrestricted command")? –

+0

Ho provato anche questo ma sfortunatamente è lo stesso. Avvolgere il file .jar in .exe fa il lavoro? – nasiroudin

Problemi correlati