From Matt Poduska via bug 1957 (with minor changes):
[obnox/wireshark/wip.git] / packaging / nsis / wireshark.nsi
index ac643b188d6c6aed52f315c621300d80b5095be7..c3bb7714a7c5750ccba118acb7dcd09104ecca3a 100644 (file)
@@ -152,11 +152,6 @@ Page custom DisplayWinPcapPage
 
 !macroend
 
-; ============================================================================
-; Services
-; ============================================================================
-!include "servicelib.nsh"
-
 ; ============================================================================
 ; Command Line
 ; ============================================================================
@@ -188,7 +183,11 @@ ComponentText "The following components are available for installation."
 DirText "Choose a directory in which to install Wireshark."
 
 ; The default installation directory
-InstallDir $PROGRAMFILES\Wireshark\
+!if ${WIRESHARK_TARGET_PLATFORM} == "win64"
+  InstallDir $PROGRAMFILES64\Wireshark
+!else
+  InstallDir $PROGRAMFILES\Wireshark
+!endif
 
 ; See if this is an upgrade; if so, use the old InstallDir as default
 InstallDirRegKey HKEY_LOCAL_MACHINE SOFTWARE\Wireshark "InstallDir"
@@ -262,7 +261,20 @@ Var OLD_INSTDIR
 Var OLD_DISPLAYNAME
 Var TMP_UNINSTALLER
 
+; ============================================================================
+; 64-bit support
+; ============================================================================
+!include x64.nsh
+
 Function .onInit
+  !if ${WIRESHARK_TARGET_PLATFORM} == "win64"
+    ; http://forums.winamp.com/printthread.php?s=16ffcdd04a8c8d52bee90c0cae273ac5&threadid=262873
+    ${IfNot} ${RunningX64}
+      MessageBox MB_OK "This version of Wireshark only runs on x64 machines.\nTry installing the 32-bit version instead."
+      Abort
+    ${EndIf}
+  !endif
+
   ; Copied from http://nsis.sourceforge.net/Auto-uninstall_old_before_installing_new
   ReadRegStr $OLD_UNINSTALLER HKLM \
     "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" \
@@ -347,19 +359,20 @@ File "..\..\wiretap\wiretap-${WTAP_VERSION}.dll"
 File "..\..\epan\libwireshark.dll"
 !endif
 File "..\..\wsutil\libwsutil.dll"
-File "${GLIB_DIR}\bin\libgio-2.0-0.dll"
-File "${GLIB_DIR}\bin\libglib-2.0-0.dll"
-File "${GLIB_DIR}\bin\libgobject-2.0-0.dll"
-File "${GLIB_DIR}\bin\libgmodule-2.0-0.dll"
+File "${GTK_DIR}\bin\libgio-2.0-0.dll"
+File "${GTK_DIR}\bin\libglib-2.0-0.dll"
+File "${GTK_DIR}\bin\libgobject-2.0-0.dll"
+File "${GTK_DIR}\bin\libgmodule-2.0-0.dll"
+File "${GTK_DIR}\bin\libgthread-2.0-0.dll"
 !ifdef ICONV_DIR
-File "${ICONV_DIR}\bin\iconv.dll"
+File "${GTK_DIR}\bin\iconv.dll"
 !endif
-File "${GETTEXT_DIR}\bin\intl.dll"
+File "${GTK_DIR}\bin\${INTL_DLL}"
 !ifdef ZLIB_DIR
 File "${ZLIB_DIR}\zlib1.dll"
 !endif
 !ifdef C_ARES_DIR
-File "${C_ARES_DIR}\cares.dll"
+File "${C_ARES_DIR}\bin\libcares-2.dll"
 !endif
 !ifdef ADNS_DIR
 File "${ADNS_DIR}\..\${MSVC_VARIANT}\adns\adns_dll.dll"
@@ -369,8 +382,9 @@ File "${PCRE_DIR}\bin\pcre3.dll"
 File "${PCRE_DIR}\man\cat3\pcrepattern.3.txt"
 !endif
 !ifdef KFW_DIR
-File "${KFW_DIR}\bin\comerr32.dll"
-File "${KFW_DIR}\bin\krb5_32.dll"
+File "${KFW_PATH}\comerr32.dll"
+File "${KFW_PATH}\krb5_32.dll"
+File "${KFW_PATH}\k5sprt32.dll"
 !endif
 !ifdef GNUTLS_DIR
 File "${GNUTLS_DIR}\bin\libgcrypt-11.dll"
