Witam serdecznie.
Napisałem aplikację w Javie na system Windows. Zamieniłem ją na plik .jar używając polecenia
jar cfve Application.jar Main *.class
Stworzyło mi plik, taki jaki chciałem. Następnie przekonwertowałem na plik .exe używając programu launch4j, oczywiście się udało. Program działa na moim sprzęcie, bo oczywiste jest, że mam zainstalowaną Javę. Stworzyłem instalator tejże aplikacji używając InstallSheld 2019 R2.
Wrzuciłem aplikację na sourceforge.org do pobrania oraz na github'a. Podałem koledze linka do pobrania instalatora, po czym ją zainstalował. Po uruchomieniu pliku .exe ukazało mu się okno, iż ta aplikacja wymaga instalacji Javy (oczywiście zainstalował), ale po ponownym uruchomieniu ukazał mu się znany problem:
A JNI error has occurred please check your installation and try again
Jakie było po tym moje zdziwienie, przecież jest to plik .exe, a wymaga instalacji tej nieszczęsnej Javy. Coraz bardziej zniechęcam się do tego języka i coraz mniej wierzę w konwencję: "Write once, run anywhere", skoro jest potrzeba instalacji masy oprogramowania, a nie każdy może akurat w tym momencie mieć. Nie chcę odpychać klientów masą instalacji. Może nieco dramatyzuję, bo Java jest bardziej językiem do serwerów i backend'u, ale póki co moim faworytem w programowaniu aplikacji desktopowych nadal jest C++. Nie proście o linka do aplikacji, bo nie o to tutaj chodzi.
Czy jest jakiś sposób na uruchomienie tego programu bez potrzeby instalacji Javy i maszyny wirtualnej?