在环境 PATH 中不使用 Java!

在环境 PATH 中不使用 Java!

我需要打包一个较旧的 Java 应用程序及其在 Windows 上的依赖项,这些依赖项相当多。我已经导出了一个可运行的 .jar 并获得了依赖的本机库,但我仍然需要确保安装了先决条件,例如:

  1. JDK6 或至少 JRE6(环境 PATH 变量指向 bin 目录)
  2. Quicktime
  3. 虚拟数字接口

我对 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

如何通过批处理脚本设置 QuickTime 的静默安装

温维迪格:

WinVDIG 下载

Inno Setup Unpacker 信息

Inno Setup 解包器 下载

解压 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

答案2

在这种情况下,我不推荐使用批处理文件。它们可能会变得非常复杂,而且当有更好的解决方案时,它们也没有多大用处。

您可以使用安装系统/安装程序创建器,例如奈米科技或者创新设置(还有很多列出这里)来创建一个简单的安装程序,将所有单独的安装程序打包在一起。您的主安装程序可以提取文件,依次运行每个安装程序(最好使用允许您执行静默/无人值守安装),然后根据需要设置环境变量,并执行其他任何您想要的操作,例如修改注册表、移动文件等,最后进行清理。

这应该不是那么困难,而且有很多预制的安装脚本可用。在紧急情况下,你甚至可以使用存档器创建一个基本的 SFX 安装程序,例如7-Zip或者压缩包

相关内容