skrypt instalacyjny dla wielu pakietów oprogramowania

2

Będę musiał spakować starszą aplikację Java z jej zależnościami od systemu Windows, które są dość duże. Wyeksportowałem działający plik .jar i mam zależne biblioteki natywne, ale nadal muszę się upewnić, że są zainstalowane następujące wymagania wstępne:

  1. JDK6 lub przynajmniej JRE6 (ze zmienną środowiskową PATH wskazującą katalog bin)
  2. Szybki czas
  3. WinVDIG

Nie mam dużego doświadczenia z plikami wsadowymi ani instalatorami w systemie Windows, więc mógłbym skorzystać z pomocy.

Widzę, że niektórzy ludzie tworzą pakiety (na przykład Zigfu, który instaluje OpenNI / NITE / Drivers i ustawia zmienne środowiskowe). Czy łatwo to zrobić? Jeśli tak to jak ? Wyglądają „czysto” / łatwiej dla typowego użytkownika.

Zakładam, że plik wsadowy może być łatwiejszy, prawda? Czy mogę sprawdzić, kiedy pakiet zakończy instalację i ustawić / sprawdzić zmienne środowiskowe? Jeśli tak to jak ?

Dzięki!

George Profenza
źródło

Odpowiedzi:

2

Zainstaluj JRE

:: Java Begin
START /WAIT %cd%\JRE16\jre-6u30-windows-i586.exe /s ADDLOCAL=jrecore IEXPLORER=1 MOZILLA=0 JAVAUPDATE=0 AUTOUPDATECHECK=0 REBOOT=ReallySuppress
IF EXIST "%ALLUSERSPROFILE%\Desktop\Java Web Start.LNK" DEL "%ALLUSERSPROFILE%\Desktop\Java Web Start.LNK"
IF EXIST "%PUBLIC%\Desktop\Java Web Start.LNK" DEL "%PUBLIC%\Desktop\Java Web Start.LNK"
IF EXIST "%ALLUSERSPROFILE%\Start Menu\Programs\Java Web Start\Java Web Start.LNK" RD /Q /S "%ALLUSERSPROFILE%\Start Menu\Programs\Java Web Start"
IF EXIST "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Java Web Start\Java Web Start.LNK" RD /Q /S "%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Java Web Start"
:: Java Configure on x86 systems
REG ADD "HKLM\SOFTWARE\JavaSoft\Java Plug-in\1.6.0_24" /v HideSystemTrayIcon /t REG_DWORD /d 1 /f
REG ADD "HKLM\SOFTWARE\JavaSoft\Java Update\Policy" /v EnableJavaUpdate /t REG_DWORD /d 0 /f
REG ADD "HKLM\SOFTWARE\JavaSoft\Java Update\Policy" /v EnableAutoUpdateCheck /t REG_DWORD /d 0 /f
REG ADD "HKLM\SOFTWARE\JavaSoft\Java Update\Policy" /v NotifyDownload /t REG_DWORD /d 0 /f
REG ADD "HKLM\SOFTWARE\JavaSoft\Java Update\Policy" /v NotifyInstall /t REG_DWORD /d 0 /f
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v SunJavaUpdateSched /f
:: Java End

Speedup Java:

java -Xshare:dump

Szybki czas:

QuickTimeInstaller.exe /extract

cicha instalacja msi

Jak skonfigurować cichą instalację QuickTime za pomocą skryptu wsadowego

WinVDIG:

Pobieranie WinVDIG

Inno Setup Informacje o rozpakowywaniu

Pobieranie Inno Setup Unpacker

rozpakuj WinVDIG:

innounp.exe -x WinVDIG_101.exe

patrz install_script.iss

napisz skrypt pliku kopii lub utwórz msi

Nie używaj Java w środowisku PATH!

Och, zainstaluj 8-10 java VM i przetestuj java env ... to nie działa.

Posługiwać się %APPDATA%\Sun\Java\Deployment\deployment.properties

deployment.javaws.jre.0.path=C\:\\App32\\Java\\jre6\\bin\\javaw.exe

pobierz java, ustaw ścieżkę na cmd, uruchom JVM

PowerShell rejestru JDK

powershell gci 'hklm:\SOFTWARE\JavaSoft\Java Development Kit'-rec^|gp^|select JavaHome

PowerShell rejestru JRE

powershell gci 'hklm:\SOFTWARE\JavaSoft\Java Runtime Environment'-rec^|gp^|select JavaHome

PowerShell rejestru Java Webstart

powershell gci 'hklm:\SOFTWARE\JavaSoft\Java Web Start'-rec^|gp^|select Home

JVM 64:

dir /A:D /B %ProgramFiles%\Java

JVM 32:

dir /A:D /B %ProgramFiles(x86)%\Java
STTR
źródło
och wow! to imponujące (+1)
George Profenza
1

W tym przypadku nie polecam plików wsadowych. Prawdopodobnie staną się dość skomplikowane i nie będzie wiele pożytku, gdy dostępne będą lepsze rozwiązania.

Możesz użyć kreatora systemu instalacyjnego / instalatora, takiego jak NSIS lub Inno Setup (o wiele więcej tutaj ), aby utworzyć prosty instalator, który spakuje wszystkie poszczególne instalatory razem. Główny instalator może wyodrębnić pliki, uruchomić kolejno każdy instalator (najlepiej za pomocą przełączników, które pozwolą na wykonanie instalacji cichej / nienadzorowanej ), a następnie ustawić wymagane zmienne środowiskowe i wykonać dowolne czynności, takie jak modyfikacja rejestru, przenoszenie plików i tak dalej, zanim w końcu posprzątasz.

Nie powinno to być wcale takie trudne, a dostępnych jest wiele gotowych skryptów instalacyjnych. Push przychodzi do gry, możesz nawet stworzyć instalator SFX z odkrytymi kośćmi za pomocą archiwizatora, takiego jak 7-Zip lub WinRAR .

Karan
źródło
Spojrzałem na NSIS, który ma ładną wtyczkę zaćmienia, próbując dowiedzieć się, jak uruchomić inne instalatory w tle i ustawić java \ bin na zmienną środowiskową PATH
George Profenza