@@ -389,11 +403,11 @@ File "..\..\epan\wslua\dtd_gen.lua"
 !ifdef SMI_DIR
 File "${SMI_DIR}\lib\smi.dll"
 !endif
-File "..\..\README"
-File "..\..\README.win32"
-File "..\..\AUTHORS-SHORT"
-File "..\..\COPYING"
-File "NEWS.txt"
+File "..\..\wireshark-gtk2\COPYING.txt"
+File "..\..\wireshark-gtk2\NEWS.txt"
+File "..\..\wireshark-gtk2\README.txt"
+File "..\..\wireshark-gtk2\README.windows.txt"
+File "..\..\doc\AUTHORS-SHORT"
 File "..\..\manuf"
 File "..\..\services"
 File "..\..\doc\ws.css"
@@ -407,7 +421,15 @@ File "..\..\ipmap.html"
 !ifdef VCREDIST_EXE
 ; vcredist_x86.exe (MSVC V8) - copy and execute the redistributable installer
 File "${VCREDIST_EXE}"
+!if ${WIRESHARK_TARGET_PLATFORM} == "win32"
 ExecWait '"$INSTDIR\vcredist_x86.exe"' $0
+!else
+; If the user already has the redistributable installed they will see a
+; Big Ugly Dialog by default, asking if they want to uninstall or repair.
+; Ideally we should add a checkbox for this somewhere. In the meantime,
+; just do a silent install.
+ExecWait '"$INSTDIR\vcredist_x64.exe" /q' $0
+!endif ; WIRESHARK_TARGET_PLATFORM
 DetailPrint "vcredist_x86 returned $0"
 !else
 !ifdef MSVCR_DLL
@@ -445,11 +467,13 @@ SetOutPath $INSTDIR\diameter
 File "..\..\diameter\chargecontrol.xml"
 File "..\..\diameter\dictionary.dtd"
 File "..\..\diameter\dictionary.xml"
+File "..\..\diameter\eap.xml"
 File "..\..\diameter\Ericsson.xml"
 File "..\..\diameter\etsie2e4.xml"
 File "..\..\diameter\gqpolicy.xml"
 File "..\..\diameter\imscxdx.xml"
 File "..\..\diameter\mobileipv4.xml"
+File "..\..\diameter\mobileipv6.xml"
 File "..\..\diameter\nasreq.xml"
 File "..\..\diameter\sip.xml"
 File "..\..\diameter\sunping.xml"
@@ -465,69 +489,135 @@ SetOutPath $INSTDIR
 ; of the installation directory.
 ;
 SetOutPath $INSTDIR\radius
+File "..\..\radius\README.radius_dictionary"
 File "..\..\radius\dictionary"
 File "..\..\radius\dictionary.3com"
 File "..\..\radius\dictionary.3gpp"
 File "..\..\radius\dictionary.3gpp2"
 File "..\..\radius\dictionary.acc"
+File "..\..\radius\dictionary.airespace"
 File "..\..\radius\dictionary.alcatel"
 File "..\..\radius\dictionary.alteon"
 File "..\..\radius\dictionary.altiga"
+File "..\..\radius\dictionary.alvarion"
+File "..\..\radius\dictionary.apc"
 File "..\..\radius\dictionary.aptis"
-File "..\..\radius\dictionary.ascend"
 File "..\..\radius\dictionary.aruba"
+File "..\..\radius\dictionary.ascend"
+File "..\..\radius\dictionary.asn"
+File "..\..\radius\dictionary.avaya"
+File "..\..\radius\dictionary.azaire"
 File "..\..\radius\dictionary.bay"
 File "..\..\radius\dictionary.bintec"
 File "..\..\radius\dictionary.bristol"
 File "..\..\radius\dictionary.cablelabs"
 File "..\..\radius\dictionary.cabletron"
+File "..\..\radius\dictionary.chillispot"
 File "..\..\radius\dictionary.cisco"
 File "..\..\radius\dictionary.cisco.bbsm"
 File "..\..\radius\dictionary.cisco.vpn3000"
 File "..\..\radius\dictionary.cisco.vpn5000"
