Niekoniecznie jest to najlepszy sposób, ale może zadziałać dla Ciebie.
Możesz napisać aplikację ładującą (ala program uruchamiający World of Warcraft, jeśli grałeś w WoW). Ten bootstrap jest odpowiedzialny za sprawdzanie aktualizacji.
- Jeśli aktualizacja jest dostępna, zaoferuje ją użytkownikowi, zajmie się pobieraniem, instalacją itp.
- Jeśli aplikacja jest aktualna, umożliwi to użytkownikowi uruchomienie aplikacji
- Opcjonalnie możesz pozwolić użytkownikowi na uruchomienie aplikacji, nawet jeśli nie jest aktualna
Dzięki temu nie musisz się martwić wymuszeniem zamknięcia aplikacji.
Jeśli Twoja aplikacja jest oparta na sieci Web i ważne jest, aby miała aktualnego klienta, możesz również sprawdzać wersję podczas działania aplikacji. Możesz to robić w odstępach czasu, podczas normalnej komunikacji z serwerem (niektóre lub wszystkie połączenia) lub jedno i drugie.
W przypadku produktu, nad którym ostatnio pracowałem, sprawdzaliśmy wersję po uruchomieniu (bez aplikacji do bootowania, ale przed pojawieniem się okna głównego) i podczas połączeń z serwerem. Kiedy klient był nieaktualny, polegaliśmy na tym, że użytkownik zakończył pracę ręcznie, ale zabroniliśmy jakichkolwiek działań przeciwko serwerowi.
Pamiętaj, że nie wiem, czy Java może wywołać kod interfejsu użytkownika, zanim otworzysz główne okno. Używaliśmy C # / WPF.