diff --git a/packaging/nsis/GetWindowsVersion.nsh b/packaging/nsis/GetWindowsVersion.nsh index d649b6e97c..8dcaa26e37 100644 --- a/packaging/nsis/GetWindowsVersion.nsh +++ b/packaging/nsis/GetWindowsVersion.nsh @@ -1,4 +1,3 @@ - ; GetWindowsVersion ; ; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/ @@ -6,7 +5,7 @@ ; ; Returns on top of stack ; -; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003) +; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003, Vista) ; or ; '' (Unknown Windows Version) ; @@ -14,77 +13,82 @@ ; Call GetWindowsVersion ; Pop $R0 ; ; at this point $R0 is "NT 4.0" or whatnot - + Function GetWindowsVersion - + Push $R0 Push $R1 - + ClearErrors - + 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: - + 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 lbl_error - + StrCmp $R1 '5.2' lbl_winnt_2003 + StrCmp $R1 '6.0' lbl_winnt_vista 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 - + + lbl_winnt_vista: + Strcpy $R0 'Vista' + Goto lbl_done + lbl_error: Strcpy $R0 '' lbl_done: - + Pop $R1 Exch $R0 - + FunctionEnd diff --git a/packaging/nsis/wireshark.nsi b/packaging/nsis/wireshark.nsi index ae065024fc..9e2082d011 100644 --- a/packaging/nsis/wireshark.nsi +++ b/packaging/nsis/wireshark.nsi @@ -1290,10 +1290,13 @@ lbl_winpcap_done: StrCmp $R0 '95' lbl_npf_disable StrCmp $R0 '98' lbl_npf_disable StrCmp $R0 'ME' lbl_npf_disable + ; Enable NPF by default under Vista. + StrCmp $R0 'Vista' lbl_npf_enable ReadRegDWORD $NPF_START HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Services\NPF" "Start" ; (Winpcap may not be installed already, so no regKey is no error here) IfErrors lbl_npf_done ;RegKey not available, so do not set it IntCmp $NPF_START 2 0 lbl_npf_done lbl_npf_done +lbl_npf_enable: WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 8" "State" "1" Goto lbl_npf_done ;disable