+File "..\..\radius\dictionary.clavister"
 File "..\..\radius\dictionary.colubris"
 File "..\..\radius\dictionary.columbia_university"
 File "..\..\radius\dictionary.compat"
 File "..\..\radius\dictionary.cosine"
+File "..\..\radius\dictionary.dhcp"
+File "..\..\radius\dictionary.digium"
+File "..\..\radius\dictionary.epygi"
 File "..\..\radius\dictionary.ericsson"
 File "..\..\radius\dictionary.erx"
 File "..\..\radius\dictionary.extreme"
+File "..\..\radius\dictionary.fortinet"
 File "..\..\radius\dictionary.foundry"
 File "..\..\radius\dictionary.freeradius"
+File "..\..\radius\dictionary.freeradius.internal"
+File "..\..\radius\dictionary.freeswitch"
 File "..\..\radius\dictionary.gandalf"
 File "..\..\radius\dictionary.garderos"
 File "..\..\radius\dictionary.gemtek"
+File "..\..\radius\dictionary.h3c"
+File "..\..\radius\dictionary.hp"
+File "..\..\radius\dictionary.huawei"
+File "..\..\radius\dictionary.infonet"
+File "..\..\radius\dictionary.ipunplugged"
+File "..\..\radius\dictionary.issanni"
 File "..\..\radius\dictionary.itk"
+File "..\..\radius\dictionary.jradius"
 File "..\..\radius\dictionary.juniper"
 File "..\..\radius\dictionary.karlnet"
+File "..\..\radius\dictionary.lancom"
 File "..\..\radius\dictionary.livingston"
 File "..\..\radius\dictionary.localweb"
+File "..\..\radius\dictionary.lucent"
+File "..\..\radius\dictionary.manzara"
 File "..\..\radius\dictionary.merit"
 File "..\..\radius\dictionary.microsoft"
 File "..\..\radius\dictionary.mikrotik"
+File "..\..\radius\dictionary.motorola"
 File "..\..\radius\dictionary.navini"
 File "..\..\radius\dictionary.netscreen"
+File "..\..\radius\dictionary.networkphysics"
+File "..\..\radius\dictionary.nexans"
 File "..\..\radius\dictionary.nokia"
+File "..\..\radius\dictionary.nokia.conflict"
 File "..\..\radius\dictionary.nomadix"
+File "..\..\radius\dictionary.nortel"
+File "..\..\radius\dictionary.ntua"
+File "..\..\radius\dictionary.openser"
+File "..\..\radius\dictionary.packeteer"
+File "..\..\radius\dictionary.patton"
 File "..\..\radius\dictionary.propel"
+File "..\..\radius\dictionary.prosoft"
+File "..\..\radius\dictionary.quiconnect"
 File "..\..\radius\dictionary.quintum"
 File "..\..\radius\dictionary.redback"
 File "..\..\radius\dictionary.redcreek"
+File "..\..\radius\dictionary.rfc2865"
+File "..\..\radius\dictionary.rfc2866"
+File "..\..\radius\dictionary.rfc2867"
+File "..\..\radius\dictionary.rfc2868"
+File "..\..\radius\dictionary.rfc2869"
+File "..\..\radius\dictionary.rfc3162"
+File "..\..\radius\dictionary.rfc3576"
+File "..\..\radius\dictionary.rfc3580"
+File "..\..\radius\dictionary.rfc4072"
+File "..\..\radius\dictionary.rfc4372"
+File "..\..\radius\dictionary.rfc4675"
+File "..\..\radius\dictionary.rfc4679"
+File "..\..\radius\dictionary.rfc4818"
+File "..\..\radius\dictionary.rfc4849"
+File "..\..\radius\dictionary.rfc5090"
+File "..\..\radius\dictionary.rfc5176"
+File "..\..\radius\dictionary.riverstone"
+File "..\..\radius\dictionary.roaringpenguin"
 File "..\..\radius\dictionary.shasta"
 File "..\..\radius\dictionary.shiva"
+File "..\..\radius\dictionary.slipstream"
+File "..\..\radius\dictionary.sofaware"
 File "..\..\radius\dictionary.sonicwall"
 File "..\..\radius\dictionary.springtide"
+File "..\..\radius\dictionary.starent"
 File "..\..\radius\dictionary.t_systems_nova"
 File "..\..\radius\dictionary.telebit"
+File "..\..\radius\dictionary.telkom"
 File "..\..\radius\dictionary.trapeze"
