diff --git a/output/install.nsi b/output/install.nsi index 45108dafd..79b48b5ff 100644 --- a/output/install.nsi +++ b/output/install.nsi @@ -73,6 +73,7 @@ LangString LNKFORUPDATER ${LANG_TRADCHINESE} "【小狼毫】檢查新版本" LangString LNKFORSETUP ${LANG_TRADCHINESE} "【小狼毫】安裝選項" LangString LNKFORUNINSTALL ${LANG_TRADCHINESE} "卸載小狼毫" LangString CONFIRMATION ${LANG_TRADCHINESE} "安裝前,請先卸載舊版本的小狼毫。$\n$\n按下「確定」移除舊版本,按下「取消」放棄本次安裝。" +LangString SYSTEMVERSIONNOTOK ${LANG_TRADCHINESE} "您的系统不被支持,最低系統要求:Windows 8.1!" !insertmacro MUI_LANGUAGE "SimpChinese" LangString DISPLAYNAME ${LANG_SIMPCHINESE} "小狼毫输入法" @@ -88,6 +89,7 @@ LangString LNKFORUPDATER ${LANG_SIMPCHINESE} "【小狼毫】检查新版本" LangString LNKFORSETUP ${LANG_SIMPCHINESE} "【小狼毫】安装选项" LangString LNKFORUNINSTALL ${LANG_SIMPCHINESE} "卸载小狼毫" LangString CONFIRMATION ${LANG_SIMPCHINESE} '安装前,请先卸载旧版本的小狼毫。$\n$\n点击 "确定" 移除旧版本,或点击 "取消" 放弃本次安装。' +LangString SYSTEMVERSIONNOTOK ${LANG_SIMPCHINESE} "您的系統不被支持,最低系统要求:Windows 8.1!" !insertmacro MUI_LANGUAGE "English" LangString DISPLAYNAME ${LANG_ENGLISH} "Weasel" @@ -103,10 +105,49 @@ LangString LNKFORUPDATER ${LANG_ENGLISH} "Weasel Check for Updates" LangString LNKFORSETUP ${LANG_ENGLISH} "Weasel Installation Preference" LangString LNKFORUNINSTALL ${LANG_ENGLISH} "Uninstall Weasel" LangString CONFIRMATION ${LANG_ENGLISH} "Before installation, please uninstall the old version of Weasel.$\n$\nPress 'OK' to remove the old version, or 'Cancel' to abort installation." +LangString SYSTEMVERSIONNOTOK ${LANG_ENGLISH} "Your system not supported, minimium system required: Windows 8.1!" ;-------------------------------- +Var /GLOBAL WindowsVersion +Var /GLOBAL MajorVersion +Var /GLOBAL MinorVersion +Var /GLOBAL DotPosition + +Function FindDotPosition + StrCpy $DotPosition 0 ; Initialize position + loop: + IntOp $DotPosition $DotPosition + 1 ; Increment position + StrCpy $0 $WindowsVersion 1 $DotPosition ; Get character at current position + StrCmp $0 "." 0 loop ; If character is not ".", continue loop +FunctionEnd + Function .onInit + ; read CurrentVersion to check if system is equal or greater than Windows 8.1 + ; if not >= 8.1, quit and MessageBox(if not silent) + ReadRegStr $WindowsVersion HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion + + Call FindDotPosition + StrCpy $MajorVersion $WindowsVersion $DotPosition + IntOp $DotPosition $DotPosition + 1 + StrCpy $WindowsVersion $WindowsVersion "" $DotPosition + Call FindDotPosition + StrCpy $MinorVersion $WindowsVersion $DotPosition + + ${If} $MajorVersion < 6 + IfSilent quit + MessageBox MB_OK '$(SYSTEMVERSIONNOTOK)' + quit: + Quit + ${ElseIf} $MajorVersion == 6 + ${If} $MinorVersion < 3 + IfSilent quit2 + MessageBox MB_OK '$(SYSTEMVERSIONNOTOK)' + quit2: + Quit + ${EndIf} + ${EndIf} + ; ReadRegStr $R0 HKLM "Software\Rime\Weasel" "InstallDir" StrCmp $R0 "" 0 skip ; The default installation directory