Criar mensagem quando JRE não esta intalado

Boa tarde, gostaria de ver se algum sabe como o eclipse faz aquela busca e avisa quando não tem nenhum JRE instalado no computador,
é que gostaria de fazer igual com minha aplicação, quando o usuario tentar abrir e o jre não estiver instalado ele mostra a mensagem.
Se alguem poder me ajudar ficarei grato.

Obviamente isso não pode ser feito em Java.

O Eclipse consegue fazer isso porque o “eclipse.exe” é uma aplicação em C (ou C++, não cheguei a inspecionar os fontes do Eclipse) que faz essa tal busca pela JVM (consultando algumas entradas do Registry) e então inicia o Java, usando essa informação e carregando a “jvm.dll”.

Como isso é bastante complicado, não fique “empacado” nisso (a menos que você queira ler os fontes em C/C++ que fazem parte dos fontes do Eclipse). É melhor que você gaste seu tempo com outras coisas.

Para fazer buscas pelo registro vc pode utilizar a api JNIRegistry. Esta API permite vc buscar, alterar e salvar informações no registro do windows, basta apenas vc saber quais são as chaves que o jdk cria na sua instalação, para poder verificar a instalação do mesmo. Segue abaixo o link da API:

http://www.trustice.com/java/jnireg/index.shtml

Mas se a máquina do cliente não tiver nenhuma jvm instalada, então logicamente sua aplicação não irá rodar, vc pode utilizar essa API para fazer uma verificação da versão da jvm instalada e pedir para o usuário instalar uma versão mais atual, por exemplo. Para resolver o seu problema vc pode criar um instalador para sua aplicação e no processo de instalação fazer uma busca pelo registro para verificar se a jvm está instalada. Um instalador que já utilizei e recomendo, é o NSIS:

http://nsis.sourceforge.net/Main_Page

Sugestão:
use o Launch4j para gerar um executável.
Ele faz exatamente isto que você está querendo.
Caso não haja uma JVM instalada ele irá disparar uma mensagem para o usuário o informando disto.