Questão O Windows 7 Jar não está sendo executado com duplo clique


Eu tenho o seguinte problema: eu escrevi um programa em Java para uma comunidade e eles estão tentando executá-lo. Eles instalaram o Java e tentaram clicar duas vezes nele, mas nada aconteceu.

Sob minha supervisão remota, tentamos as seguintes coisas:

  • Clique com o botão direito -> abrir com -> java (w)

  • Painel de Controle -> Programas Padrão -> Associar um tipo de arquivo ou protocolo com um programa específico -> .jar -> \ caminho \ para \ java \ bin \ java (w) .exe

  • No CMD:

    assoc .jar=jarfile
    ftype jarfile="C:\path\to\java\bin\java(w).exe" -jar "%1" %*
    

Todos os itens acima, mais uma vez depois de reinstalar o java e reiniciar, e também após a exclusão da chave do registro [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jar]

Todos estes foram tentados com java.exe e javaw.exe.

Ele funciona sem problemas no cmd.exe com java -jar programa.jar.

Eu também tentei criar um arquivo de lote com

@ECHO OFF
java -jar program.jar

que está no mesmo diretório do meu programa. Nós também tentamos fazer java.exe -jar program.jar (no arquivo de lote).

Quando usamos java, uma janela cmd apareceu, mas nada mais aconteceu; com javaw nada aconteceu. Foi apenas que o cursor do mouse mudou para o símbolo de carregamento e depois mudou de volta. Depois disso, não houve processos java.

EDITAR

Eu lhes enviei um email onde eu lhes disse para deletar o jar e jar_auto_file classes do registro em HKEY_CURRENT_USER/Software/Classes mas isso não ajudou.

Acabei de receber outra ligação com a comunidade e tentei obter mais informações sobre o motivo da falha do programa. Então nós adicionamos pause para o arquivo em lotes, mas nada de especial (considerando a história deste pc) aconteceu. O arquivo ficou assim:

@ECHO OFF
java.exe -jar progam.jar
pause

Durante a execução deste programa, uma janela de console apareceu e desapareceu mais uma vez. pause não funcionou aparentemente ...

Eu também tentei usar cmd /k em vez de pausar ou trocar as duas últimas linhas (primeiro cmd /k então java ...) para nenhum proveito.

A última tentativa foi iniciar cmd manualmente e executar cmd /k program.bat (sim, o arquivo de lote) para ver se me daria uma mensagem de erro. Mas simplesmente repetiu o caminho do arquivo bat e é isso.

Nesse meio tempo, eles instalaram o java em um PC configurado de forma semelhante e lá, ele funcionava normalmente (java instalado, duplo clique no jar, pronto). Então, eu estou no final do meu juízo, por favor me diga se você tem mais idéias do que testar. Agora, não se trata tanto de resolver o problema para o meu cliente, mas mais um interesse mórbido no que o problema realmente é ...


0


origem


@LotPings obrigado, vou dar uma olhada se é isso - Armin
(1) Você diz que você os supervisionou remotamente. Eu odeio insultar a inteligência de alguém, mas como você está certo de que eles estão clicando duas vezes corretamente? (2) O que aconteceu exatamente quando você tentou as coisas que tentou? (Estou particularmente interessado em "Abrir com".) (3a) Você quase nunca precisa dizer .exe. (3b) Colocar o arquivo em lote no mesmo diretório que o arquivo JAR, por si só, não é bom. Tente colocar o caminho para o arquivo JAR no arquivo em lote; ou seja, @ECHO OFF / java -jar C:\Users\Armin\program.jar. (3c) Além disso, tente adicionar um pause comando para o final do arquivo de lote. - Scott
Pleasedonot responder nos comentários; editar sua pergunta torna-a mais clara e completa. - Scott
P.S. Até onde sei, PATHEXT não tem nada a ver com a execução de programas através da GUI. Estou errado? - Scott
@ Scott Eu respondi nos comentários porque vou testá-lo, não testei, então não vou incluí-lo como um caminho tentado. É a primeira vez que eu ouvi falar PATHEXT, então, eu não sei ... tenho certeza que foi feito corretamente porque quando tentamos fazer isso com java ao invés de javaw, uma janela do CMD apareceu, que foi mencionada na pergunta. o pause coisa é realmente um bom conselho, obrigado, vou tentar isso também, talvez eu possa obter mais informações desta forma ... - Armin


Respostas: