Added workaround to allow installation on Windows XP x64-Edition again: It appears that NSIS (intentionally!) detects Windows XP x64-Edition as "5.1" although it actually is "5.2", so the Windows XP (non-x64) Service Pack checks were triggered on Windows XP x64-Edition too. And, as there is no such thing as a Service Pack 3 for Windows XP x64-Edition, installation was aborted. Consequently we will now avoid the Service Pack checks, if running on a x64 system.

This commit is contained in:
LoRd_MuldeR 2012-11-24 22:32:20 +01:00
parent e9bcc809aa
commit 2b2f1e2f13

View File

@ -75,6 +75,7 @@
!include `MUI2.nsh`
!include `WinVer.nsh`
!include `x64.nsh`
!include `StdUtils.nsh`
@ -269,26 +270,25 @@ Function .onInit
Quit
${EndIf}
${StdUtils.GetParameter} $R0 "Update" "?"
${If} "$R0" == "?"
!insertmacro MUI_LANGDLL_DISPLAY
${EndIf}
; --------
# Running on Windows NT family?
${IfNot} ${IsNT}
MessageBox MB_TOPMOST|MB_ICONSTOP "Sorry, this application does *not* support Windows 9x or Windows ME!"
Quit
${EndIf}
# Running on Windows XP or later?
${If} ${AtMostWin2000}
MessageBox MB_TOPMOST|MB_ICONSTOP "Sorry, but your operating system is *not* supported anymore.$\nInstallation will be aborted!$\n$\nThe minimum required platform is Windows XP (Service Pack 3)."
ExecShell "open" "http://windows.microsoft.com/"
Quit
${EndIf}
# If on Windows XP, is Service Pack 3 installed?
${If} ${IsWinXP}
${AndIf} ${AtMostServicePack} 2
${AndIfNot} ${RunningX64}
MessageBox MB_TOPMOST|MB_ICONEXCLAMATION "This application requires Windows XP with Service Pack 3 installed.$\nWindows XP *without* Service Pack 3 reached end-of-life on 2010-07-13.$\nCurrent Windows XP (Service Pack 3) will be supported until 2014-04-08.$\n$\nPlease install Service Pack 3 now or just run Windows Update!"
MessageBox MB_TOPMOST|MB_ICONQUESTION|MB_YESNO "Do you want to download Service Pack 3 for Windows XP now?" IDNO +2
ExecShell "open" "http://www.microsoft.com/en-us/download/details.aspx?id=24"
@ -297,6 +297,13 @@ Function .onInit
; --------
${StdUtils.GetParameter} $R0 "Update" "?"
${If} "$R0" == "?"
!insertmacro MUI_LANGDLL_DISPLAY
${EndIf}
; --------
UserInfo::GetAccountType
Pop $0
${If} $0 != "Admin"