diff options
Diffstat (limited to '')
-rw-r--r-- | packaging/nsis/CMakeLists.txt | 2 | ||||
-rw-r--r-- | packaging/nsis/GetWindowsVersion.nsh | 190 | ||||
-rw-r--r-- | packaging/nsis/logray.nsi | 29 | ||||
-rw-r--r-- | packaging/nsis/windeployqt-to-nsis.py | 4 | ||||
-rw-r--r-- | packaging/nsis/wireshark.nsi | 67 |
5 files changed, 45 insertions, 247 deletions
diff --git a/packaging/nsis/CMakeLists.txt b/packaging/nsis/CMakeLists.txt index d0c48663..5f9043db 100644 --- a/packaging/nsis/CMakeLists.txt +++ b/packaging/nsis/CMakeLists.txt @@ -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 diff --git a/packaging/nsis/GetWindowsVersion.nsh b/packaging/nsis/GetWindowsVersion.nsh deleted file mode 100644 index d0201298..00000000 --- a/packaging/nsis/GetWindowsVersion.nsh +++ /dev/null @@ -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 diff --git a/packaging/nsis/logray.nsi b/packaging/nsis/logray.nsi index e87e3ca3..5aed3b28 100644 --- a/packaging/nsis/logray.nsi +++ b/packaging/nsis/logray.nsi @@ -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 diff --git a/packaging/nsis/windeployqt-to-nsis.py b/packaging/nsis/windeployqt-to-nsis.py index 2881f315..f3e3e9a5 100644 --- a/packaging/nsis/windeployqt-to-nsis.py +++ b/packaging/nsis/windeployqt-to-nsis.py @@ -74,6 +74,10 @@ with open(args.outfile, 'w') as f: line = line.strip() if not line or line.startswith('#'): continue + if line.startswith('Adding in plugin'): + # https://bugreports.qt.io/browse/QTBUG-122257 + # Affects 6.6.0 - 6.6.2 + continue path, relative = line.split(" ") rel_path = os.path.split(relative) if len(rel_path) > 1: diff --git a/packaging/nsis/wireshark.nsi b/packaging/nsis/wireshark.nsi index 5271cd33..0f2d55dc 100644 --- a/packaging/nsis/wireshark.nsi +++ b/packaging/nsis/wireshark.nsi @@ -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 95, 98, and ME are no longer supported.$\nPlease install Ethereal 0.99.0 instead." \ + /SD IDOK + Quit +${EndIf} + +${If} ${IsWinNT4} MessageBox MB_OK \ - "Windows $R0 is no longer supported.$\nPlease install Ethereal 0.99.0 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_nt4: +${If} ${IsWin2000} MessageBox MB_OK \ - "Windows $R0 is no longer supported.$\nPlease install Wireshark 0.99.4 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_2000: +${If} ${IsWinXP} +${OrIf} ${IsWin2003} MessageBox MB_OK \ - "Windows $R0 is no longer supported.$\nPlease install Wireshark 1.2 or 1.0 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_xp_2003: +${If} ${IsWinVista} +${OrIf} ${IsWin2008} MessageBox MB_OK \ - "Windows $R0 is no longer supported.$\nPlease install ${PROGRAM_NAME} 1.12 or 1.10 instead." \ - /SD IDOK + "Windows Vista and Server 2008 are no longer supported.$\nPlease install ${PROGRAM_NAME} 2.2 instead." \ + /SD IDOK Quit +${EndIf} -lbl_winversion_unsupported_vista_2008: +${If} ${AtMostWin8.1} +${OrIf} ${AtMostWin2012R2} MessageBox MB_OK \ - "Windows $R0 is no longer supported.$\nPlease install ${PROGRAM_NAME} 2.2 instead." \ - /SD IDOK + "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. |