+File "..\..\radius\dictionary.tropos"
 File "..\..\radius\dictionary.tunnel"
 File "..\..\radius\dictionary.unisphere"
 File "..\..\radius\dictionary.unix"
 File "..\..\radius\dictionary.usr"
+File "..\..\radius\dictionary.utstarcom"
 File "..\..\radius\dictionary.valemount"
 File "..\..\radius\dictionary.versanet"
+File "..\..\radius\dictionary.vqp"
+File "..\..\radius\dictionary.walabi"
+File "..\..\radius\dictionary.waverider"
+File "..\..\radius\dictionary.wimax"
 File "..\..\radius\dictionary.wispr"
 File "..\..\radius\dictionary.xedia"
+File "..\..\radius\dictionary.xylan"
+File "..\..\radius\dictionary.zyxel"
 SetOutPath $INSTDIR
 
 ;
@@ -562,13 +652,13 @@ File "..\..\wimaxasncp\dictionary.dtd"
 SetOutPath $INSTDIR
 
 SetOutPath $INSTDIR\help
-File "..\..\help\toc"
-File "..\..\help\overview.txt"
-File "..\..\help\getting_started.txt"
-File "..\..\help\capturing.txt"
-File "..\..\help\capture_filters.txt"
-File "..\..\help\display_filters.txt"
-File "..\..\help\faq.txt"
+File "..\..\wireshark-gtk2\help\toc"
+File "..\..\wireshark-gtk2\help\overview.txt"
+File "..\..\wireshark-gtk2\help\getting_started.txt"
+File "..\..\wireshark-gtk2\help\capturing.txt"
+File "..\..\wireshark-gtk2\help\capture_filters.txt"
+File "..\..\wireshark-gtk2\help\display_filters.txt"
+File "..\..\wireshark-gtk2\help\faq.txt"
 
 ; Write the uninstall keys for Windows
 WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "DisplayVersion" "${VERSION}"
@@ -655,6 +745,8 @@ push $R0
        Call Associate
        StrCpy $R0 ".pcap"
        Call Associate
+       StrCpy $R0 ".pcapng"
+       Call Associate
        StrCpy $R0 ".pkt"
        Call Associate
        StrCpy $R0 ".snoop"
@@ -694,22 +786,11 @@ IfErrors lbl_winpcap_notinstalled ;if RegKey is unavailable, WinPcap is not inst
 ;DetailPrint "WinPcap uninstaller returned $0"
 lbl_winpcap_notinstalled:
 SetOutPath $INSTDIR
-File "WinPcap_4_0_2.exe"
-ExecWait '"$INSTDIR\WinPcap_4_0_2.exe"' $0
+File "WinPcap_4_1_1.exe"
+ExecWait '"$INSTDIR\WinPcap_4_1_1.exe"' $0
 DetailPrint "WinPcap installer returned $0"
 SecRequired_skip_Winpcap:
 
-; Load Winpcap NPF service at startup (depending on winpcap page)
-ReadINIStr $0 "$PLUGINSDIR\WinPcapPage.ini" "Field 8" "State"
-StrCmp $0 "0" SecRequired_no_WinpcapService
-WriteRegDWORD HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Services\NPF" "Start" 2 ;set NPF to (SERVICE_AUTO_START)
-!insertmacro SERVICE "start" "NPF" ""
-Goto SecRequired_done_WinpcapService
-SecRequired_no_WinpcapService:
-WriteRegDWORD HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Services\NPF" "Start" 3 ;set NPF to (SERVICE_DEMAND_START)
-!insertmacro SERVICE "stop" "NPF" ""
-SecRequired_done_WinpcapService:
-
 ; If no user profile exists for Wireshark but for Ethereal, copy it over
 SetShellVarContext current
 IfFileExists $APPDATA\Wireshark profile_done
@@ -738,27 +819,39 @@ File "${GTK_DIR}\bin\libcairo-2.dll"
 File "${GTK_DIR}\bin\libpangocairo-1.0-0.dll"
 !endif
 !ifdef NEED_LIBPNG_DLL
-File "${GTK_DIR}\bin\libpng12-0.dll"
+File "${GTK_DIR}\bin\${PNG_DLL}"
 !endif
 !ifdef NEED_LIBTIFF_DLL
-File "${GTK_DIR}\bin\libtiff3.dll"
+File "${GTK_DIR}\bin\${TIFF_DLL}"
 !endif
 !ifdef NEED_LIBJPEG_DLL
