System.getProperties - dúvidas

Olá!
Estou fazendo um instalador, e ele precisa verificar se o usuário possui o java instalado… Me disseram que se eu encontrasse um jeito de verificar da mesma maneira pra Windows, Solaris e Linux, seria melhor…
Eu dei uma procurada e encontrei este tópico, em que sugerem usar System.getProperties…
Bom, as minhas dúvidas são as seguintes:

  • até hoje eu só programei pra Windows, isso funciona em solaris e linux também?
  • o que isso retorna se o java não estiver instalado?

obrigada pela atenção =)

a) Sim, ele volta o seu sistema operacional.
b) Não retorna nada, porque seu programa não será executado (nem vai entrar no “main” :frowning:

Sim, funciona em qualquer OS

java.util.Properties p = System.getProperties();
		System.out.println(p.getProperty("java.version"));
		System.out.println(p.getProperty("user.name"));
		System.out.println(p.getProperty("java.runtime.version"));
Bom os instaladores java que existem, e existem vários muito bons, usam um programa que primeiro testa se existe o Java instalado, incluindo com versão, e somente ai inicializam a parte Java do Instalador, eles tem versões destas checagens para Linux, Windows e as vezes MAC, no seu caso você terá que fazer a mesma coisa, ou usar um instalador pronto que simplificaria seu problema.

obrigada pelas respostas!

[quote=kaoe]

Bom os instaladores java que existem, e existem vários muito bons, usam um programa que primeiro testa se existe o Java instalado, incluindo com versão, e somente ai inicializam a parte Java do Instalador, eles tem versões destas checagens para Linux, Windows e as vezes MAC, no seu caso você terá que fazer a mesma coisa, ou usar um instalador pronto que simplificaria seu problema.[/quote]

que programa seria esse? me falaram sobre o NSIS, seria ele? (Nullsoft Scriptable Install System)