Windows: Update our minimum version
Update our minimum Windows version in various places, including the NSIS and WiX installers. Fixes #19569
This commit is contained in:
parent
1a81a7cacf
commit
7afb54035f
|
@ -361,15 +361,15 @@
|
|||
* for our needs.
|
||||
* This should match the following:
|
||||
* - The <compatibility><application> section in resources\wireshark.exe.manifest.in
|
||||
* - The GetWindowsVersion parts of packaging\nsis\wireshark.nsi
|
||||
* - The WinVer parts of packaging\nsis\wireshark.nsi
|
||||
* - The VersionNT parts of packaging\wix\Prerequisites.wxi
|
||||
*/
|
||||
# ifndef NTDDI_VERSION
|
||||
# define NTDDI_VERSION NTDDI_WIN7
|
||||
# define NTDDI_VERSION NTDDI_WIN10
|
||||
# endif
|
||||
|
||||
# ifndef _WIN32_WINNT
|
||||
# define _WIN32_WINNT _WIN32_WINNT_WIN7
|
||||
# define _WIN32_WINNT _WIN32_WINNT_WIN10
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
|
|
@ -22,7 +22,6 @@ set(WIRESHARK_NSIS_GENERATED_FILES ${WIRESHARK_NSIS_GENERATED_FILES} PARENT_SCOP
|
|||
set(WIRESHARK_NSIS_FILES
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/wireshark.nsi
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/wireshark-common.nsh
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/GetWindowsVersion.nsh
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/servicelib.nsh
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/NpcapPage.ini
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/USBPcapPage.ini
|
||||
|
@ -41,7 +40,6 @@ set(LOGRAY_NSIS_FILES
|
|||
logray.nsi
|
||||
uninstall-logray.nsi
|
||||
logray-common.nsh
|
||||
GetWindowsVersion.nsh
|
||||
servicelib.nsh
|
||||
NpcapPage.ini
|
||||
USBPcapPage.ini
|
||||
|
|
|
@ -1,190 +0,0 @@
|
|||
; GetWindowsVersion 4.1.1 (2015-06-22) - alternate script with server versions
|
||||
;
|
||||
; https://nsis.sourceforge.io/Get_Windows_version
|
||||
;
|
||||
; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
|
||||
; Update by Joost Verburg
|
||||
; Update (Macro, Define, Windows 7 detection) - John T. Haller of PortableApps.com - 2008-01-07
|
||||
; Update (Windows 8 detection) - Marek Mizanin (Zanir) - 2013-02-07
|
||||
; Update (Windows 8.1 detection) - John T. Haller of PortableApps.com - 2014-04-04
|
||||
; Update (Windows 2008, 2008R2, 2012 and 2012R2 detection) - Francisco Simoões Filho franksimoes@gmail.com - 2014-08-25
|
||||
; Update (Windows 10 TP detection) - John T. Haller of PortableApps.com - 2014-10-01
|
||||
; Update (Windows 10 TP4 and 2016 detection, and added include guards) - Kairu - 2015-06-22
|
||||
;
|
||||
; Usage: ${GetWindowsVersion} $R0
|
||||
;
|
||||
; $R0 contains: 95, 98, ME, NT x.x, 2000, XP, 2003, Vista, 2008, 7, 2008R2,
|
||||
; 8, 2012, 8.1, 2012R2, 10.0, 2016 or '' (for unknown)
|
||||
|
||||
!ifndef __GET_WINDOWS_VERSION_NSH
|
||||
!define __GET_WINDOWS_VERSION_NSH
|
||||
|
||||
Function GetWindowsVersion
|
||||
|
||||
Push $R0
|
||||
Push $R1
|
||||
Push $R2
|
||||
|
||||
ClearErrors
|
||||
|
||||
; check if Windows NT family
|
||||
ReadRegStr $R0 HKLM \
|
||||
"SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
|
||||
|
||||
IfErrors 0 lbl_winnt
|
||||
|
||||
; we are not NT
|
||||
ReadRegStr $R0 HKLM \
|
||||
"SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
|
||||
|
||||
StrCpy $R1 $R0 1
|
||||
StrCmp $R1 '4' 0 lbl_error
|
||||
|
||||
StrCpy $R1 $R0 3
|
||||
|
||||
StrCmp $R1 '4.0' lbl_win32_95
|
||||
StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
|
||||
|
||||
lbl_win32_95:
|
||||
StrCpy $R0 '95'
|
||||
Goto lbl_done
|
||||
|
||||
lbl_win32_98:
|
||||
StrCpy $R0 '98'
|
||||
Goto lbl_done
|
||||
|
||||
lbl_win32_ME:
|
||||
StrCpy $R0 'ME'
|
||||
Goto lbl_done
|
||||
|
||||
lbl_winnt:
|
||||
|
||||
; check if Windows is Client or Server.
|
||||
ReadRegStr $R2 HKLM \
|
||||
"SOFTWARE\Microsoft\Windows NT\CurrentVersion" InstallationType
|
||||
|
||||
StrCpy $R1 $R0 1
|
||||
|
||||
StrCmp $R1 '3' lbl_winnt_x
|
||||
StrCmp $R1 '4' lbl_winnt_x
|
||||
|
||||
StrCpy $R1 $R0 3
|
||||
|
||||
StrCmp $R1 '5.0' lbl_winnt_2000
|
||||
StrCmp $R1 '5.1' lbl_winnt_XP
|
||||
StrCmp $R1 '5.2' lbl_winnt_2003
|
||||
StrCmp $R1 '6.0' lbl_winnt_vista_2008
|
||||
StrCmp $R1 '6.1' lbl_winnt_7_2008R2
|
||||
StrCmp $R1 '6.2' lbl_winnt_8_2012
|
||||
StrCmp $R1 '6.3' lbl_winnt_81_2012R2
|
||||
StrCmp $R1 '6.4' lbl_winnt_10_2016 ; the early Windows 10 tech previews used version 6.4
|
||||
|
||||
StrCpy $R1 $R0 4
|
||||
|
||||
StrCmp $R1 '10.0' lbl_winnt_10_2016
|
||||
Goto lbl_error
|
||||
|
||||
lbl_winnt_x:
|
||||
StrCpy $R0 "NT $R0" 6
|
||||
Goto lbl_done
|
||||
|
||||
lbl_winnt_2000:
|
||||
Strcpy $R0 '2000'
|
||||
Goto lbl_done
|
||||
|
||||
lbl_winnt_XP:
|
||||
Strcpy $R0 'XP'
|
||||
Goto lbl_done
|
||||
|
||||
lbl_winnt_2003:
|
||||
Strcpy $R0 '2003'
|
||||
Goto lbl_done
|
||||
|
||||
;----------------- Family - Vista / 2008 -------------
|
||||
lbl_winnt_vista_2008:
|
||||
StrCmp $R2 'Client' go_vista
|
||||
StrCmp $R2 'Server' go_2008
|
||||
|
||||
go_vista:
|
||||
Strcpy $R0 'Vista'
|
||||
Goto lbl_done
|
||||
|
||||
go_2008:
|
||||
Strcpy $R0 '2008'
|
||||
Goto lbl_done
|
||||
;-----------------------------------------------------
|
||||
|
||||
;----------------- Family - 7 / 2008R2 -------------
|
||||
lbl_winnt_7_2008R2:
|
||||
StrCmp $R2 'Client' go_7
|
||||
StrCmp $R2 'Server' go_2008R2
|
||||
|
||||
go_7:
|
||||
Strcpy $R0 '7'
|
||||
Goto lbl_done
|
||||
|
||||
go_2008R2:
|
||||
Strcpy $R0 '2008R2'
|
||||
Goto lbl_done
|
||||
;-----------------------------------------------------
|
||||
|
||||
;----------------- Family - 8 / 2012 -------------
|
||||
lbl_winnt_8_2012:
|
||||
StrCmp $R2 'Client' go_8
|
||||
StrCmp $R2 'Server' go_2012
|
||||
|
||||
go_8:
|
||||
Strcpy $R0 '8'
|
||||
Goto lbl_done
|
||||
|
||||
go_2012:
|
||||
Strcpy $R0 '2012'
|
||||
Goto lbl_done
|
||||
;-----------------------------------------------------
|
||||
|
||||
;----------------- Family - 8.1 / 2012R2 -------------
|
||||
lbl_winnt_81_2012R2:
|
||||
StrCmp $R2 'Client' go_81
|
||||
StrCmp $R2 'Server' go_2012R2
|
||||
|
||||
go_81:
|
||||
Strcpy $R0 '8.1'
|
||||
Goto lbl_done
|
||||
|
||||
go_2012R2:
|
||||
Strcpy $R0 '2012R2'
|
||||
Goto lbl_done
|
||||
;-----------------------------------------------------
|
||||
|
||||
;----------------- Family - 10 / 2016 -------------
|
||||
lbl_winnt_10_2016:
|
||||
StrCmp $R2 'Client' go_10
|
||||
StrCmp $R2 'Server' go_2016
|
||||
|
||||
go_10:
|
||||
Strcpy $R0 '10.0'
|
||||
Goto lbl_done
|
||||
|
||||
go_2016:
|
||||
Strcpy $R0 '2016'
|
||||
Goto lbl_done
|
||||
;-----------------------------------------------------
|
||||
|
||||
lbl_error:
|
||||
Strcpy $R0 ''
|
||||
lbl_done:
|
||||
|
||||
Pop $R2
|
||||
Pop $R1
|
||||
Exch $R0
|
||||
|
||||
FunctionEnd
|
||||
|
||||
!macro GetWindowsVersion OUTPUT_VALUE
|
||||
Call GetWindowsVersion
|
||||
Pop `${OUTPUT_VALUE}`
|
||||
!macroend
|
||||
|
||||
!define GetWindowsVersion '!insertmacro "GetWindowsVersion"'
|
||||
|
||||
!endif
|
|
@ -250,11 +250,11 @@ Var WIX_DISPLAYVERSION
|
|||
Var WIX_UNINSTALLSTRING
|
||||
|
||||
; ============================================================================
|
||||
; 64-bit support
|
||||
; Platform and OS version checks
|
||||
; ============================================================================
|
||||
!include x64.nsh
|
||||
|
||||
!include "GetWindowsVersion.nsh"
|
||||
!include x64.nsh
|
||||
!include WinVer.nsh
|
||||
!include WinMessages.nsh
|
||||
|
||||
Function .onInit
|
||||
|
@ -266,9 +266,6 @@ Function .onInit
|
|||
${EndIf}
|
||||
!endif
|
||||
|
||||
; Get the Windows version
|
||||
${GetWindowsVersion} $R0
|
||||
|
||||
; This should match the following:
|
||||
; - The NTDDI_VERSION and _WIN32_WINNT parts of cmakeconfig.h.in
|
||||
; - The <compatibility><application> section in image\wireshark.exe.manifest.in
|
||||
|
@ -277,23 +274,13 @@ Function .onInit
|
|||
; Uncomment to test.
|
||||
; MessageBox MB_OK "You're running Windows $R0."
|
||||
|
||||
; Check if we're able to run with this version
|
||||
StrCmp $R0 '95' lbl_winversion_unsupported
|
||||
StrCmp $R0 '98' lbl_winversion_unsupported
|
||||
StrCmp $R0 'ME' lbl_winversion_unsupported
|
||||
StrCmp $R0 'NT 4.0' lbl_winversion_unsupported
|
||||
StrCmp $R0 '2000' lbl_winversion_unsupported
|
||||
StrCmp $R0 'XP' lbl_winversion_unsupported
|
||||
StrCmp $R0 '2003' lbl_winversion_unsupported
|
||||
StrCmp $R0 'Vista' lbl_winversion_unsupported
|
||||
StrCmp $R0 '2008' lbl_winversion_unsupported
|
||||
Goto lbl_winversion_supported
|
||||
|
||||
lbl_winversion_unsupported:
|
||||
${If} ${AtMostWin8.1}
|
||||
${OrIf} ${AtMostWin2012R2}
|
||||
MessageBox MB_OK \
|
||||
"Windows $R0 is not supported." \
|
||||
/SD IDOK
|
||||
"Windows 10, Server 2016, and later are required." /SD IDOK
|
||||
Quit
|
||||
${EndIf}
|
||||
|
||||
lbl_winversion_supported:
|
||||
!insertmacro IsLograyRunning
|
||||
|
|
|
@ -282,11 +282,11 @@ Var WIX_DISPLAYVERSION
|
|||
Var WIX_UNINSTALLSTRING
|
||||
|
||||
; ============================================================================
|
||||
; 64-bit support
|
||||
; Platform and OS version checks
|
||||
; ============================================================================
|
||||
!include x64.nsh
|
||||
|
||||
!include "GetWindowsVersion.nsh"
|
||||
!include x64.nsh
|
||||
!include WinVer.nsh
|
||||
!include WinMessages.nsh
|
||||
|
||||
Function .onInit
|
||||
|
@ -309,9 +309,6 @@ Function .onInit
|
|||
${EndIf}
|
||||
!endif
|
||||
|
||||
; Get the Windows version
|
||||
${GetWindowsVersion} $R0
|
||||
|
||||
; This should match the following:
|
||||
; - The NTDDI_VERSION and _WIN32_WINNT parts of cmakeconfig.h.in
|
||||
; - The <compatibility><application> section in image\wireshark.exe.manifest.in
|
||||
|
@ -320,49 +317,51 @@ Function .onInit
|
|||
; Uncomment to test.
|
||||
; MessageBox MB_OK "You're running Windows $R0."
|
||||
|
||||
; Check if we're able to run with this version
|
||||
StrCmp $R0 '95' lbl_winversion_unsupported
|
||||
StrCmp $R0 '98' lbl_winversion_unsupported
|
||||
StrCmp $R0 'ME' lbl_winversion_unsupported
|
||||
StrCmp $R0 'NT 4.0' lbl_winversion_unsupported_nt4
|
||||
StrCmp $R0 '2000' lbl_winversion_unsupported_2000
|
||||
StrCmp $R0 'XP' lbl_winversion_unsupported_xp_2003
|
||||
StrCmp $R0 '2003' lbl_winversion_unsupported_xp_2003
|
||||
StrCmp $R0 'Vista' lbl_winversion_unsupported_vista_2008
|
||||
StrCmp $R0 '2008' lbl_winversion_unsupported_vista_2008
|
||||
Goto lbl_winversion_supported
|
||||
|
||||
lbl_winversion_unsupported:
|
||||
${If} ${AtMostWinME}
|
||||
MessageBox MB_OK \
|
||||
"Windows $R0 is no longer supported.$\nPlease install Ethereal 0.99.0 instead." \
|
||||
/SD IDOK
|
||||
"Windows 95, 98, and ME are no longer supported.$\nPlease install Ethereal 0.99.0 instead." \
|
||||
/SD IDOK
|
||||
Quit
|
||||
${EndIf}
|
||||
|
||||
lbl_winversion_unsupported_nt4:
|
||||
${If} ${IsWinNT4}
|
||||
MessageBox MB_OK \
|
||||
"Windows $R0 is no longer supported.$\nPlease install Wireshark 0.99.4 instead." \
|
||||
/SD IDOK
|
||||
"Windows NT 4.0 is no longer supported.$\nPlease install Wireshark 0.99.4 instead." \
|
||||
/SD IDOK
|
||||
Quit
|
||||
${EndIf}
|
||||
|
||||
lbl_winversion_unsupported_2000:
|
||||
${If} ${IsWin2000}
|
||||
MessageBox MB_OK \
|
||||
"Windows $R0 is no longer supported.$\nPlease install Wireshark 1.2 or 1.0 instead." \
|
||||
/SD IDOK
|
||||
"Windows 2000 is no longer supported.$\nPlease install Wireshark 1.2 or 1.0 instead." \
|
||||
/SD IDOK
|
||||
Quit
|
||||
${EndIf}
|
||||
|
||||
lbl_winversion_unsupported_xp_2003:
|
||||
${If} ${IsWinXP}
|
||||
${OrIf} ${IsWin2003}
|
||||
MessageBox MB_OK \
|
||||
"Windows $R0 is no longer supported.$\nPlease install ${PROGRAM_NAME} 1.12 or 1.10 instead." \
|
||||
/SD IDOK
|
||||
"Windows XP and Server 2003 are no longer supported.$\nPlease install ${PROGRAM_NAME} 1.12 or 1.10 instead." \
|
||||
/SD IDOK
|
||||
Quit
|
||||
${EndIf}
|
||||
|
||||
lbl_winversion_unsupported_vista_2008:
|
||||
${If} ${IsWinVista}
|
||||
${OrIf} ${IsWin2008}
|
||||
MessageBox MB_OK \
|
||||
"Windows $R0 is no longer supported.$\nPlease install ${PROGRAM_NAME} 2.2 instead." \
|
||||
/SD IDOK
|
||||
"Windows Vista and Server 2008 are no longer supported.$\nPlease install ${PROGRAM_NAME} 2.2 instead." \
|
||||
/SD IDOK
|
||||
Quit
|
||||
${EndIf}
|
||||
|
||||
${If} ${AtMostWin8.1}
|
||||
${OrIf} ${AtMostWin2012R2}
|
||||
MessageBox MB_OK \
|
||||
"Windows 7, 8, 8.1, Server 2008R2, and Server 2012 are no longer supported.$\nPlease install ${PROGRAM_NAME} 4.0 instead." \
|
||||
/SD IDOK
|
||||
Quit
|
||||
${EndIf}
|
||||
|
||||
lbl_winversion_supported:
|
||||
!insertmacro IsWiresharkRunning
|
||||
|
||||
; Default control values.
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<!-- This should match the following:
|
||||
- The NTDDI_VERSION and _WIN32_WINNT parts of cmakeconfig.h.in
|
||||
- The <compatibility><application> section in image\wireshark.exe.manifest.in
|
||||
- The GetWindowsVersion parts of packaging\nsis\wireshark.nsi
|
||||
- The WinVer parts of packaging\nsis\wireshark.nsi
|
||||
-->
|
||||
<Condition Message="Windows 2000 is no longer supported. Please install $(var.WiresharkName) 1.2 or 1.0 instead.">
|
||||
<![CDATA[Installed OR (VersionNT < 500) OR (VersionNT > 500)]]>
|
||||
|
@ -35,8 +35,12 @@
|
|||
<![CDATA[Installed OR (VersionNT < 600) OR (VersionNT > 600)]]>
|
||||
</Condition>
|
||||
|
||||
<Condition Message="$(var.WiresharkName)$(var.WiresharkVersion) is only supported on Windows 7, Windows Server 2008R2, or higher.">
|
||||
<![CDATA[Installed OR (VersionNT >= 601)]]>
|
||||
<Condition Message="Windows 7, 8, 8.1, Server 2008R2, and Server 2012 are no longer supported. Please install $(var.WiresharkName) 4.0 instead.">
|
||||
<![CDATA[Installed OR (VersionNT < 601) OR (VersionNT > 602)]]>
|
||||
</Condition>
|
||||
|
||||
<Condition Message="$(var.WiresharkName)$(var.WiresharkVersion) is only supported on Windows 10, Windows Server 2016, or higher.">
|
||||
<![CDATA[Installed OR (VersionNT >= 603)]]>
|
||||
</Condition>
|
||||
|
||||
<!--
|
||||
|
|
|
@ -33,15 +33,8 @@
|
|||
<application>
|
||||
<!-- This should match the following:
|
||||
- The NTDDI_VERSION and _WIN32_WINNT parts of cmakeconfig.h.in
|
||||
- The GetWindowsVersion parts of packaging\nsis\wireshark.nsi
|
||||
- The VersionNT parts of packaging\wix\Prerequisites.wxi
|
||||
- The WinVer parts of packaging\nsis\logray.nsi
|
||||
-->
|
||||
<!-- Windows 7 -->
|
||||
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
|
||||
<!-- Windows 8 -->
|
||||
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
|
||||
<!-- Windows 8.1 -->
|
||||
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
|
||||
<!-- Windows 10 & 11 -->
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
|
||||
</application>
|
||||
|
|
|
@ -33,15 +33,9 @@
|
|||
<application>
|
||||
<!-- This should match the following:
|
||||
- The NTDDI_VERSION and _WIN32_WINNT parts of cmakeconfig.h.in
|
||||
- The GetWindowsVersion parts of packaging\nsis\wireshark.nsi
|
||||
- The WinVer parts of packaging\nsis\wireshark.nsi
|
||||
- The VersionNT parts of packaging\wix\Prerequisites.wxi
|
||||
-->
|
||||
<!-- Windows 7 -->
|
||||
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
|
||||
<!-- Windows 8 -->
|
||||
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
|
||||
<!-- Windows 8.1 -->
|
||||
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
|
||||
<!-- Windows 10 & 11 -->
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
|
||||
</application>
|
||||
|
|
Loading…
Reference in New Issue