-File "${GTK_DIR}\bin\jpeg62.dll"
+File "${GTK_DIR}\bin\${JPEG_DLL}"
+!endif
+!ifdef NEED_FREETYPE_DLL
+File "${GTK_DIR}\bin\libpangoft2-1.0-0.dll"
+File "${GTK_DIR}\bin\${FREETYPE_DLL}"
+!endif
+!ifdef NEED_FONTCONFIG_DLL
+File "${GTK_DIR}\bin\${FONTCONFIG_DLL}"
+!endif
+!ifdef NEED_EXPAT_DLL
+File "${GTK_DIR}\bin\${EXPAT_DLL}"
 !endif
 SetOutPath $INSTDIR\etc\gtk-2.0
 File "${GTK_DIR}\etc\gtk-2.0\*.*"
+
+!if ${WIRESHARK_TARGET_PLATFORM} == "win32"
 SetOutPath $INSTDIR\etc\pango
 File "${GTK_DIR}\etc\pango\pango.*"
-SetOutPath $INSTDIR\lib\gtk-2.0\${GTK_LIB_DIR}\loaders
-File "${GTK_DIR}\lib\gtk-2.0\${GTK_LIB_DIR}\loaders\libpixbufloader-*.dll"
+; Not needed for GTK+ >= 2.18
+;SetOutPath $INSTDIR\lib\gtk-2.0\${GTK_LIB_DIR}\loaders
+;File "${GTK_DIR}\lib\gtk-2.0\${GTK_LIB_DIR}\loaders\libpixbufloader-*.dll"
+!endif
+
 SetOutPath $INSTDIR\lib\gtk-2.0\${GTK_LIB_DIR}\engines
 File "${GTK_DIR}\lib\gtk-2.0\${GTK_LIB_DIR}\engines\libpixmap.dll"
 SetOutPath $INSTDIR\lib\gtk-2.0\modules
 File "${GTK_DIR}\lib\gtk-2.0\modules\libgail.dll"
-# Not needed with pango 1.14.5
-#SetOutPath $INSTDIR\lib\pango\${PANGO_LIB_DIR}\modules
-#File "${GTK_DIR}\lib\pango\${PANGO_LIB_DIR}\modules\pango-*.dll"
 
 ; GTK MS-Windows Engine (GTK-Wimp)
 SetOutPath $INSTDIR\${GTK_WIMP_DLLDST_DIR}
@@ -781,7 +874,7 @@ SectionGroup "Plugins / Extensions" SecPluginsGroup
 
 Section "Dissector Plugins" SecPlugins
 ;-------------------------------------------
-SetOutPath $INSTDIR\plugins\${VERSION}
+SetOutPath '$INSTDIR\plugins\${VERSION}'
 File "..\..\plugins\asn1\asn1.dll"
 File "..\..\plugins\docsis\docsis.dll"
 File "..\..\plugins\ethercat\ethercat.dll"
@@ -790,24 +883,28 @@ File "..\..\plugins\giop\cosnaming.dll"
 File "..\..\plugins\giop\parlay.dll"
 File "..\..\plugins\giop\tango.dll"
 File "..\..\plugins\gryphon\gryphon.dll"
+File "..\..\plugins\interlink\interlink.dll"
 File "..\..\plugins\irda\irda.dll"
+File "..\..\plugins\llrp\llrp.dll"
 File "..\..\plugins\m2m\m2m.dll"
+File "..\..\plugins\opcua\opcua.dll"
 File "..\..\plugins\profinet\profinet.dll"
 File "..\..\plugins\sercosiii\sercosiii.dll"
 File "..\..\plugins\unistim\unistim.dll"
 File "..\..\plugins\wimax\wimax.dll"
 File "..\..\plugins\wimaxasncp\wimaxasncp.dll"
+!include "custom_plugins.txt"
 SectionEnd
 
 Section "Tree Statistics Plugin" SecStatsTree
 ;-------------------------------------------
-SetOutPath $INSTDIR\plugins\${VERSION}
+SetOutPath '$INSTDIR\plugins\${VERSION}'
 File "..\..\plugins\stats_tree\stats_tree.dll"
 SectionEnd
 
 Section "Mate - Meta Analysis and Tracing Engine" SecMate
 ;-------------------------------------------
