VISTA UAC - Problema de Permissão  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
Bruno_Leonardo
JavaEvangelist

Membro desde: 25/01/2008 17:13:57
Mensagens: 406
Offline

Senhores,

Estou tentando copiar arquivos dentro do windows vista e depois disso iniciar uma aplicação usando Runtime.getRuntime.exec() com o comando cmd.exe, porém o windows vista me mostra o seguinte erro e encerra minha aplicação:

C:\Windows\system32\cmd.exe
The NTVDM CPU has encountered an illegal instruction.
CS:121a IP:0105 OP:63 6c 69 70 73 Choose 'Close' to terminate the application.


Se eu desabilitar o UAC (Utilizador de Controle de Usuário) funciona corretamente. Só que não posso pedir para os clientes desabilitarem o UAC de forma nenhuma. Gostaria que quando eu tivesse excutando estas ações o UAC entrasse em cena e pedisse permissão de execução para o usuário, mas o que ele faz é dar o erro acima.


thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Você está tendo problemas de UAC ao tentar copiar o arquivo, ou ao tentar executar o cmd.exe?

No primeiro caso, e supondo que a cópia seja feita via Java e não via Runtime.exec, você precisa executar seu programa (desde o começo) com UAC ativado. Você terá de criar um atalho para seu programa que force que o programa inteiro seja executado com credenciais de administrador. Isso é mais simples que parece: na hora de configurar o atalho, você precisa pôr um

No segundo caso, você precisa executar o cmd.exe como administrador; não sei se é suficiente você usar um "runas " (os parâmetros você precisa pegar com "runas /?" em uma linha de comando do DOS) ou se é necessário fazer mais alguma coisa.

Em um sistema de que participei, tive de criar um wrapper em C++ para a JVM (semelhante aos wrappers que você pode ver seus fontes no JDK) e pôr um "manifest" especial que forçava a pedir o UAC. Mas era um caso bem específico em que eu não podia nem criar um atalho especial.
[WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team