我想使用NSIS脚本安装Java,但我必须知道系统中是否安装了Java(Windows).根据注册码,我们如何检查是否安装了Java?
任何人都可以提供NSIS脚本来检查基于注册密钥的Java安装吗?
我没有编译它,但我会尝试遵循。我根据如何在 Windows 上检测已安装的 Sun JRE?选择注册表项?。
;--------------------------------
;Defines
!define JavaRegKey 'HKLM "Software\JavaSoft\Java Runtime Environment" ""'
;--------------------------------
;Installer Sections
Section 'Java Runtime' SecJava
SetOutPath '$TEMP'
SetOverwrite on
File 'c:\<yourdir>\javasetup.exe'
ExecWait '$TEMP\javasetup.exe' $0
DetailPrint '..Java Runtime Setup exit code = $0'
Delete '$TEMP\javasetup.exe'
SectionEnd
;--------------------------------
; Functions
Function .onInit
ReadRegStr $R0 ${JavaRegKey}
StrCmp $R0 "" JavaMissing JavaFound
JavaFound:
!insertmacro UnselectSection ${SecJava}
Goto JavaCheckDone
JavaMissing:
!insertmacro SelectSection ${SecJava}
JavaCheckDone:
FunctionEnd
Run Code Online (Sandbox Code Playgroud)