-SetOutPath $INSTDIR\plugins\${VERSION}
+SetOutPath '$INSTDIR\plugins\${VERSION}'
 File "..\..\plugins\mate\mate.dll"
 SectionEnd
 
@@ -983,7 +1080,7 @@ Delete "$INSTDIR\*.exe"
 Delete "$INSTDIR\*.dll"
 Delete "$INSTDIR\*.html"
 Delete "$INSTDIR\ws.css"
-Delete "$INSTDIR\COPYING"
+Delete "$INSTDIR\COPYING*"
 Delete "$INSTDIR\AUTHORS-SHORT"
 ; previous versions installed these files
 Delete "$INSTDIR\*.manifest"
@@ -1169,7 +1266,6 @@ FunctionEnd
 !include WinMessages.nsh
 !include "VersionCompare.nsh"
 
-Var NPF_START ; NPF service registry key
 Var WINPCAP_NAME ; DisplayName from WinPcap installation
 Var WINPCAP_VERSION ; DisplayVersion from WinPcap installation
 
@@ -1184,24 +1280,29 @@ Function myShowCallback
        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
        Goto lbl_winversion_supported
 lbl_winversion_unsupported:
        MessageBox MB_OK \
-            "Windows $R0 is no longer supported. The last known version working with 98/ME was Ethereal 0.99.0!" \
+            "Windows $R0 is no longer supported. The last known version working with 98/ME was Ethereal 0.99.0." \
             /SD IDOK
-            
        Quit
 
 lbl_winversion_unsupported_nt4:
        MessageBox MB_OK \
-            "Windows $R0 is no longer supported. The last known version working with NT 4.0 was Wireshark 0.99.4!" \
+            "Windows $R0 is no longer supported. The last known version working with NT 4.0 was Wireshark 0.99.4." \
             /SD IDOK
        Quit
 
-lbl_winversion_supported:
+lbl_winversion_unsupported_2000:
+       MessageBox MB_OK \
+            "Windows $R0 is no longer supported. Please install Wireshark 1.2 or 1.0." \
+            /SD IDOK
+       Quit
 
+lbl_winversion_supported:
        ; detect if WinPcap should be installed
-       WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 4" "Text" "Install WinPcap 4.0.2"
+       WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 4" "Text" "Install WinPcap 4.1.1"
        ReadRegStr $WINPCAP_NAME HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinPcapInst" "DisplayName"
        IfErrors 0 lbl_winpcap_installed ;if RegKey is available, WinPcap is already installed
        WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 2" "Text" "WinPcap is currently not installed"
@@ -1214,7 +1315,7 @@ lbl_winpcap_installed:
        ; Compare the installed build against the one we have.
        ReadRegStr $WINPCAP_VERSION HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinPcapInst" "DisplayVersion"
        StrCmp $WINPCAP_VERSION "" lbl_winpcap_do_install ; WinPcap is really old(?) or installed improperly.
-       ${VersionCompare} $WINPCAP_VERSION "4.0.0.1040" $1 ; WinPcap 4.0.2
+       ${VersionCompare} $WINPCAP_VERSION "4.1.0.1753" $1 ; WinPcap 4.1.1
        StrCmp $1 "2" lbl_winpcap_do_install
 
 ;lbl_winpcap_dont_install:
@@ -1227,7 +1328,7 @@ lbl_winpcap_installed:
        ; force the user to upgrade by hand
        WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 4" "State" "0"
        WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 4" "Flags" "DISABLED"
-       WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 5" "Text" "If you wish to install WinPcap 4.0.2, please uninstall $WINPCAP_NAME manually first."
+       WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 5" "Text" "If you wish to install WinPcap 4.1.1, please uninstall $WINPCAP_NAME manually first."
        WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 5" "Flags" "DISABLED"
        Goto lbl_winpcap_done
 
@@ -1238,27 +1339,6 @@ lbl_winpcap_do_install:
 
 lbl_winpcap_done:
 
-       ; Disable NPF service setting for Win OT
-       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
-lbl_npf_disable:
-       WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 8" "State" "0"
-       WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 8" "Flags" "DISABLED"
-       WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 9" "Flags" "DISABLED"
-lbl_npf_done:
-
-
        ; if Wireshark was previously installed, unselect previously not installed icons etc.
        ; detect if Wireshark is already installed ->
        ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "UninstallString"