Я использовал jsmooth, который создает один EXE-файл, который распаковывается и работает прозрачно.Не полный установщик, но у нас это хорошо работает.
Примечание: я не видел ни одного установщика Java, который спрашивал бы: «Доступно ли обновление. Обновить сейчас?»вопрос.
Если это важно для вас, рассмотрите Java WebStart, который проверяет наличие обновлений при каждом запуске (но не спрашивает).