用于java安装的NSIS脚本

pma*_*mad 8 java install nsis

我想使用NSIS脚本安装Java,但我必须知道系统中是否安装了Java(Windows).根据注册码,我们如何检查是否安装了Java?

任何人都可以提供NSIS脚本来检查基于注册密钥的Java安装吗?

jin*_*ing 5

我没有编译它,但我会尝试遵循。我根据如何在 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)