!define SHCNF_IDLIST 0
; Used to add associations between file extensions and Wireshark
-!define WIRESHARK_ASSOC "wireshark-file"
+!define WIRESHARK_ASSOC "wireshark-capture-file"
; ============================================================================
; Header configuration
; ============================================================================
; The name of the installer
!define PROGRAM_NAME "Wireshark"
+!if ${WIRESHARK_TARGET_PLATFORM} == "win32"
+!define BITS 32
+!else
+!define BITS 64
+!endif
+
+Name "${PROGRAM_NAME} ${VERSION} (${BITS}-bit)"
+
+;
+VIAddVersionKey "ProductName" "${PROGRAM_NAME}"
+VIAddVersionKey "Comments" "It's a great product with a great story to tell. I'm pumped!"
+VIAddVersionKey "CompanyName" "${PROGRAM_NAME} development team"
+; NSIS handles the copyright symbol correctly using CP-1252 but not UTF-8.
+VIAddVersionKey "LegalCopyright" "© Gerald Combs and many others"
+VIAddVersionKey "LegalTrademarks" "Wireshark and the 'fin' logo are registered trademarks of the Wireshark Foundation"
+VIAddVersionKey "FileDescription" "${PROGRAM_NAME} installer for ${BITS}-bit Windows"
+VIAddVersionKey "Language" "English"
+VIAddVersionKey "ProductVersion" "${PRODUCT_VERSION}"
+VIAddVersionKey "FileVersion" "${PRODUCT_VERSION}"
+VIProductVersion "${PRODUCT_VERSION}"
-Name "${PROGRAM_NAME} ${VERSION}"
; The file to write
-OutFile "wireshark-setup-${VERSION}.exe"
+OutFile "wireshark-${WIRESHARK_TARGET_PLATFORM}-${VERSION}.exe"
; Icon of installer and uninstaller
-Icon "..\..\image\wireshark.ico"
-UninstallIcon "..\..\image\wireshark.ico"
+Icon "..\..\image\wiresharkinst.ico"
+UninstallIcon "..\..\image\wiresharkinst.ico"
; Uninstall stuff (NSIS 2.08: "\r\n" don't work here)
!define MUI_UNCONFIRMPAGE_TEXT_TOP "The following Wireshark installation will be uninstalled. Click 'Next' to continue."
!include "MUI.nsh"
;!addplugindir ".\Plugins"
-!define MUI_ICON "..\..\image\wireshark.ico"
-!define MUI_UNICON "..\..\image\wireshark.ico"
+!define MUI_ICON "..\..\image\wiresharkinst.ico"
+!define MUI_UNICON "..\..\image\wiresharkinst.ico"
!define MUI_COMPONENTSPAGE_SMALLDESC
!define MUI_FINISHPAGE_NOAUTOCLOSE
!macroend
-; ============================================================================
-; Services
-; ============================================================================
-!include "servicelib.nsh"
-
; ============================================================================
; Command Line
; ============================================================================
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"
!define UPDATEICONS_UNIQUE ${__LINE__}
- IfFileExists "$SYSDIR\shell32.dll" UpdateIcons.next1_${UPDATEICONS_UNIQUE} UpdateIcons.error1_${UPDATEICONS_UNIQUE}
-UpdateIcons.next1_${UPDATEICONS_UNIQUE}:
- GetDllVersion "$SYSDIR\shell32.dll" $R0 $R1
- IntOp $R2 $R0 / 0x00010000
- IntCmp $R2 4 UpdateIcons.next2_${UPDATEICONS_UNIQUE} UpdateIcons.error2_${UPDATEICONS_UNIQUE}
-UpdateIcons.next2_${UPDATEICONS_UNIQUE}:
+ IfFileExists "$SYSDIR\shell32.dll" UpdateIcons.ok_shell32_${UPDATEICONS_UNIQUE} UpdateIcons.error_shell32_${UPDATEICONS_UNIQUE}
+UpdateIcons.ok_shell32_${UPDATEICONS_UNIQUE}:
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (${SHCNE_ASSOCCHANGED}, ${SHCNF_IDLIST}, 0, 0)'
Goto UpdateIcons.quit_${UPDATEICONS_UNIQUE}
-UpdateIcons.error1_${UPDATEICONS_UNIQUE}:
- MessageBox MB_OK|MB_ICONSTOP "Can't find 'shell32.dll' library. Impossible to update icons"
- Goto UpdateIcons.quit_${UPDATEICONS_UNIQUE}
-UpdateIcons.error2_${UPDATEICONS_UNIQUE}:
- MessageBox MB_OK|MB_ICONINFORMATION "You should install the free 'Microsoft Layer for Unicode' to update Wireshark capture file icons"
+UpdateIcons.error_shell32_${UPDATEICONS_UNIQUE}:
+ MessageBox MB_OK|MB_ICONSTOP \
+ "Can't find 'shell32.dll' library. Impossible to update icons" \
+ /SD IDOK
Goto UpdateIcons.quit_${UPDATEICONS_UNIQUE}
+
UpdateIcons.quit_${UPDATEICONS_UNIQUE}:
!undef UPDATEICONS_UNIQUE
Pop $R2
pop $R1
FunctionEnd
+Var OLD_UNINSTALLER
+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" \
+ "UninstallString"
+ StrCmp $OLD_UNINSTALLER "" done
+
+ ReadRegStr $OLD_INSTDIR HKLM \
+ "Software\Microsoft\Windows\CurrentVersion\App Paths\wireshark.exe" \
+ "Path"
+ StrCmp $OLD_INSTDIR "" done
+
+ ReadRegStr $OLD_DISPLAYNAME HKLM \
+ "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" \
+ "DisplayName"
+ StrCmp $OLD_DISPLAYNAME "" done
+
+ MessageBox MB_YESNOCANCEL|MB_ICONQUESTION \
+ "$OLD_DISPLAYNAME is already installed.\
+ $\n$\nWould you like to uninstall it first?" \
+ /SD IDYES \
+ IDYES prep_uninstaller \
+ IDNO done
+ Abort
+
+; Copy the uninstaller to $TEMP and run it.
+; The uninstaller normally does this by itself, but doesn't wait around
+; for the executable to finish, which means ExecWait won't work correctly.
+prep_uninstaller:
+ ClearErrors
+ StrCpy $TMP_UNINSTALLER "$TEMP\wireshark_uninstaller.exe"
+ ; ...because we surround UninstallString in quotes.
+ StrCpy $0 $OLD_UNINSTALLER -1 1
+ StrCpy $1 "$TEMP\wireshark_uninstaller.exe"
+ StrCpy $2 1
+ System::Call 'kernel32::CopyFile(t r0, t r1, b r2) 1'
+ IfSilent silent_uninstall
+ ExecWait "$TMP_UNINSTALLER _?=$OLD_INSTDIR"
+ Goto cleanup
+
+silent_uninstall:
+ ExecWait "$TMP_UNINSTALLER /S _?=$OLD_INSTDIR"
+
+cleanup:
+ Delete "$TMP_UNINSTALLER"
+
+done:
;Extract InstallOptions INI files
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "AdditionalTasksPage.ini"
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "WinpcapPage.ini"
!ifdef ENABLE_LIBWIRESHARK
File "..\..\epan\libwireshark.dll"
!endif
-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 "..\..\wsutil\libwsutil.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}\bin\libcares-2.dll"
+!endif
!ifdef ADNS_DIR
-File "${ADNS_DIR}\adns_win32\LIB\adns_dll.dll"
+File "${ADNS_DIR}\..\${MSVC_VARIANT}\adns\adns_dll.dll"
!endif
!ifdef PCRE_DIR
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"
-File "${GNUTLS_DIR}\bin\libgnutls-13.dll"
-File "${GNUTLS_DIR}\bin\libgnutls-extra-13.dll"
-File "${GNUTLS_DIR}\bin\libgnutls-openssl-13.dll"
+File "${GNUTLS_DIR}\bin\libgnutls-26.dll"
+File "${GNUTLS_DIR}\bin\libgnutls-extra-26.dll"
+File "${GNUTLS_DIR}\bin\libgnutls-openssl-26.dll"
File "${GNUTLS_DIR}\bin\libgpg-error-0.dll"
File "${GNUTLS_DIR}\bin\libtasn1-3.dll"
+StrCmp "${INTL_DLL}" "libintl-8.dll" SkipLibIntl8
+File "${GNUTLS_DIR}\bin\libintl-8.dll"
+SkipLibIntl8:
!endif
!ifdef LUA_DIR
-File "${LUA_DIR}\lib\dll\lua5.1.dll"
+File "${LUA_DIR}\lua5.1.dll"
File "..\..\epan\wslua\init.lua"
File "..\..\epan\wslua\console.lua"
File "..\..\epan\wslua\dtd_gen.lua"
!ifdef SMI_DIR
File "${SMI_DIR}\lib\smi.dll"
!endif
-File "..\..\FAQ"
-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 "..\..\pdml2html.xsl"
File "..\..\doc\ws.css"
File "..\..\doc\wireshark.html"
File "..\..\doc\wireshark-filter.html"
File "..\..\dumpcap.exe"
File "..\..\doc\dumpcap.html"
-File "..\..\example_snmp_users_file"
+File "..\..\ipmap.html"
; C-runtime redistributable
!ifdef VCREDIST_EXE
; vcredist_x86.exe (MSVC V8) - copy and execute the redistributable installer
File "${VCREDIST_EXE}"
-ExecWait '"$INSTDIR\vcredist_x86.exe"' $0
+!if ${WIRESHARK_TARGET_PLATFORM} == "win32"
+; 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_x86.exe" /q' $0
+!else
+ExecWait '"$INSTDIR\vcredist_x64.exe" /q' $0
+!endif ; WIRESHARK_TARGET_PLATFORM
DetailPrint "vcredist_x86 returned $0"
!else
!ifdef MSVCR_DLL
;IfFileExists dfilters dont_overwrite_dfilters
File "..\..\dfilters"
;dont_overwrite_dfilters:
-;IfFileExists dfilters dont_overwrite_smi_modules
+;IfFileExists smi_modules dont_overwrite_smi_modules
File "..\..\smi_modules"
;dont_overwrite_smi_modules:
; of the installation directory.
;
SetOutPath $INSTDIR\diameter
+File "..\..\diameter\Cisco.xml"
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"
File "..\..\diameter\TGPPGmb.xml"
+File "..\..\diameter\TGPPRx.xml"
File "..\..\diameter\TGPPSh.xml"
+File "..\..\diameter\Vodafone.xml"
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.acme"
+File "..\..\radius\dictionary.airespace"
File "..\..\radius\dictionary.alcatel"
+File "..\..\radius\dictionary.alcatel.esam"
+File "..\..\radius\dictionary.alcatel.sr"
File "..\..\radius\dictionary.alteon"
File "..\..\radius\dictionary.altiga"
+File "..\..\radius\dictionary.alvarion"
+File "..\..\radius\dictionary.apc"
File "..\..\radius\dictionary.aptis"
+File "..\..\radius\dictionary.aruba"
File "..\..\radius\dictionary.ascend"
+File "..\..\radius\dictionary.asn"
+File "..\..\radius\dictionary.audiocodes"
+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.eltex"
+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.iea"
+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.motorola.wimax"
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.rfc4603"
+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.rfc5580"
+File "..\..\radius\dictionary.rfc5607"
+File "..\..\radius\dictionary.rfc5904"
+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.tunnel"
-File "..\..\radius\dictionary.unisphere"
+File "..\..\radius\dictionary.tropos"
+File "..\..\radius\dictionary.ukerna"
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.wichorus"
+File "..\..\radius\dictionary.wimax"
+File "..\..\radius\dictionary.wimax.wichorus"
File "..\..\radius\dictionary.wispr"
File "..\..\radius\dictionary.xedia"
+File "..\..\radius\dictionary.xylan"
+File "..\..\radius\dictionary.zyxel"
SetOutPath $INSTDIR
;
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}"
ReadINIStr $0 "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 2" "State"
StrCmp $0 "0" SecRequired_skip_StartMenu
SetOutPath $PROFILE
-CreateDirectory "$SMPROGRAMS\Wireshark"
+;CreateDirectory "$SMPROGRAMS\Wireshark"
; To qoute "http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwue/html/ch11d.asp":
; "Do not include Readme, Help, or Uninstall entries on the Programs menu."
Delete "$SMPROGRAMS\Wireshark\Wireshark Web Site.lnk"
;WriteINIStr "$SMPROGRAMS\Wireshark\Wireshark Web Site.url" "InternetShortcut" "URL" "http://www.wireshark.org/"
-CreateShortCut "$SMPROGRAMS\Wireshark\Wireshark.lnk" "$INSTDIR\wireshark.exe" "" "$INSTDIR\wireshark.exe" 0 "" "" "The Wireshark Network Protocol Analyzer"
+CreateShortCut "$SMPROGRAMS\Wireshark.lnk" "$INSTDIR\wireshark.exe" "" "$INSTDIR\wireshark.exe" 0 "" "" "The Wireshark Network Protocol Analyzer"
;CreateShortCut "$SMPROGRAMS\Wireshark\Wireshark Manual.lnk" "$INSTDIR\wireshark.html"
;CreateShortCut "$SMPROGRAMS\Wireshark\Display Filters Manual.lnk" "$INSTDIR\wireshark-filter.html"
-CreateShortCut "$SMPROGRAMS\Wireshark\Wireshark Program Directory.lnk" \
- "$INSTDIR"
+;CreateShortCut "$SMPROGRAMS\Wireshark\Wireshark Program Directory.lnk" "$INSTDIR"
;CreateShortCut "$SMPROGRAMS\Wireshark\Uninstall Wireshark.lnk" "$INSTDIR\uninstall.exe"
SecRequired_skip_StartMenu:
; Create File Extensions (depending on additional tasks page)
ReadINIStr $0 "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 6" "State"
StrCmp $0 "0" SecRequired_skip_FileExtensions
-WriteRegStr HKCR ${WIRESHARK_ASSOC} "" "Wireshark file"
+WriteRegStr HKCR ${WIRESHARK_ASSOC} "" "Wireshark capture file"
WriteRegStr HKCR "${WIRESHARK_ASSOC}\Shell\open\command" "" '"$INSTDIR\wireshark.exe" "%1"'
WriteRegStr HKCR "${WIRESHARK_ASSOC}\DefaultIcon" "" '"$INSTDIR\wireshark.exe",1'
push $R0
Call Associate
StrCpy $R0 ".pcap"
Call Associate
+ StrCpy $R0 ".pcapng"
+ Call Associate
StrCpy $R0 ".pkt"
Call Associate
StrCpy $R0 ".snoop"
;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_2.exe"
+ExecWait '"$INSTDIR\WinPcap_4_1_2.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
SectionEnd ; "Required"
-
-SectionGroup "!Wireshark" SecWiresharkGroup
-
-!ifdef GTK2_DIR
-Section "Wireshark GTK2" SecWiresharkGTK2
+!ifdef GTK_DIR
+Section "Wireshark" SecWireshark
;-------------------------------------------
SetOutPath $INSTDIR
File "..\..\wireshark.exe"
-File "${GTK2_DIR}\bin\libgdk-win32-2.0-0.dll"
-File "${GTK2_DIR}\bin\libgdk_pixbuf-2.0-0.dll"
-File "${GTK2_DIR}\bin\libgtk-win32-2.0-0.dll"
-File "${GTK2_DIR}\bin\libatk-1.0-0.dll"
-File "${GTK2_DIR}\bin\libpango-1.0-0.dll"
-File "${GTK2_DIR}\bin\libpangowin32-1.0-0.dll"
+File "${GTK_DIR}\bin\libgdk-win32-2.0-0.dll"
+File "${GTK_DIR}\bin\libgdk_pixbuf-2.0-0.dll"
+File "${GTK_DIR}\bin\libgtk-win32-2.0-0.dll"
+File "${GTK_DIR}\bin\libatk-1.0-0.dll"
+File "${GTK_DIR}\bin\libpango-1.0-0.dll"
+File "${GTK_DIR}\bin\libpangowin32-1.0-0.dll"
!ifdef NEED_CAIRO_DLL
-File "${GTK2_DIR}\bin\libcairo-2.dll"
-File "${GTK2_DIR}\bin\libpangocairo-1.0-0.dll"
+File "${GTK_DIR}\bin\libcairo-2.dll"
+File "${GTK_DIR}\bin\libpangocairo-1.0-0.dll"
!endif
!ifdef NEED_LIBPNG_DLL
-File "${GTK2_DIR}\bin\libpng13.dll"
+File "${GTK_DIR}\bin\${PNG_DLL}"
!endif
!ifdef NEED_LIBTIFF_DLL
-File "${GTK2_DIR}\bin\libtiff3.dll"
+File "${GTK_DIR}\bin\${TIFF_DLL}"
!endif
!ifdef NEED_LIBJPEG_DLL
-File "${GTK2_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 "${GTK2_DIR}\etc\gtk-2.0\*.*"
+File "${GTK_DIR}\etc\gtk-2.0\*.*"
+
+!if ${WIRESHARK_TARGET_PLATFORM} == "win32"
SetOutPath $INSTDIR\etc\pango
-File "${GTK2_DIR}\etc\pango\pango.*"
-SetOutPath $INSTDIR\lib\gtk-2.0\${GTK2_LIB_DIR}\loaders
-File "${GTK2_DIR}\lib\gtk-2.0\${GTK2_LIB_DIR}\loaders\libpixbufloader-*.dll"
-SetOutPath $INSTDIR\lib\gtk-2.0\${GTK2_LIB_DIR}\immodules
-File "${GTK2_DIR}\lib\gtk-2.0\${GTK2_LIB_DIR}\immodules\im-*.dll"
-# Not needed with pango 1.14.5
-#SetOutPath $INSTDIR\lib\pango\${PANGO_LIB_DIR}\modules
-#File "${GTK2_DIR}\lib\pango\${PANGO_LIB_DIR}\modules\pango-*.dll"
+File "${GTK_DIR}\etc\pango\pango.*"
+; 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
-SectionEnd
+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"
-!ifdef GTK_WIMP_DIR
-Section "GTK MS Windows Engine" SecGTKWimp
-;-------------------------------------------
-SectionIn 1
+; GTK MS-Windows Engine (GTK-Wimp)
SetOutPath $INSTDIR\${GTK_WIMP_DLLDST_DIR}
File "${GTK_WIMP_DLLSRC_DIR}\libwimp.dll"
SetOutPath $INSTDIR\${GTK_WIMP_RCDST_DIR}
File "${GTK_WIMP_RCSRC_DIR}\gtkrc"
-SectionEnd
-!endif
-!endif
-SectionGroupEnd ; "Wireshark"
+SectionEnd ; "Wireshark"
+!endif
Section "TShark" SecTShark
File "..\..\doc\tshark.html"
SectionEnd
-Section "Rawshark" SecRawshark
-;-------------------------------------------
-SetOutPath $INSTDIR
-File "..\..\rawshark.exe"
-File "..\..\doc\rawshark.html"
-SectionEnd
-
SectionGroup "Plugins / Extensions" SecPluginsGroup
Section "Dissector Plugins" SecPlugins
;-------------------------------------------
-SetOutPath $INSTDIR\plugins\${VERSION}
-File "..\..\plugins\agentx\agentx.dll"
-File "..\..\plugins\artnet\artnet.dll"
+SetOutPath '$INSTDIR\plugins\${VERSION}'
File "..\..\plugins\asn1\asn1.dll"
-File "..\..\plugins\ciscosm\ciscosm.dll"
File "..\..\plugins\docsis\docsis.dll"
-File "..\..\plugins\enttec\enttec.dll"
File "..\..\plugins\ethercat\ethercat.dll"
File "..\..\plugins\giop\coseventcomm.dll"
File "..\..\plugins\giop\cosnaming.dll"
File "..\..\plugins\giop\parlay.dll"
File "..\..\plugins\giop\tango.dll"
File "..\..\plugins\gryphon\gryphon.dll"
-File "..\..\plugins\infiniband\infiniband.dll"
File "..\..\plugins\irda\irda.dll"
-File "..\..\plugins\lwres\lwres.dll"
File "..\..\plugins\m2m\m2m.dll"
-File "..\..\plugins\opsi\opsi.dll"
-File "..\..\plugins\pcli\pcli.dll"
+File "..\..\plugins\opcua\opcua.dll"
File "..\..\plugins\profinet\profinet.dll"
-File "..\..\plugins\rlm\rlm.dll"
-File "..\..\plugins\rtnet\rtnet.dll"
-File "..\..\plugins\rudp\rudp.dll"
-File "..\..\plugins\sbus\sbus.dll"
File "..\..\plugins\unistim\unistim.dll"
-File "..\..\plugins\v5ua\v5ua.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
File "..\..\doc\capinfos.html"
SectionEnd
+Section "Rawshark" SecRawshark
+;-------------------------------------------
+SetOutPath $INSTDIR
+File "..\..\rawshark.exe"
+File "..\..\doc\rawshark.html"
+SectionEnd
+
SectionGroupEnd ; "Tools"
!ifdef HHC_DIR
Delete "$INSTDIR\lib\gtk-2.0\2.10.0\engines\*.*"
Delete "$INSTDIR\lib\gtk-2.0\2.10.0\loaders\*.*"
Delete "$INSTDIR\lib\gtk-2.0\2.10.0\immodules\*.*"
+Delete "$INSTDIR\lib\gtk-2.0\modules\*.*"
Delete "$INSTDIR\lib\pango\1.2.0\modules\*.*"
Delete "$INSTDIR\lib\pango\1.4.0\modules\*.*"
Delete "$INSTDIR\lib\pango\1.5.0\modules\*.*"
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"
; previous versions installed this file
Delete "$INSTDIR\AUTHORS-SHORT-FORMAT"
Delete "$INSTDIR\README*"
-Delete "$INSTDIR\FAQ"
Delete "$INSTDIR\NEWS.txt"
Delete "$INSTDIR\manuf"
Delete "$INSTDIR\services"
+Delete "$INSTDIR\pdml2html.xsl"
Delete "$INSTDIR\pcrepattern.3.txt"
Delete "$INSTDIR\user-guide.chm"
Delete "$INSTDIR\example_snmp_users_file"
+Delete "$INSTDIR\ipmap.html"
Delete "$INSTDIR\radius\*.*"
Delete "$INSTDIR\dtds\*.*"
Delete "$SMPROGRAMS\Wireshark\*.*"
+Delete "$SMPROGRAMS\Wireshark.lnk"
Delete "$DESKTOP\Wireshark.lnk"
Delete "$QUICKLAUNCH\Wireshark.lnk"
RMDir "$INSTDIR\lib\gtk-2.0\2.10.0\loaders"
RMDir "$INSTDIR\lib\gtk-2.0\2.10.0\immodules"
RMDir "$INSTDIR\lib\gtk-2.0\2.10.0"
+RMDir "$INSTDIR\lib\gtk-2.0\modules"
RMDir "$INSTDIR\lib\gtk-2.0"
RMDir "$INSTDIR\lib\pango\1.2.0\modules"
RMDir "$INSTDIR\lib\pango\1.2.0"
; PLEASE MAKE SURE, THAT THE DESCRIPTIVE TEXT FITS INTO THE DESCRIPTION FIELD!
; ============================================================================
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
- !insertmacro MUI_DESCRIPTION_TEXT ${SecWiresharkGroup} "${PROGRAM_NAME} is a GUI network protocol analyzer."
-!ifdef GTK2_DIR
- !insertmacro MUI_DESCRIPTION_TEXT ${SecWiresharkGTK2} "${PROGRAM_NAME} using the modern GTK2 user interface."
-!ifdef GTK_WIMP_DIR
- !insertmacro MUI_DESCRIPTION_TEXT ${SecGTKWimp} "GTK MS Windows Engine - native Win32 look and feel, for Win2000 and up."
-!endif
+!ifdef GTK_DIR
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecWireshark} "${PROGRAM_NAME} is a GUI network protocol analyzer."
!endif
!insertmacro MUI_DESCRIPTION_TEXT ${SecTShark} "TShark is a text based network protocol analyzer."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecRawshark} "Rawshark is a raw packet filter."
!insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsGroup} "Some plugins and extensions for both Wireshark and TShark."
!insertmacro MUI_DESCRIPTION_TEXT ${SecPlugins} "Plugins with some extended dissections."
!insertmacro MUI_DESCRIPTION_TEXT ${SecStatsTree} "Plugin for some extended statistics."
!insertmacro MUI_DESCRIPTION_TEXT ${SecText2Pcap} "Text2pcap is a program that reads in an ASCII hex dump and writes the data into a libpcap-style capture file."
!insertmacro MUI_DESCRIPTION_TEXT ${SecMergecap} "Mergecap is a program that combines multiple saved capture files into a single output file"
!insertmacro MUI_DESCRIPTION_TEXT ${SecCapinfos} "Capinfos is a program that provides information on capture files."
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecRawshark} "Rawshark is a raw packet filter."
!ifdef HHC_DIR
!insertmacro MUI_DESCRIPTION_TEXT ${SecUsersGuide} "Install the user's guide, so an internet connection is not required to read the help pages."
!endif
; ============================================================================
; Callback functions
; ============================================================================
-!ifdef GTK2_DIR
-; Disable FileExtension if Wireshark isn't selected
+!ifdef GTK_DIR
+; Disable File extensions if Wireshark isn't selected
Function .onSelChange
Push $0
- SectionGetFlags ${SecWiresharkGTK2} $0
+ SectionGetFlags ${SecWireshark} $0
IntOp $0 $0 & 1
IntCmp $0 0 onSelChange.unselect
- SectionGetFlags ${SecFileExtensions} $0
- IntOp $0 $0 & 16
- IntCmp $0 16 onSelChange.unreadonly
+ WriteINIStr "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 6" "State" 1
+ WriteINIStr "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 6" "Flags" ""
+ WriteINIStr "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 7" "Flags" ""
Goto onSelChange.end
+
onSelChange.unselect:
- SectionGetFlags ${SecFileExtensions} $0
- IntOp $0 $0 & 0xFFFFFFFE
- IntOp $0 $0 | 0x10
- SectionSetFlags ${SecFileExtensions} $0
- Goto onSelChange.end
-onSelChange.unreadonly:
- SectionGetFlags ${SecFileExtensions} $0
- IntOp $0 $0 & 0xFFFFFFEF
- SectionSetFlags ${SecFileExtensions} $0
+ WriteINIStr "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 6" "State" 0
+ WriteINIStr "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 6" "Flags" "DISABLED"
+ WriteINIStr "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 7" "Flags" "DISABLED"
Goto onSelChange.end
+
onSelChange.end:
Pop $0
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
Function myShowCallback
-; Uinstall old Wireshark first
-; XXX - doesn't work, but kept here for further experiments
-;ReadRegStr $WIRESHARK_UNINSTALL HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "UninstallString"
-;IfErrors lbl_wireshark_notinstalled ;if RegKey is unavailable, WinPcap is not installed
-;MessageBox MB_YESNO|MB_ICONQUESTION "Uninstall the old Wireshark version first (recommended)?"
-; Hide the installer while uninstalling
-;GetDlgItem $0 $HWNDPARENT 1
-;FindWindow $0 "#32770" "" $HWNDPARENT
-;MessageBox MB_OK "Window $0"
-;ShowWindow $0 ${SW_HIDE}
-;HideWindow
-;ExecWait '$WIRESHARK_UNINSTALL' $0
-;DetailPrint "WinPcap uninstaller returned $0"
-;GetDlgItem $0 $HWNDPARENT 1
-;ShowWindow $0 ${SW_SHOW}
-;MessageBox MB_OK "Uninstalled"
-;lbl_wireshark_notinstalled:
-
-
; Get the Windows version
Call GetWindowsVersion
Pop $R0 ; Windows Version
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!"
+ MessageBox MB_OK \
+ "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!"
+ MessageBox MB_OK \
+ "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:
-!ifdef GTK2_DIR
- ; Enable GTK-Wimp only for Windows 2000/XP/2003
- ; ...as Win9x/ME/NT known to have problems with it!
-
- ;DetailPrint 'Windows Version: $R0'
- StrCmp $R0 '2000' lbl_select_wimp
- StrCmp $R0 'XP' lbl_select_wimp
- StrCmp $R0 '2003' lbl_select_wimp
- DetailPrint "Windows $R0 doesn't support the GTK MS Windows Engine!"
-
- Goto lbl_ignore_wimp
-lbl_select_wimp:
- !insertmacro SelectSection ${SecGTKWimp}
-
-lbl_ignore_wimp:
-!endif
-
+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.2"
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"
; 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.2001" $1 ; WinPcap 4.1.2
StrCmp $1 "2" lbl_winpcap_do_install
;lbl_winpcap_dont_install:
; 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.2, please uninstall $WINPCAP_NAME manually first."
WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 5" "Flags" "DISABLED"
Goto lbl_winpcap_done
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"
; (we use the "all users" start menu, so select it first)
SetShellVarContext all
IfFileExists "$SMPROGRAMS\Wireshark\Wireshark.lnk" lbl_have_startmenu
+ IfFileExists "$SMPROGRAMS\Wireshark.lnk" lbl_have_startmenu
WriteINIStr "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 2" "State" "0"
lbl_have_startmenu: