为什么NSIS检查JRE被破坏?
为什么这个脚本在不需要安装jre的情况下尝试安装jre?我验证了为什么NSIS检查JRE被破坏?,nsis,Nsis,为什么这个脚本在不需要安装jre的情况下尝试安装jre?我验证了C:\Windows\System32\java.exe确实存在,但是这个脚本没有看到它。该脚本的目标是XP、Vista、32位和64位。剧本!包括x64.nsh。第一个ElseIf的原因是javaw.exe有时安装在64位系统上的C:\Windows\System32\中。这个逻辑是假的吗?如果是,怎么做?使用C:\Windows\System32\javaw.exe是否不正确 ${If} ${FileExists} `$SYSD
C:\Windows\System32\java.exe
确实存在,但是这个脚本没有看到它。该脚本的目标是XP、Vista、32位和64位。剧本!包括x64.nsh
。第一个ElseIf的原因是javaw.exe有时安装在64位系统上的C:\Windows\System32\
中。这个逻辑是假的吗?如果是,怎么做?使用C:\Windows\System32\javaw.exe
是否不正确
${If} ${FileExists} `$SYSDIR\javaw.exe`
; Skip JRE install
${ElseIf} ${FileExists} `C:\Windows\System32\javaw.exe`
; Skip JRE install
${ElseIf} ${RunningX64}
ExecWait '"jre-6u22-windows-x64.exe"'
${Else}
ExecWait '"jre-6u22-windows-i586-s.exe"'
${EndIf}
需要,除非阻止并禁用x64fsredirection
${If} ${RunningX64}
${DisableX64FSRedirection}
${Unless} ${FileExists} "$SYSDIR\javaw.exe"
ExecWait '"jre-6u22-windows-x64.exe"'
${EndUnless}
${EnableX64FSRedirection}
${Else}
${Unless} ${FileExists} "$SYSDIR\javaw.exe"
ExecWait '"jre-6u22-windows-i586-s.exe"'
${EndUnless}
${EndIf}