Я не понимаю, почему некоторые пользователи застревают. Что вы подразумеваете под переустановкой? У меня просто пользователи запускаются с веб-сайта. Ничего не устанавливается. Они могут поместить файл JNLP на рабочий стол, если захотят, но программное обеспечение все еще не «установлено» в традиционном смысле.
Для моего приложения я проверяю наличие обновлений в фоновом режиме:
Это означает, что каждый раз, когда программа запускается, клиентский компьютер проверяет локально сохраненную версию на jar на моем сервере. Загрузка последней версии происходит за кулисами, и при следующем запуске программы используется новая версия. Никто не застревает.