我需要打包一个较旧的 Java 应用程序及其在 Windows 上的依赖项,这些依赖项相当多。我已经导出了一个可运行的 .jar 并获得了依赖的本机库,但我仍然需要确保安装了先决条件,例如:
- JDK6 或至少 JRE6(环境 PATH 变量指向 bin 目录)
- Quicktime
- 虚拟数字接口
我对 Windows 上的批处理文件或安装程序没有太多经验,因此需要一些帮助。
我看到有些人制作了捆绑包(例如 Zigfu,它安装 OpenNI/NITE/Drivers 并设置环境变量)。制作这些容易吗?如果容易,怎么做?它们对普通用户来说看起来“干净”/更容易。
我猜批处理文件可能更简单,对吧?我可以检查软件包何时完成安装并设置/检查环境变量吗?如果可以,怎么做?
谢谢!
答案1
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
加速java:
java -Xshare:dump
Quicktime:
QuickTimeInstaller.exe /extract
静默安装 msi
温维迪格:
解压 WinVDIG:
innounp.exe -x WinVDIG_101.exe
参见 install_script.iss
编写复制文件脚本,或者创建 msi
在环境 PATH 中不使用 Java!
哦,安装 8-10 java VM 并测试 java 环境...它不起作用。
使用%APPDATA%\Sun\Java\Deployment\deployment.properties
deployment.javaws.jre.0.path=C\:\\App32\\Java\\jre6\\bin\\javaw.exe
获取你的 java,在 cmd 上设置路径,运行 JVM
JDK 注册表 powershell
powershell gci 'hklm:\SOFTWARE\JavaSoft\Java Development Kit'-rec^|gp^|select JavaHome
JRE 注册表 powershell
powershell gci 'hklm:\SOFTWARE\JavaSoft\Java Runtime Environment'-rec^|gp^|select JavaHome
Java Webstart 注册表 powershell
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