2001-04-04 04:50:05 +00:00
;
2006-05-30 13:19:30 +00:00
; wireshark.nsi
2001-04-04 04:50:05 +00:00
;
2007-03-26 04:02:05 +00:00
2005-07-25 07:42:06 +00:00
; Set the compression mechanism first.
2007-03-26 04:02:05 +00:00
; As of NSIS 2.07, solid compression which makes installer about 1MB smaller
2005-07-25 07:42:06 +00:00
; is no longer the default, so use the /SOLID switch.
; This unfortunately is unknown to NSIS prior to 2.07 and creates an error.
; So if you get an error here, please update to at least NSIS 2.07!
2005-07-26 18:17:09 +00:00
SetCompressor /SOLID lzma
2013-03-15 21:46:25 +00:00
SetCompressorDictSize 64 ; MB
2001-04-04 04:50:05 +00:00
2012-06-13 19:06:27 +00:00
!include "common.nsh"
!include 'LogicLib.nsh'
2015-10-07 21:27:17 +00:00
!include "StrFunc.nsh"
2018-11-29 01:08:27 +00:00
!include "WordFunc.nsh"
2015-10-07 21:27:17 +00:00
${StrRep}
2004-06-10 10:12:30 +00:00
2019-07-27 07:54:44 +00:00
; See https://nsis.sourceforge.io/Check_if_a_file_exists_at_compile_time for documentation
2015-07-15 19:32:44 +00:00
!macro !defineifexist _VAR_NAME _FILE_NAME
!tempfile _TEMPFILE
!ifdef NSIS_WIN32_MAKENSIS
; Windows - cmd.exe
!system 'if exist "${_FILE_NAME}" echo !define ${_VAR_NAME} > "${_TEMPFILE}"'
!else
; Posix - sh
!system 'if [ -e "${_FILE_NAME}" ]; then echo "!define ${_VAR_NAME}" > "${_TEMPFILE}"; fi'
!endif
!include '${_TEMPFILE}'
!delfile '${_TEMPFILE}'
!undef _TEMPFILE
!macroend
!define !defineifexist "!insertmacro !defineifexist"
2001-04-04 04:50:05 +00:00
; ============================================================================
; Header configuration
; ============================================================================
2011-03-01 19:40:51 +00:00
2001-04-04 04:50:05 +00:00
; The file to write
2018-02-10 21:26:57 +00:00
OutFile "${OUTFILE_DIR}\${PROGRAM_NAME}-${WIRESHARK_TARGET_PLATFORM}-${VERSION}.exe"
2012-06-13 19:06:27 +00:00
; Installer icon
2022-03-06 22:16:36 +00:00
Icon "${TOP_SRC_DIR}\resources\wiresharkinst.ico"
2001-04-04 04:50:05 +00:00
2003-12-26 12:27:47 +00:00
; ============================================================================
; Modern UI
; ============================================================================
; The modern user interface will look much better than the common one.
; However, as the development of the modern UI is still going on, and the script
; syntax changes, you will need exactly that NSIS version, which this script is
; made for. This is the current (December 2003) latest version: V2.0b4
; If you are using a different version, it's not predictable what will happen.
2018-05-10 00:35:26 +00:00
!include "MUI2.nsh"
!include "InstallOptions.nsh"
2005-07-23 20:34:43 +00:00
;!addplugindir ".\Plugins"
2003-12-26 12:27:47 +00:00
2022-03-06 22:16:36 +00:00
!define MUI_ICON "${TOP_SRC_DIR}\resources\wiresharkinst.ico"
2018-03-16 21:19:59 +00:00
BrandingText "Wireshark${U+00ae} Installer"
2003-12-26 12:27:47 +00:00
!define MUI_COMPONENTSPAGE_SMALLDESC
2004-08-25 03:32:26 +00:00
!define MUI_FINISHPAGE_NOAUTOCLOSE
2021-09-03 20:59:34 +00:00
!define MUI_WELCOMEPAGE_TITLE_3LINES
2018-05-10 00:35:26 +00:00
!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of ${PROGRAM_NAME}.$\r$\n$\r$\nBefore starting the installation, make sure ${PROGRAM_NAME} is not running.$\r$\n$\r$\nClick 'Next' to continue."
2018-11-29 01:08:27 +00:00
;!define MUI_FINISHPAGE_LINK "Install Npcap to be able to capture packets from a network."
2022-01-07 00:10:32 +00:00
;!define MUI_FINISHPAGE_LINK_LOCATION "https://npcap.com/"
2004-08-25 03:32:26 +00:00
; NSIS shows Readme files by opening the Readme file with the default application for
2007-03-26 04:02:05 +00:00
; the file's extension. "README.win32" won't work in most cases, because extension "win32"
; is usually not associated with an appropriate text editor. We should use extension "txt"
; for a text file or "html" for an html README file.
2021-09-03 20:59:34 +00:00
!define MUI_FINISHPAGE_TITLE_3LINES
2004-08-26 22:48:29 +00:00
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\NEWS.txt"
!define MUI_FINISHPAGE_SHOWREADME_TEXT "Show News"
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
2019-11-19 23:24:03 +00:00
; NSIS runs as Administrator and will run Wireshark as Administrator
; if these are enabled.
;!define MUI_FINISHPAGE_RUN "$INSTDIR\${PROGRAM_NAME_PATH}"
;!define MUI_FINISHPAGE_RUN_NOTCHECKED
2005-07-23 20:34:43 +00:00
2005-02-03 02:35:20 +00:00
!define MUI_PAGE_CUSTOMFUNCTION_SHOW myShowCallback
2003-12-26 12:27:47 +00:00
; ============================================================================
; MUI Pages
; ============================================================================
!insertmacro MUI_PAGE_WELCOME
2020-01-02 20:04:56 +00:00
!define MUI_LICENSEPAGE_TEXT_TOP "Wireshark is distributed under the GNU General Public License."
!define MUI_LICENSEPAGE_TEXT_BOTTOM "This is not an end user license agreement (EULA). It is provided here for informational purposes only."
!define MUI_LICENSEPAGE_BUTTON "Noted"
2015-01-06 23:07:50 +00:00
!insertmacro MUI_PAGE_LICENSE "${STAGING_DIR}\COPYING.txt"
2020-01-02 20:04:56 +00:00
2003-12-26 12:27:47 +00:00
!insertmacro MUI_PAGE_COMPONENTS
2018-05-10 00:35:26 +00:00
!ifdef QT_DIR
Page custom DisplayAdditionalTasksPage LeaveAdditionalTasksPage
!endif
2003-12-26 12:27:47 +00:00
!insertmacro MUI_PAGE_DIRECTORY
2018-11-29 01:08:27 +00:00
Page custom DisplayNpcapPage
2015-10-07 21:27:17 +00:00
Page custom DisplayUSBPcapPage
2003-12-26 12:27:47 +00:00
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
2007-03-26 04:02:05 +00:00
2003-12-26 12:27:47 +00:00
; ============================================================================
; MUI Languages
; ============================================================================
2007-03-26 04:02:05 +00:00
2003-12-26 12:27:47 +00:00
!insertmacro MUI_LANGUAGE "English"
2005-07-23 20:34:43 +00:00
; ============================================================================
; Reserve Files
; ============================================================================
2007-03-26 04:02:05 +00:00
2005-07-23 20:34:43 +00:00
;Things that need to be extracted on first (keep these lines before any File command!)
;Only useful for BZIP2 compression
2007-03-26 04:02:05 +00:00
2019-07-27 07:54:44 +00:00
; Old Modern 1 UI: https://nsis.sourceforge.io/Docs/Modern%20UI/Readme.html
2018-05-10 00:35:26 +00:00
; To do: Upgrade to the Modern 2 UI:
;ReserveFile "AdditionalTasksPage.ini"
2018-11-29 01:08:27 +00:00
ReserveFile "NpcapPage.ini"
2015-10-07 21:27:17 +00:00
ReserveFile "USBPcapPage.ini"
2018-05-10 00:35:26 +00:00
ReserveFile /plugin InstallOptions.dll
; Modern UI 2 / nsDialog pages.
2019-07-27 07:54:44 +00:00
; https://nsis.sourceforge.io/Docs/Modern%20UI%202/Readme.html
; https://nsis.sourceforge.io/Docs/nsDialogs/Readme.html
2018-05-10 00:35:26 +00:00
!ifdef QT_DIR
!include "AdditionalTasksPage.nsdinc"
!endif
2005-07-23 20:34:43 +00:00
2004-08-26 22:48:29 +00:00
; ============================================================================
; Section macros
; ============================================================================
!include "Sections.nsh"
2005-09-14 02:07:20 +00:00
; ============================================================================
; Command Line
; ============================================================================
!include "FileFunc.nsh"
!insertmacro GetParameters
!insertmacro GetOptions
2020-05-12 18:48:10 +00:00
; ========= Install extcap binary and help file =========
!macro InstallExtcap EXTCAP_NAME
SetOutPath $INSTDIR
File "${STAGING_DIR}\${EXTCAP_NAME}.html"
SetOutPath $INSTDIR\extcap
File "${STAGING_DIR}\extcap\${EXTCAP_NAME}.exe"
!macroend
; ========= Check if silent mode install of /EXTRACOMPONENTS =========
!macro CheckExtrasFlag EXTRAS_NAME
!define EXTRAS_FLAG ${__LINE__}
Section
IfSilent +1 skip_${EXTRAS_FLAG}
push $R0
push $R1
push $R2
${GetParameters} $R0
${GetOptions} $R0 "/EXTRACOMPONENTS=" $R1
IfErrors popreg_${EXTRAS_FLAG}
${WordFind} $R1 "," "E+1" $R0
; No delimiters found - check for single word match
${If} $R0 = 1
StrCmp $R1 ${EXTRAS_NAME} install_${EXTRAS_FLAG} popreg_${EXTRAS_FLAG}
${ENDIF}
; Loop through all delimited words checking for match
IntOp $R2 0 + 1
${While} $R0 != 2
StrCmp $R0 ${EXTRAS_NAME} install_${EXTRAS_FLAG} 0
IntOp $R2 $R2 + 1
${WordFind} $R1 "," "E+$R2" $R0
${EndWhile}
Goto popreg_${EXTRAS_FLAG}
install_${EXTRAS_FLAG}:
!insertmacro InstallExtcap ${EXTRAS_NAME}
popreg_${EXTRAS_FLAG}:
pop $R2
pop $R1
pop $R0
skip_${EXTRAS_FLAG}:
!undef EXTRAS_FLAG
SectionEnd
!macroend
2001-04-04 04:50:05 +00:00
; ============================================================================
; Component page configuration
; ============================================================================
2001-04-05 05:36:47 +00:00
ComponentText "The following components are available for installation."
2001-04-04 04:50:05 +00:00
; ============================================================================
; Directory selection page configuration
; ============================================================================
; The text to prompt the user to enter a directory
2012-10-16 08:08:18 +00:00
DirText "Choose a directory in which to install ${PROGRAM_NAME}."
2001-04-04 04:50:05 +00:00
; The default installation directory
2009-04-17 22:09:26 +00:00
!if ${WIRESHARK_TARGET_PLATFORM} == "win64"
2012-10-16 08:08:18 +00:00
InstallDir $PROGRAMFILES64\${PROGRAM_NAME}
2009-04-17 22:09:26 +00:00
!else
2012-10-16 08:08:18 +00:00
InstallDir $PROGRAMFILES\${PROGRAM_NAME}
2009-04-17 22:09:26 +00:00
!endif
2001-04-04 04:50:05 +00:00
; See if this is an upgrade; if so, use the old InstallDir as default
2012-10-16 08:08:18 +00:00
InstallDirRegKey HKEY_LOCAL_MACHINE SOFTWARE\${PROGRAM_NAME} "InstallDir"
2001-04-04 04:50:05 +00:00
; ============================================================================
; Install page configuration
; ============================================================================
ShowInstDetails show
2004-06-10 10:12:30 +00:00
; ============================================================================
; Functions and macros
; ============================================================================
2012-06-13 19:06:27 +00:00
Var EXTENSION
2019-07-27 07:54:44 +00:00
; https://docs.microsoft.com/en-us/windows/win32/shell/fa-file-types
2004-06-10 10:12:30 +00:00
Function Associate
2018-05-10 00:35:26 +00:00
Push $R0
!insertmacro PushFileExtensions
2012-06-13 19:06:27 +00:00
2018-05-10 00:35:26 +00:00
Pop $EXTENSION
2013-07-25 15:40:39 +00:00
2018-05-10 00:35:26 +00:00
${DoUntil} $EXTENSION == ${FILE_EXTENSION_MARKER}
ReadRegStr $R0 HKCR $EXTENSION ""
StrCmp $R0 "" Associate.doRegister
Goto Associate.end
2007-03-26 04:02:05 +00:00
2004-06-10 10:12:30 +00:00
Associate.doRegister:
2018-05-10 00:35:26 +00:00
;The extension is not associated to any program, we can do the link
WriteRegStr HKCR $EXTENSION "" ${WIRESHARK_ASSOC}
DetailPrint "Registered file type: $EXTENSION"
2012-06-13 19:06:27 +00:00
2004-06-10 10:12:30 +00:00
Associate.end:
2018-05-10 00:35:26 +00:00
Pop $EXTENSION
${Loop}
2004-06-10 10:12:30 +00:00
2018-05-10 00:35:26 +00:00
Pop $R0
2004-06-10 10:12:30 +00:00
FunctionEnd
2002-08-19 15:48:28 +00:00
2018-05-10 00:35:26 +00:00
; Control states
Var START_MENU_STATE
Var DESKTOP_ICON_STATE
Var QUICK_LAUNCH_STATE
Var FILE_ASSOCIATE_STATE
2016-09-09 16:30:54 +00:00
; NSIS
2008-10-21 16:44:35 +00:00
Var OLD_UNINSTALLER
2008-11-01 00:24:10 +00:00
Var OLD_INSTDIR
2008-10-21 16:44:35 +00:00
Var OLD_DISPLAYNAME
2008-11-01 00:24:10 +00:00
Var TMP_UNINSTALLER
2008-10-21 16:44:35 +00:00
2016-09-09 16:30:54 +00:00
; WiX
Var REGISTRY_BITS
Var TMP_PRODUCT_GUID
Var WIX_DISPLAYNAME
Var WIX_DISPLAYVERSION
Var WIX_UNINSTALLSTRING
2009-04-17 22:09:26 +00:00
; ============================================================================
; 64-bit support
; ============================================================================
2009-04-17 17:32:48 +00:00
!include x64.nsh
2015-11-07 15:44:47 +00:00
!include "GetWindowsVersion.nsh"
!include WinMessages.nsh
2005-07-23 20:34:43 +00:00
Function .onInit
2009-04-17 17:32:48 +00:00
!if ${WIRESHARK_TARGET_PLATFORM} == "win64"
; http://forums.winamp.com/printthread.php?s=16ffcdd04a8c8d52bee90c0cae273ac5&threadid=262873
2009-04-17 22:09:26 +00:00
${IfNot} ${RunningX64}
2013-09-05 17:51:17 +00:00
MessageBox MB_OK "This version of Wireshark only runs on x64 machines.$\nTry installing the 32-bit version instead." /SD IDOK
2009-04-17 17:32:48 +00:00
Abort
${EndIf}
2021-12-29 23:06:13 +00:00
!else
${If} ${RunningX64}
MessageBox MB_OK "You are installing a 32-bit version of Wireshark on a 64-bit machine.$\nWe recommend installing the 64-bit version instead." /SD IDOK
${EndIf}
2009-04-17 17:32:48 +00:00
!endif
2014-08-10 14:48:40 +00:00
; Get the Windows version
2015-11-19 22:34:39 +00:00
${GetWindowsVersion} $R0
2017-10-26 16:05:06 +00:00
; 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 VersionNT parts of packaging\wix\Prerequisites.wxi
2015-11-19 22:34:39 +00:00
; Uncomment to test.
; MessageBox MB_OK "You're running Windows $R0."
2014-08-10 14:48:40 +00:00
; 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
2015-11-19 22:34:39 +00:00
StrCmp $R0 'XP' lbl_winversion_unsupported_xp_2003
StrCmp $R0 '2003' lbl_winversion_unsupported_xp_2003
2018-03-01 23:18:17 +00:00
StrCmp $R0 'Vista' lbl_winversion_unsupported_vista_2008
StrCmp $R0 '2008' lbl_winversion_unsupported_vista_2008
2014-08-10 14:48:40 +00:00
Goto lbl_winversion_supported
lbl_winversion_unsupported:
MessageBox MB_OK \
"Windows $R0 is no longer supported.$\nPlease install Ethereal 0.99.0 instead." \
/SD IDOK
Quit
lbl_winversion_unsupported_nt4:
MessageBox MB_OK \
"Windows $R0 is no longer supported.$\nPlease install Wireshark 0.99.4 instead." \
/SD IDOK
Quit
lbl_winversion_unsupported_2000:
MessageBox MB_OK \
"Windows $R0 is no longer supported.$\nPlease install Wireshark 1.2 or 1.0 instead." \
/SD IDOK
Quit
2015-11-19 22:34:39 +00:00
lbl_winversion_unsupported_xp_2003:
MessageBox MB_OK \
"Windows $R0 is no longer supported.$\nPlease install ${PROGRAM_NAME} 1.12 or 1.10 instead." \
/SD IDOK
2014-08-10 14:48:40 +00:00
Quit
2018-03-01 23:18:17 +00:00
lbl_winversion_unsupported_vista_2008:
MessageBox MB_OK \
"Windows $R0 is no longer supported.$\nPlease install ${PROGRAM_NAME} 2.2 instead." \
/SD IDOK
Quit
2014-08-10 14:48:40 +00:00
lbl_winversion_supported:
2013-02-20 23:59:49 +00:00
!insertmacro IsWiresharkRunning
2013-02-20 01:19:42 +00:00
2018-05-10 00:35:26 +00:00
; Default control values.
StrCpy $START_MENU_STATE ${BST_CHECKED}
StrCpy $DESKTOP_ICON_STATE ${BST_UNCHECKED}
StrCpy $QUICK_LAUNCH_STATE ${BST_CHECKED}
StrCpy $FILE_ASSOCIATE_STATE ${BST_CHECKED}
2019-07-27 07:54:44 +00:00
; Copied from https://nsis.sourceforge.io/Auto-uninstall_old_before_installing_new
2008-10-21 16:44:35 +00:00
ReadRegStr $OLD_UNINSTALLER HKLM \
2012-10-16 08:08:18 +00:00
"Software\Microsoft\Windows\CurrentVersion\Uninstall\${PROGRAM_NAME}" \
2008-11-01 00:24:10 +00:00
"UninstallString"
2016-09-09 16:30:54 +00:00
StrCmp $OLD_UNINSTALLER "" check_wix
2008-10-21 16:44:35 +00:00
2008-11-01 00:24:10 +00:00
ReadRegStr $OLD_INSTDIR HKLM \
2012-10-16 08:08:18 +00:00
"Software\Microsoft\Windows\CurrentVersion\App Paths\${PROGRAM_NAME}.exe" \
2008-11-01 00:24:10 +00:00
"Path"
2016-09-09 16:30:54 +00:00
StrCmp $OLD_INSTDIR "" check_wix
2008-11-01 00:24:10 +00:00
2008-10-21 16:44:35 +00:00
ReadRegStr $OLD_DISPLAYNAME HKLM \
2012-10-16 08:08:18 +00:00
"Software\Microsoft\Windows\CurrentVersion\Uninstall\${PROGRAM_NAME}" \
2008-11-01 00:24:10 +00:00
"DisplayName"
2008-10-21 16:44:35 +00:00
StrCmp $OLD_DISPLAYNAME "" done
2018-05-10 00:35:26 +00:00
; We're reinstalling. Flip our control states according to what the
; user chose before.
; (we use the "all users" start menu, so select it first)
SetShellVarContext all
; MessageBox MB_OK|MB_ICONINFORMATION "oninit 1 sm $START_MENU_STATE di $DESKTOP_ICON_STATE ql $QUICK_LAUNCH_STATE"
${IfNot} ${FileExists} $SMPROGRAMS\${PROGRAM_NAME}.lnk
StrCpy $START_MENU_STATE ${BST_UNCHECKED}
${Endif}
${If} ${FileExists} $DESKTOP\${PROGRAM_NAME}.lnk
StrCpy $DESKTOP_ICON_STATE ${BST_CHECKED}
${Endif}
${IfNot} ${FileExists} $QUICKLAUNCH\${PROGRAM_NAME}.lnk
StrCpy $QUICK_LAUNCH_STATE ${BST_UNCHECKED}
${Endif}
; Leave FILE_ASSOCIATE_STATE checked.
; MessageBox MB_OK|MB_ICONINFORMATION "oninit 2 sm $START_MENU_STATE $SMPROGRAMS\${PROGRAM_NAME}\${PROGRAM_NAME}.lnk \
; $\ndi $DESKTOP_ICON_STATE $DESKTOP\${PROGRAM_NAME}.lnk \
; $\nql $QUICK_LAUNCH_STATE $QUICKLAUNCH\${PROGRAM_NAME}.lnk"
2008-11-01 00:24:10 +00:00
MessageBox MB_YESNOCANCEL|MB_ICONQUESTION \
"$OLD_DISPLAYNAME is already installed.\
2013-11-14 22:35:10 +00:00
$\n$\nWould you like to uninstall it first?" \
2009-02-18 20:27:16 +00:00
/SD IDYES \
2016-09-09 16:30:54 +00:00
IDYES prep_nsis_uninstaller \
2008-11-01 00:24:10 +00:00
IDNO done
2008-10-21 16:44:35 +00:00
Abort
2011-06-23 23:04:03 +00:00
2008-11-01 00:24:10 +00:00
; 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.
2016-09-09 16:30:54 +00:00
prep_nsis_uninstaller:
2008-10-21 16:44:35 +00:00
ClearErrors
2012-10-16 08:08:18 +00:00
StrCpy $TMP_UNINSTALLER "$TEMP\${PROGRAM_NAME}_uninstaller.exe"
2008-11-01 00:24:10 +00:00
; ...because we surround UninstallString in quotes.
StrCpy $0 $OLD_UNINSTALLER -1 1
2012-10-16 08:08:18 +00:00
StrCpy $1 "$TEMP\${PROGRAM_NAME}_uninstaller.exe"
2008-11-01 00:24:10 +00:00
StrCpy $2 1
System::Call 'kernel32::CopyFile(t r0, t r1, b r2) 1'
2009-02-18 20:27:16 +00:00
ExecWait "$TMP_UNINSTALLER /S _?=$OLD_INSTDIR"
2008-11-01 00:24:10 +00:00
Delete "$TMP_UNINSTALLER"
2011-06-23 23:04:03 +00:00
2016-09-09 16:30:54 +00:00
; Look for a WiX-installed package.
check_wix:
StrCpy $REGISTRY_BITS 64
SetRegView 64
check_wix_restart:
StrCpy $0 0
wix_reg_enum_loop:
EnumRegKey $TMP_PRODUCT_GUID HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" $0
StrCmp $TMP_PRODUCT_GUID "" wix_enum_reg_done
IntOp $0 $0 + 1
ReadRegStr $WIX_DISPLAYNAME HKLM \
"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$TMP_PRODUCT_GUID" \
"DisplayName"
; MessageBox MB_OK|MB_ICONINFORMATION "Reading HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$1 DisplayName = $2"
; Look for "Wireshark".
StrCmp $WIX_DISPLAYNAME "${PROGRAM_NAME}" wix_found wix_reg_enum_loop
wix_found:
ReadRegStr $WIX_DISPLAYVERSION HKLM \
"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$TMP_PRODUCT_GUID" \
"DisplayVersion"
ReadRegStr $WIX_UNINSTALLSTRING HKLM \
"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$TMP_PRODUCT_GUID" \
"UninstallString"
StrCmp $WIX_UNINSTALLSTRING "" done
MessageBox MB_YESNOCANCEL|MB_ICONQUESTION \
"$WIX_DISPLAYNAME $WIX_DISPLAYVERSION (msi) is already installed.\
$\n$\nWould you like to uninstall it first?" \
/SD IDYES \
IDYES prep_wix_uninstaller \
IDNO done
Abort
; Run the WiX-provided UninstallString.
prep_wix_uninstaller:
ClearErrors
ExecWait "$WIX_UNINSTALLSTRING"
Goto done
wix_enum_reg_done:
2016-09-13 22:27:23 +00:00
; MessageBox MB_OK|MB_ICONINFORMATION "Checked $0 $REGISTRY_BITS bit keys"
2016-09-09 16:30:54 +00:00
IntCmp $REGISTRY_BITS 32 done
StrCpy $REGISTRY_BITS 32
SetRegView 32
Goto check_wix_restart
2008-10-21 16:44:35 +00:00
done:
2016-09-09 16:30:54 +00:00
2018-05-10 00:35:26 +00:00
; Command line parameters
${GetParameters} $R0
${GetOptions} $R0 "/desktopicon=" $R1
${If} $R1 == "yes"
StrCpy $DESKTOP_ICON_STATE ${BST_CHECKED}
${ElseIf} $R1 == "no"
StrCpy $DESKTOP_ICON_STATE ${BST_UNCHECKED}
${Endif}
${GetOptions} $R0 "/quicklaunchicon=" $R1
${If} $R1 == "yes"
StrCpy $QUICK_LAUNCH_STATE ${BST_CHECKED}
${ElseIf} $R1 == "no"
StrCpy $QUICK_LAUNCH_STATE ${BST_UNCHECKED}
${Endif}
2005-07-23 20:34:43 +00:00
;Extract InstallOptions INI files
2018-05-10 00:35:26 +00:00
;!insertmacro INSTALLOPTIONS_EXTRACT "AdditionalTasksPage.ini"
2018-11-29 01:08:27 +00:00
!insertmacro INSTALLOPTIONS_EXTRACT "NpcapPage.ini"
2018-05-10 00:35:26 +00:00
!insertmacro INSTALLOPTIONS_EXTRACT "USBPcapPage.ini"
2005-07-23 20:34:43 +00:00
FunctionEnd
2018-05-10 00:35:26 +00:00
!ifdef QT_DIR
2005-07-23 20:34:43 +00:00
Function DisplayAdditionalTasksPage
2018-05-10 00:35:26 +00:00
Call fnc_AdditionalTasksPage_Show
2005-07-23 20:34:43 +00:00
FunctionEnd
2018-05-10 00:35:26 +00:00
!endif
2005-07-23 20:34:43 +00:00
2018-11-29 01:08:27 +00:00
Function DisplayNpcapPage
2018-03-16 21:19:59 +00:00
!insertmacro MUI_HEADER_TEXT "Packet Capture" "Wireshark requires either Npcap or WinPcap to capture live network data."
2018-11-29 01:08:27 +00:00
!insertmacro INSTALLOPTIONS_DISPLAY "NpcapPage.ini"
2005-07-23 20:34:43 +00:00
FunctionEnd
2015-10-07 21:27:17 +00:00
Function DisplayUSBPcapPage
2018-03-16 21:19:59 +00:00
!insertmacro MUI_HEADER_TEXT "USB Capture" "USBPcap is required to capture USB traffic. Should USBPcap be installed (experimental)?"
2018-05-10 00:35:26 +00:00
!insertmacro INSTALLOPTIONS_DISPLAY "USBPcapPage.ini"
2015-10-07 21:27:17 +00:00
FunctionEnd
2001-04-04 04:50:05 +00:00
; ============================================================================
; Installation execution commands
; ============================================================================
2015-10-07 21:27:17 +00:00
Var USBPCAP_UNINSTALL ;declare variable for holding the value of a registry key
2006-05-30 13:19:30 +00:00
;Var WIRESHARK_UNINSTALL ;declare variable for holding the value of a registry key
2005-07-23 20:34:43 +00:00
2001-04-04 04:50:05 +00:00
Section "-Required"
;-------------------------------------------
2002-08-19 15:48:28 +00:00
;
; Install for every user
;
SetShellVarContext all
2001-04-04 04:50:05 +00:00
SetOutPath $INSTDIR
2012-06-14 18:53:55 +00:00
File "${STAGING_DIR}\${UNINSTALLER_NAME}"
2016-06-21 13:31:39 +00:00
File "${STAGING_DIR}\libwiretap.dll"
2012-06-13 21:03:54 +00:00
File "${STAGING_DIR}\libwireshark.dll"
2014-07-10 00:58:30 +00:00
File "${STAGING_DIR}\libwsutil.dll"
2015-01-21 16:41:19 +00:00
!include all-manifest.nsh
2012-06-13 21:03:54 +00:00
File "${STAGING_DIR}\COPYING.txt"
File "${STAGING_DIR}\NEWS.txt"
File "${STAGING_DIR}\README.txt"
File "${STAGING_DIR}\README.windows.txt"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\AUTHORS-SHORT"
File "${STAGING_DIR}\manuf"
2017-07-20 01:32:40 +00:00
File "${STAGING_DIR}\wka"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\services"
File "${STAGING_DIR}\pdml2html.xsl"
File "${STAGING_DIR}\ws.css"
2019-10-10 15:34:46 +00:00
File "${STAGING_DIR}\wireshark.html"
File "${STAGING_DIR}\wireshark-filter.html"
2012-06-13 21:03:54 +00:00
File "${STAGING_DIR}\dumpcap.exe"
2019-10-10 15:34:46 +00:00
File "${STAGING_DIR}\dumpcap.html"
File "${STAGING_DIR}\extcap.html"
Re-implement "Map" feature for Endpoints
This feature was removed in v2.5.1rc0-427-gf529ab5d0a, anticipating that
MaxMind would remove support for it in 2019. They have however changed
their mind and maintained latitude and longitude information.
They recommend displaying an accuracy radius, but the reported values
are 50, 100, 200 and 1000km. When implemented literally, a marker in
Ireland would cover the whole island plus mainland, so I have instead
opted to use a fixed radius of 1km at deeper zoom levels.
The old ipmap.html file was outdated and had broken tiles, I rewrote a
new one from scratch using the light-weight Leaflet library combined
with tiles from OpenStreetMap. This is more mobile-friendly and secure
(https, SRI). To improve handling of nearby or overlapping nodes,
clustering is used (individual nodes can still be inspected).
Browser compatibility results: IE8 is unusable, IE9 partially works
(tooltips sometimes disappear and the cluster radius control is gone),
IE11 works. Of course Firefox 65 and Chromium 72 have no issues.
The map popup description in the generated GeoJSON structure is now
split in several properties, allowing presentation to be handled by the
HTML page instead of the C code.
Bug: 14693
Change-Id: If2ec9c518f7723ac0ab27b6272463356875a0ff2
Reviewed-on: https://code.wireshark.org/review/31952
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-02-09 23:19:54 +00:00
File "${STAGING_DIR}\ipmap.html"
2002-06-01 22:17:22 +00:00
2007-03-26 04:02:05 +00:00
; C-runtime redistributable
2022-01-19 01:09:11 +00:00
; vc_redist.x64.exe or vc_redist.x86.exe - copy and execute the redistributable installer
File "${VCREDIST_DIR}\${VCREDIST_EXE}"
2009-09-17 21:54:52 +00:00
; 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,
2018-03-03 17:55:36 +00:00
; just do a "quiet" install.
; http://asawicki.info/news_1597_installing_visual_c_redistributable_package_from_command_line.html
2022-01-19 01:09:11 +00:00
ExecWait '"$INSTDIR\${VCREDIST_EXE}" /install /quiet /norestart' $0
DetailPrint "${VCREDIST_EXE} returned $0"
2018-12-18 20:47:33 +00:00
; https://docs.microsoft.com/en-us/windows/desktop/Msi/error-codes
!define ERROR_SUCCESS 0
!define ERROR_SUCCESS_REBOOT_INITIATED 1641
2019-02-15 02:49:59 +00:00
!define ERROR_PRODUCT_VERSION 1638
2018-12-18 20:47:33 +00:00
!define ERROR_SUCCESS_REBOOT_REQUIRED 3010
${Switch} $0
${Case} ${ERROR_SUCCESS}
2019-02-15 02:49:59 +00:00
${Case} ${ERROR_PRODUCT_VERSION}
2018-12-18 20:47:33 +00:00
${Break}
${Case} ${ERROR_SUCCESS_REBOOT_INITIATED} ; Shouldn't happen.
${Case} ${ERROR_SUCCESS_REBOOT_REQUIRED}
SetRebootFlag true
${Break}
${Default}
2021-11-25 18:47:22 +00:00
MessageBox MB_OK "The Visual C++ Redistributable installer failed with error $0.$\nUnable to continue installation." /SD IDOK
2018-12-18 20:47:33 +00:00
Abort
${Break}
${EndSwitch}
2022-01-19 01:09:11 +00:00
Delete "$INSTDIR\${VCREDIST_EXE}"
2007-01-13 00:59:39 +00:00
2007-03-26 04:02:05 +00:00
; global config files - don't overwrite if already existing
2005-08-26 00:01:49 +00:00
;IfFileExists cfilters dont_overwrite_cfilters
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\cfilters"
2005-08-26 00:01:49 +00:00
;dont_overwrite_cfilters:
;IfFileExists colorfilters dont_overwrite_colorfilters
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\colorfilters"
2005-08-26 00:01:49 +00:00
;dont_overwrite_colorfilters:
;IfFileExists dfilters dont_overwrite_dfilters
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\dfilters"
2005-08-26 00:01:49 +00:00
;dont_overwrite_dfilters:
2017-07-13 20:03:13 +00:00
;IfFileExists enterprises.tsv dont_overwrite_enterprises_tsv
File "${STAGING_DIR}\enterprises.tsv"
;dont_overwrite_dfilters:
2008-10-27 04:38:21 +00:00
;IfFileExists smi_modules dont_overwrite_smi_modules
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\smi_modules"
2007-08-27 22:06:47 +00:00
;dont_overwrite_smi_modules:
2005-06-09 07:43:32 +00:00
2002-06-01 22:17:22 +00:00
;
; Install the Diameter DTD and XML files in the "diameter" subdirectory
; of the installation directory.
2007-03-26 04:02:05 +00:00
;
2002-06-01 22:17:22 +00:00
SetOutPath $INSTDIR\diameter
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\diameter\AlcatelLucent.xml"
File "${STAGING_DIR}\diameter\chargecontrol.xml"
File "${STAGING_DIR}\diameter\Cisco.xml"
2016-05-20 10:45:47 +00:00
File "${STAGING_DIR}\diameter\CiscoSystems.xml"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\diameter\Custom.xml"
File "${STAGING_DIR}\diameter\dictionary.dtd"
File "${STAGING_DIR}\diameter\dictionary.xml"
File "${STAGING_DIR}\diameter\eap.xml"
File "${STAGING_DIR}\diameter\Ericsson.xml"
File "${STAGING_DIR}\diameter\etsie2e4.xml"
File "${STAGING_DIR}\diameter\HP.xml"
2017-10-27 18:33:50 +00:00
File "${STAGING_DIR}\diameter\Huawei.xml"
2017-05-29 00:24:52 +00:00
File "${STAGING_DIR}\diameter\Inovar.xml"
2017-04-18 14:39:46 +00:00
File "${STAGING_DIR}\diameter\Juniper.xml"
2020-09-28 14:30:22 +00:00
File "${STAGING_DIR}\diameter\Metaswitch.xml"
2019-08-14 23:19:33 +00:00
File "${STAGING_DIR}\diameter\Microsoft.xml"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\diameter\mobileipv4.xml"
File "${STAGING_DIR}\diameter\mobileipv6.xml"
File "${STAGING_DIR}\diameter\nasreq.xml"
File "${STAGING_DIR}\diameter\Nokia.xml"
File "${STAGING_DIR}\diameter\NokiaSolutionsAndNetworks.xml"
2015-04-17 18:19:00 +00:00
File "${STAGING_DIR}\diameter\Oracle.xml"
2019-06-04 11:03:07 +00:00
File "${STAGING_DIR}\diameter\Siemens.xml"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\diameter\sip.xml"
File "${STAGING_DIR}\diameter\Starent.xml"
File "${STAGING_DIR}\diameter\sunping.xml"
2019-06-04 11:03:07 +00:00
File "${STAGING_DIR}\diameter\Telefonica.xml"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\diameter\TGPP.xml"
File "${STAGING_DIR}\diameter\TGPP2.xml"
File "${STAGING_DIR}\diameter\Vodafone.xml"
2018-03-22 20:24:56 +00:00
File "${STAGING_DIR}\diameter\VerizonWireless.xml"
2013-08-21 19:53:57 +00:00
!include "custom_diameter_xmls.txt"
2002-06-01 22:17:22 +00:00
SetOutPath $INSTDIR
2001-04-04 04:50:05 +00:00
2005-07-15 22:36:21 +00:00
;
; Install the RADIUS directory files in the "radius" subdirectory
; of the installation directory.
;
2005-07-15 21:18:32 +00:00
SetOutPath $INSTDIR\radius
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\radius\README.radius_dictionary"
File "${STAGING_DIR}\radius\custom.includes"
File "${STAGING_DIR}\radius\dictionary"
File "${STAGING_DIR}\radius\dictionary.3com"
File "${STAGING_DIR}\radius\dictionary.3gpp"
File "${STAGING_DIR}\radius\dictionary.3gpp2"
File "${STAGING_DIR}\radius\dictionary.acc"
File "${STAGING_DIR}\radius\dictionary.acme"
File "${STAGING_DIR}\radius\dictionary.actelis"
File "${STAGING_DIR}\radius\dictionary.aerohive"
2017-05-31 17:02:21 +00:00
File "${STAGING_DIR}\radius\dictionary.airespace"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\radius\dictionary.alcatel"
2017-05-31 17:02:21 +00:00
File "${STAGING_DIR}\radius\dictionary.alcatel-lucent.aaa"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\radius\dictionary.alcatel.esam"
File "${STAGING_DIR}\radius\dictionary.alcatel.sr"
File "${STAGING_DIR}\radius\dictionary.alteon"
File "${STAGING_DIR}\radius\dictionary.altiga"
File "${STAGING_DIR}\radius\dictionary.alvarion"
File "${STAGING_DIR}\radius\dictionary.alvarion.wimax.v2_2"
File "${STAGING_DIR}\radius\dictionary.apc"
2019-09-20 10:37:57 +00:00
File "${STAGING_DIR}\radius\dictionary.aptilo"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\radius\dictionary.aptis"
File "${STAGING_DIR}\radius\dictionary.arbor"
2017-05-31 17:02:21 +00:00
File "${STAGING_DIR}\radius\dictionary.aruba"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\radius\dictionary.ascend"
File "${STAGING_DIR}\radius\dictionary.asn"
File "${STAGING_DIR}\radius\dictionary.audiocodes"
File "${STAGING_DIR}\radius\dictionary.avaya"
File "${STAGING_DIR}\radius\dictionary.azaire"
File "${STAGING_DIR}\radius\dictionary.bay"
File "${STAGING_DIR}\radius\dictionary.bintec"
2017-05-31 17:02:21 +00:00
File "${STAGING_DIR}\radius\dictionary.bluecoat"
File "${STAGING_DIR}\radius\dictionary.bristol"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\radius\dictionary.broadsoft"
File "${STAGING_DIR}\radius\dictionary.brocade"
File "${STAGING_DIR}\radius\dictionary.bskyb"
File "${STAGING_DIR}\radius\dictionary.bt"
File "${STAGING_DIR}\radius\dictionary.cablelabs"
File "${STAGING_DIR}\radius\dictionary.cabletron"
2017-05-31 17:02:21 +00:00
File "${STAGING_DIR}\radius\dictionary.camiant"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\radius\dictionary.chillispot"
File "${STAGING_DIR}\radius\dictionary.cisco"
File "${STAGING_DIR}\radius\dictionary.cisco.asa"
File "${STAGING_DIR}\radius\dictionary.cisco.bbsm"
File "${STAGING_DIR}\radius\dictionary.cisco.vpn3000"
File "${STAGING_DIR}\radius\dictionary.cisco.vpn5000"
File "${STAGING_DIR}\radius\dictionary.citrix"
File "${STAGING_DIR}\radius\dictionary.clavister"
2017-02-20 14:01:18 +00:00
File "${STAGING_DIR}\radius\dictionary.cnergee"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\radius\dictionary.colubris"
File "${STAGING_DIR}\radius\dictionary.columbia_university"
File "${STAGING_DIR}\radius\dictionary.compat"
2017-05-31 17:02:21 +00:00
File "${STAGING_DIR}\radius\dictionary.compatible"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\radius\dictionary.cosine"
File "${STAGING_DIR}\radius\dictionary.dante"
2017-05-29 17:03:37 +00:00
File "${STAGING_DIR}\radius\dictionary.dellemc"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\radius\dictionary.dhcp"
File "${STAGING_DIR}\radius\dictionary.digium"
2017-05-31 17:02:21 +00:00
File "${STAGING_DIR}\radius\dictionary.dlink"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\radius\dictionary.dragonwave"
File "${STAGING_DIR}\radius\dictionary.efficientip"
File "${STAGING_DIR}\radius\dictionary.eltex"
2020-08-12 17:10:11 +00:00
File "${STAGING_DIR}\radius\dictionary.enterasys"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\radius\dictionary.epygi"
File "${STAGING_DIR}\radius\dictionary.equallogic"
File "${STAGING_DIR}\radius\dictionary.ericsson"
File "${STAGING_DIR}\radius\dictionary.ericsson.ab"
File "${STAGING_DIR}\radius\dictionary.ericsson.packet.core.networks"
File "${STAGING_DIR}\radius\dictionary.extreme"
File "${STAGING_DIR}\radius\dictionary.f5"
File "${STAGING_DIR}\radius\dictionary.fdxtended"
File "${STAGING_DIR}\radius\dictionary.fortinet"
File "${STAGING_DIR}\radius\dictionary.foundry"
File "${STAGING_DIR}\radius\dictionary.freedhcp"
File "${STAGING_DIR}\radius\dictionary.freeradius"
File "${STAGING_DIR}\radius\dictionary.freeradius.internal"
File "${STAGING_DIR}\radius\dictionary.freeswitch"
File "${STAGING_DIR}\radius\dictionary.gandalf"
File "${STAGING_DIR}\radius\dictionary.garderos"
File "${STAGING_DIR}\radius\dictionary.gemtek"
File "${STAGING_DIR}\radius\dictionary.h3c"
File "${STAGING_DIR}\radius\dictionary.hp"
File "${STAGING_DIR}\radius\dictionary.huawei"
File "${STAGING_DIR}\radius\dictionary.iana"
2020-08-12 17:10:11 +00:00
File "${STAGING_DIR}\radius\dictionary.identity_engines"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\radius\dictionary.iea"
File "${STAGING_DIR}\radius\dictionary.infoblox"
File "${STAGING_DIR}\radius\dictionary.infonet"
File "${STAGING_DIR}\radius\dictionary.ipunplugged"
File "${STAGING_DIR}\radius\dictionary.issanni"
File "${STAGING_DIR}\radius\dictionary.itk"
File "${STAGING_DIR}\radius\dictionary.jradius"
File "${STAGING_DIR}\radius\dictionary.juniper"
File "${STAGING_DIR}\radius\dictionary.karlnet"
2017-05-31 17:02:21 +00:00
File "${STAGING_DIR}\radius\dictionary.kineto"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\radius\dictionary.lancom"
File "${STAGING_DIR}\radius\dictionary.livingston"
File "${STAGING_DIR}\radius\dictionary.localweb"
File "${STAGING_DIR}\radius\dictionary.lucent"
File "${STAGING_DIR}\radius\dictionary.manzara"
File "${STAGING_DIR}\radius\dictionary.meinberg"
2019-03-29 16:04:09 +00:00
File "${STAGING_DIR}\radius\dictionary.meraki"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\radius\dictionary.merit"
File "${STAGING_DIR}\radius\dictionary.meru"
2016-11-21 11:13:04 +00:00
File "${STAGING_DIR}\radius\dictionary.microsemi"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\radius\dictionary.microsoft"
File "${STAGING_DIR}\radius\dictionary.mikrotik"
File "${STAGING_DIR}\radius\dictionary.motorola"
File "${STAGING_DIR}\radius\dictionary.motorola.wimax"
File "${STAGING_DIR}\radius\dictionary.navini"
File "${STAGING_DIR}\radius\dictionary.netscreen"
File "${STAGING_DIR}\radius\dictionary.networkphysics"
File "${STAGING_DIR}\radius\dictionary.nexans"
File "${STAGING_DIR}\radius\dictionary.nokia"
File "${STAGING_DIR}\radius\dictionary.nokia.conflict"
File "${STAGING_DIR}\radius\dictionary.nomadix"
File "${STAGING_DIR}\radius\dictionary.nortel"
File "${STAGING_DIR}\radius\dictionary.ntua"
File "${STAGING_DIR}\radius\dictionary.openser"
File "${STAGING_DIR}\radius\dictionary.packeteer"
File "${STAGING_DIR}\radius\dictionary.paloalto"
File "${STAGING_DIR}\radius\dictionary.patton"
File "${STAGING_DIR}\radius\dictionary.perle"
File "${STAGING_DIR}\radius\dictionary.propel"
File "${STAGING_DIR}\radius\dictionary.prosoft"
File "${STAGING_DIR}\radius\dictionary.proxim"
File "${STAGING_DIR}\radius\dictionary.purewave"
File "${STAGING_DIR}\radius\dictionary.quiconnect"
File "${STAGING_DIR}\radius\dictionary.quintum"
File "${STAGING_DIR}\radius\dictionary.redcreek"
File "${STAGING_DIR}\radius\dictionary.rfc2865"
File "${STAGING_DIR}\radius\dictionary.rfc2866"
File "${STAGING_DIR}\radius\dictionary.rfc2867"
File "${STAGING_DIR}\radius\dictionary.rfc2868"
File "${STAGING_DIR}\radius\dictionary.rfc2869"
File "${STAGING_DIR}\radius\dictionary.rfc3162"
File "${STAGING_DIR}\radius\dictionary.rfc3576"
File "${STAGING_DIR}\radius\dictionary.rfc3580"
File "${STAGING_DIR}\radius\dictionary.rfc4072"
File "${STAGING_DIR}\radius\dictionary.rfc4372"
File "${STAGING_DIR}\radius\dictionary.rfc4603"
File "${STAGING_DIR}\radius\dictionary.rfc4675"
File "${STAGING_DIR}\radius\dictionary.rfc4679"
File "${STAGING_DIR}\radius\dictionary.rfc4818"
File "${STAGING_DIR}\radius\dictionary.rfc4849"
File "${STAGING_DIR}\radius\dictionary.rfc5090"
File "${STAGING_DIR}\radius\dictionary.rfc5176"
File "${STAGING_DIR}\radius\dictionary.rfc5447"
File "${STAGING_DIR}\radius\dictionary.rfc5580"
File "${STAGING_DIR}\radius\dictionary.rfc5607"
File "${STAGING_DIR}\radius\dictionary.rfc5904"
File "${STAGING_DIR}\radius\dictionary.rfc6519"
File "${STAGING_DIR}\radius\dictionary.rfc6572"
File "${STAGING_DIR}\radius\dictionary.rfc6677"
File "${STAGING_DIR}\radius\dictionary.rfc6911"
File "${STAGING_DIR}\radius\dictionary.rfc6929"
File "${STAGING_DIR}\radius\dictionary.rfc6930"
File "${STAGING_DIR}\radius\dictionary.rfc7055"
File "${STAGING_DIR}\radius\dictionary.rfc7155"
File "${STAGING_DIR}\radius\dictionary.rfc7268"
2015-04-07 16:01:28 +00:00
File "${STAGING_DIR}\radius\dictionary.rfc7499"
2016-11-21 11:06:43 +00:00
File "${STAGING_DIR}\radius\dictionary.rfc7930"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\radius\dictionary.riverbed"
File "${STAGING_DIR}\radius\dictionary.riverstone"
File "${STAGING_DIR}\radius\dictionary.roaringpenguin"
File "${STAGING_DIR}\radius\dictionary.ruckus"
File "${STAGING_DIR}\radius\dictionary.ruggedcom"
2016-06-11 04:14:35 +00:00
File "${STAGING_DIR}\radius\dictionary.sangoma"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\radius\dictionary.sg"
File "${STAGING_DIR}\radius\dictionary.shasta"
File "${STAGING_DIR}\radius\dictionary.shiva"
File "${STAGING_DIR}\radius\dictionary.siemens"
File "${STAGING_DIR}\radius\dictionary.slipstream"
File "${STAGING_DIR}\radius\dictionary.sofaware"
File "${STAGING_DIR}\radius\dictionary.sonicwall"
File "${STAGING_DIR}\radius\dictionary.springtide"
File "${STAGING_DIR}\radius\dictionary.starent"
File "${STAGING_DIR}\radius\dictionary.starent.vsa1"
File "${STAGING_DIR}\radius\dictionary.surfnet"
File "${STAGING_DIR}\radius\dictionary.symbol"
File "${STAGING_DIR}\radius\dictionary.t_systems_nova"
File "${STAGING_DIR}\radius\dictionary.telebit"
File "${STAGING_DIR}\radius\dictionary.telkom"
File "${STAGING_DIR}\radius\dictionary.terena"
File "${STAGING_DIR}\radius\dictionary.trapeze"
File "${STAGING_DIR}\radius\dictionary.travelping"
File "${STAGING_DIR}\radius\dictionary.tropos"
File "${STAGING_DIR}\radius\dictionary.ukerna"
2017-05-31 11:13:56 +00:00
File "${STAGING_DIR}\radius\dictionary.unisphere"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\radius\dictionary.unix"
File "${STAGING_DIR}\radius\dictionary.usr"
File "${STAGING_DIR}\radius\dictionary.utstarcom"
File "${STAGING_DIR}\radius\dictionary.valemount"
File "${STAGING_DIR}\radius\dictionary.versanet"
2018-09-12 06:10:53 +00:00
File "${STAGING_DIR}\radius\dictionary.verizon"
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\radius\dictionary.vqp"
File "${STAGING_DIR}\radius\dictionary.walabi"
File "${STAGING_DIR}\radius\dictionary.waverider"
File "${STAGING_DIR}\radius\dictionary.wichorus"
File "${STAGING_DIR}\radius\dictionary.wimax"
File "${STAGING_DIR}\radius\dictionary.wimax.alvarion"
File "${STAGING_DIR}\radius\dictionary.wimax.wichorus"
File "${STAGING_DIR}\radius\dictionary.wispr"
File "${STAGING_DIR}\radius\dictionary.xedia"
File "${STAGING_DIR}\radius\dictionary.xylan"
File "${STAGING_DIR}\radius\dictionary.yubico"
File "${STAGING_DIR}\radius\dictionary.zeus"
File "${STAGING_DIR}\radius\dictionary.zte"
File "${STAGING_DIR}\radius\dictionary.zyxel"
2013-01-23 12:08:15 +00:00
!include "custom_radius_dict.txt"
2005-07-15 21:18:32 +00:00
SetOutPath $INSTDIR
2005-09-17 17:17:42 +00:00
;
; install the dtds in the dtds subdirectory
;
SetOutPath $INSTDIR\dtds
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\dtds\dc.dtd"
File "${STAGING_DIR}\dtds\itunes.dtd"
File "${STAGING_DIR}\dtds\mscml.dtd"
File "${STAGING_DIR}\dtds\pocsettings.dtd"
File "${STAGING_DIR}\dtds\presence.dtd"
File "${STAGING_DIR}\dtds\reginfo.dtd"
File "${STAGING_DIR}\dtds\rlmi.dtd"
File "${STAGING_DIR}\dtds\rss.dtd"
File "${STAGING_DIR}\dtds\smil.dtd"
File "${STAGING_DIR}\dtds\xcap-caps.dtd"
File "${STAGING_DIR}\dtds\xcap-error.dtd"
File "${STAGING_DIR}\dtds\watcherinfo.dtd"
2005-09-17 17:17:42 +00:00
SetOutPath $INSTDIR
2017-09-22 10:46:29 +00:00
; Create the extcap directory
CreateDirectory $INSTDIR\extcap
2021-04-10 18:15:34 +00:00
;
; install the protobuf .proto definitions in the protobuf subdirectory
;
SetOutPath $INSTDIR\protobuf
2021-05-21 08:38:54 +00:00
File "${STAGING_DIR}\protobuf\*.proto"
2021-04-10 18:15:34 +00:00
2007-11-11 13:23:17 +00:00
; Install the TPNCP DAT file in the "tpncp" subdirectory
; of the installation directory.
SetOutPath $INSTDIR\tpncp
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\tpncp\tpncp.dat"
2007-10-12 10:01:41 +00:00
;
; install the wimaxasncp TLV definitions in the wimaxasncp subdirectory
;
SetOutPath $INSTDIR\wimaxasncp
2015-01-06 23:07:50 +00:00
File "${STAGING_DIR}\wimaxasncp\dictionary.xml"
File "${STAGING_DIR}\wimaxasncp\dictionary.dtd"
2007-10-12 10:01:41 +00:00
SetOutPath $INSTDIR
2001-04-04 04:50:05 +00:00
; Write the uninstall keys for Windows
2019-07-27 07:54:44 +00:00
; https://nsis.sourceforge.io/Add_uninstall_information_to_Add/Remove_Programs
; https://docs.microsoft.com/en-us/previous-versions/ms954376(v=msdn.10)
; https://docs.microsoft.com/en-us/windows/win32/msi/uninstall-registry-key
2012-04-04 00:47:21 +00:00
!define UNINSTALL_PATH "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PROGRAM_NAME}"
WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "Comments" "${DISPLAY_NAME}"
2016-09-08 18:24:34 +00:00
!ifdef QT_DIR
2018-05-10 00:35:26 +00:00
WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "DisplayIcon" "$INSTDIR\${PROGRAM_NAME_PATH},0"
2016-09-08 18:24:34 +00:00
!endif
2012-04-04 00:47:21 +00:00
WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "DisplayName" "${DISPLAY_NAME}"
WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "DisplayVersion" "${VERSION}"
2015-03-10 17:46:50 +00:00
WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "HelpLink" "https://ask.wireshark.org/"
2012-04-04 00:47:21 +00:00
WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "InstallLocation" "$INSTDIR"
2015-03-10 17:46:50 +00:00
WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "Publisher" "The Wireshark developer community, https://www.wireshark.org"
WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "URLInfoAbout" "https://www.wireshark.org"
WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "URLUpdateInfo" "https://www.wireshark.org/download.html"
2012-04-04 00:47:21 +00:00
WriteRegDWORD HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "NoModify" 1
WriteRegDWORD HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "NoRepair" 1
WriteRegDWORD HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "VersionMajor" ${VERSION_MAJOR}
WriteRegDWORD HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "VersionMinor" ${VERSION_MINOR}
2012-06-14 18:53:55 +00:00
WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "UninstallString" '"$INSTDIR\${UNINSTALLER_NAME}"'
WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "QuietUninstallString" '"$INSTDIR\${UNINSTALLER_NAME}" /S'
2012-04-04 00:47:21 +00:00
2019-07-27 07:54:44 +00:00
; To quote https://web.archive.org/web/20150911221413/http://download.microsoft.com/download/0/4/6/046bbd36-0812-4c22-a870-41911c6487a6/WindowsUserExperience.pdf:
2005-07-23 20:34:43 +00:00
; "Do not include Readme, Help, or Uninstall entries on the Programs menu."
2012-10-16 08:08:18 +00:00
Delete "$SMPROGRAMS\${PROGRAM_NAME}\Wireshark Web Site.lnk"
2005-07-23 20:34:43 +00:00
2018-05-10 00:35:26 +00:00
; Create file extensions if the Associated Tasks page check box
; is checked.
${If} $FILE_ASSOCIATE_STATE == ${BST_CHECKED}
2014-01-05 17:16:03 +00:00
WriteRegStr HKCR ${WIRESHARK_ASSOC} "" "Wireshark capture file"
2018-05-10 00:35:26 +00:00
WriteRegStr HKCR "${WIRESHARK_ASSOC}\Shell\open\command" "" '"$INSTDIR\${PROGRAM_NAME_PATH}" "%1"'
WriteRegStr HKCR "${WIRESHARK_ASSOC}\DefaultIcon" "" '"$INSTDIR\${PROGRAM_NAME_PATH}",1'
2013-06-06 18:46:37 +00:00
; We refresh the icon cache down in -Finally.
2012-06-13 19:06:27 +00:00
Call Associate
2018-05-10 00:35:26 +00:00
; If you add something here be sure to sync it with the uninstall section and the
; AdditionalTasks page
${Endif}
2014-01-05 17:16:03 +00:00
2018-11-29 01:08:27 +00:00
; if running as a silent installer, don't try to install npcap
IfSilent SecRequired_skip_Npcap
; Install Npcap (depending on npcap page setting)
ReadINIStr $0 "$PLUGINSDIR\NpcapPage.ini" "Field 4" "State"
StrCmp $0 "0" SecRequired_skip_Npcap
2005-07-23 20:34:43 +00:00
SetOutPath $INSTDIR
2019-03-18 23:32:54 +00:00
File "${EXTRA_INSTALLER_DIR}\npcap-${NPCAP_PACKAGE_VERSION}.exe"
2019-11-06 11:17:30 +00:00
ExecWait '"$INSTDIR\npcap-${NPCAP_PACKAGE_VERSION}.exe" /winpcap_mode=no /loopback_support=no' $0
2018-11-29 01:08:27 +00:00
DetailPrint "Npcap installer returned $0"
SecRequired_skip_Npcap:
2005-07-23 20:34:43 +00:00
2015-10-07 21:27:17 +00:00
; If running as a silent installer, don't try to install USBPcap
IfSilent SecRequired_skip_USBPcap
ReadINIStr $0 "$PLUGINSDIR\USBPcapPage.ini" "Field 4" "State"
StrCmp $0 "0" SecRequired_skip_USBPcap
SetOutPath $INSTDIR
2019-03-18 23:32:54 +00:00
File "${EXTRA_INSTALLER_DIR}\USBPcapSetup-${USBPCAP_PACKAGE_VERSION}.exe"
2018-11-29 01:08:27 +00:00
ExecWait '"$INSTDIR\USBPcapSetup-${USBPCAP_PACKAGE_VERSION}.exe"' $0
2015-10-07 21:27:17 +00:00
DetailPrint "USBPcap installer returned $0"
${If} $0 == "0"
${If} ${RunningX64}
${DisableX64FSRedirection}
SetRegView 64
${EndIf}
ReadRegStr $USBPCAP_UNINSTALL HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\USBPcap" "UninstallString"
${If} ${RunningX64}
${EnableX64FSRedirection}
SetRegView 32
${EndIf}
${StrRep} $0 '$USBPCAP_UNINSTALL' 'Uninstall.exe' 'USBPcapCMD.exe'
${StrRep} $1 '$0' '"' ''
CopyFiles /SILENT $1 $INSTDIR\extcap
SetRebootFlag true
${EndIf}
SecRequired_skip_USBPcap:
2006-07-04 18:40:51 +00:00
; If no user profile exists for Wireshark but for Ethereal, copy it over
SetShellVarContext current
IfFileExists $APPDATA\Wireshark profile_done
IfFileExists $APPDATA\Ethereal 0 profile_done
;MessageBox MB_YESNO "This seems to be the first time you use Wireshark. Copy over the personal settings from Ethereal?" /SD IDYES IDNO profile_done
CreateDirectory $APPDATA\Wireshark
CopyFiles $APPDATA\Ethereal\*.* $APPDATA\Wireshark
profile_done:
SetShellVarContext all
2005-07-23 20:34:43 +00:00
SectionEnd ; "Required"
2014-07-30 01:31:43 +00:00
!ifdef QT_DIR
Section "${PROGRAM_NAME}" SecWiresharkQt
;-------------------------------------------
2016-09-08 18:24:34 +00:00
; by default, Wireshark.exe is installed
2014-07-30 01:31:43 +00:00
SetOutPath $INSTDIR
2018-05-10 00:35:26 +00:00
File "${QT_DIR}\${PROGRAM_NAME_PATH}"
2016-09-08 18:24:34 +00:00
; Write an entry for ShellExecute
2018-05-10 00:35:26 +00:00
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\${PROGRAM_NAME_PATH}" "" '$INSTDIR\${PROGRAM_NAME_PATH}'
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\${PROGRAM_NAME_PATH}" "Path" '$INSTDIR'
2014-08-05 15:23:41 +00:00
!include qt-dll-manifest.nsh
2020-01-08 23:59:26 +00:00
2015-07-15 19:32:44 +00:00
${!defineifexist} TRANSLATIONS_FOLDER "${QT_DIR}\translations"
2020-01-08 23:59:26 +00:00
SetOutPath $INSTDIR
2015-07-15 19:32:44 +00:00
!ifdef TRANSLATIONS_FOLDER
; Starting from Qt 5.5, *.qm files are put in a translations subfolder
File /r "${QT_DIR}\translations"
!else
File "${QT_DIR}\*.qm"
!endif
2014-07-30 01:31:43 +00:00
2018-05-10 00:35:26 +00:00
; Is the Start Menu check box checked?
${If} $START_MENU_STATE == ${BST_CHECKED}
CreateShortCut "$SMPROGRAMS\${PROGRAM_NAME}.lnk" "$INSTDIR\${PROGRAM_NAME_PATH}" "" "$INSTDIR\${PROGRAM_NAME_PATH}" 0 "" "" "${PROGRAM_FULL_NAME}"
${Endif}
${If} $DESKTOP_ICON_STATE == ${BST_CHECKED}
CreateShortCut "$DESKTOP\${PROGRAM_NAME}.lnk" "$INSTDIR\${PROGRAM_NAME_PATH}" "" "$INSTDIR\${PROGRAM_NAME_PATH}" 0 "" "" "${PROGRAM_FULL_NAME}"
${Endif}
${If} $QUICK_LAUNCH_STATE == ${BST_CHECKED}
CreateShortCut "$QUICKLAUNCH\${PROGRAM_NAME}.lnk" "$INSTDIR\${PROGRAM_NAME_PATH}" "" "$INSTDIR\${PROGRAM_NAME_PATH}" 0 "" "" "${PROGRAM_FULL_NAME}"
${Endif}
2014-08-05 15:23:41 +00:00
SectionEnd ; "SecWiresharkQt"
2014-07-30 01:31:43 +00:00
!endif
Section "TShark" SecTShark
;-------------------------------------------
SetOutPath $INSTDIR
File "${STAGING_DIR}\tshark.exe"
2019-10-10 15:34:46 +00:00
File "${STAGING_DIR}\tshark.html"
2014-07-30 01:31:43 +00:00
SectionEnd
SectionGroup "Plugins & Extensions" SecPluginsGroup
2001-04-04 04:50:05 +00:00
2005-03-07 22:31:13 +00:00
Section "Dissector Plugins" SecPlugins
2001-04-04 04:50:05 +00:00
;-------------------------------------------
2017-09-30 23:56:03 +00:00
SetOutPath '$INSTDIR\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\epan'
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\epan\ethercat.dll"
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\epan\gryphon.dll"
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\epan\irda.dll"
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\epan\opcua.dll"
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\epan\profinet.dll"
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\epan\unistim.dll"
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\epan\wimax.dll"
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\epan\wimaxasncp.dll"
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\epan\wimaxmacphy.dll"
2010-01-11 14:48:28 +00:00
!include "custom_plugins.txt"
2005-03-07 22:31:13 +00:00
SectionEnd
2005-07-26 17:58:17 +00:00
Section "Tree Statistics Plugin" SecStatsTree
2005-03-07 22:31:13 +00:00
;-------------------------------------------
2017-09-30 23:56:03 +00:00
SetOutPath '$INSTDIR\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\epan'
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\epan\stats_tree.dll"
2001-07-12 22:45:23 +00:00
SectionEnd
2001-04-04 04:50:05 +00:00
2005-07-21 20:05:37 +00:00
Section "Mate - Meta Analysis and Tracing Engine" SecMate
2005-01-21 19:16:05 +00:00
;-------------------------------------------
2017-09-30 23:56:03 +00:00
SetOutPath '$INSTDIR\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\epan'
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\epan\mate.dll"
2005-01-21 19:16:05 +00:00
SectionEnd
2016-12-12 20:42:14 +00:00
Section "TRANSUM - network and application performance analysis" SecTransum
;-------------------------------------------
2017-09-30 23:56:03 +00:00
SetOutPath '$INSTDIR\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\epan'
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\epan\transum.dll"
2016-12-12 20:42:14 +00:00
SectionEnd
2018-01-26 23:46:32 +00:00
Section "File type plugins - capture file support" SecWiretap
;-------------------------------------------
SetOutPath '$INSTDIR\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\wiretap'
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\wiretap\usbdump.dll"
SectionEnd
2018-02-27 07:22:25 +00:00
Section "Codec plugins" SecCodec
;-------------------------------------------
SetOutPath '$INSTDIR\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\codecs'
2019-06-11 21:48:12 +00:00
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\codecs\g711.dll"
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\codecs\g722.dll"
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\codecs\g726.dll"
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\codecs\g729.dll"
2018-02-27 07:22:25 +00:00
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\codecs\l16mono.dll"
2019-06-11 21:48:12 +00:00
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\codecs\sbc.dll"
2019-11-18 22:55:25 +00:00
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\codecs\ilbc.dll"
2020-09-29 04:33:06 +00:00
File "${STAGING_DIR}\plugins\${VERSION_MAJOR}.${VERSION_MINOR}\codecs\opus_dec.dll"
2018-02-27 07:22:25 +00:00
SectionEnd
2013-05-01 22:22:10 +00:00
Section "Configuration Profiles" SecProfiles
2013-05-01 22:06:49 +00:00
;-------------------------------------------
; This should be a function or macro
SetOutPath '$INSTDIR\profiles\Bluetooth'
File "${STAGING_DIR}\profiles\Bluetooth\colorfilters"
SetOutPath '$INSTDIR\profiles\Classic'
File "${STAGING_DIR}\profiles\Classic\colorfilters"
2018-11-27 00:27:38 +00:00
SetOutPath '$INSTDIR\profiles\No Reassembly'
File "${STAGING_DIR}\profiles\No Reassembly\preferences"
2013-05-01 22:06:49 +00:00
SectionEnd
2006-02-07 09:12:43 +00:00
2007-08-27 06:40:36 +00:00
!ifdef SMI_DIR
Section "SNMP MIBs" SecMIBs
;-------------------------------------------
2015-03-24 21:44:13 +00:00
SetOutPath '$INSTDIR\snmp\mibs'
2011-06-27 20:48:26 +00:00
File "${SMI_DIR}\share\mibs\iana\*"
File "${SMI_DIR}\share\mibs\ietf\*"
File "${SMI_DIR}\share\mibs\irtf\*"
File "${SMI_DIR}\share\mibs\tubs\*"
File "${SMI_DIR}\share\pibs\*"
File "${SMI_DIR}\share\yang\*.yang"
2012-07-19 08:02:50 +00:00
!include "custom_mibs.txt"
2007-08-27 06:40:36 +00:00
SectionEnd
!endif
2014-01-05 18:16:22 +00:00
SectionGroupEnd ; "Plugins / Extensions"
2005-07-21 20:05:37 +00:00
2005-07-23 20:34:43 +00:00
SectionGroup "Tools" SecToolsGroup
2005-07-21 20:05:37 +00:00
Section "Editcap" SecEditcap
;-------------------------------------------
SetOutPath $INSTDIR
2012-06-13 21:03:54 +00:00
File "${STAGING_DIR}\editcap.exe"
2019-10-10 15:34:46 +00:00
File "${STAGING_DIR}\editcap.html"
2005-07-21 20:05:37 +00:00
SectionEnd
Section "Text2Pcap" SecText2Pcap
;-------------------------------------------
SetOutPath $INSTDIR
2012-06-13 21:03:54 +00:00
File "${STAGING_DIR}\text2pcap.exe"
2019-10-10 15:34:46 +00:00
File "${STAGING_DIR}\text2pcap.html"
2005-07-21 20:05:37 +00:00
SectionEnd
Section "Mergecap" SecMergecap
;-------------------------------------------
SetOutPath $INSTDIR
2012-06-13 21:03:54 +00:00
File "${STAGING_DIR}\mergecap.exe"
2019-10-10 15:34:46 +00:00
File "${STAGING_DIR}\mergecap.html"
2005-07-21 20:05:37 +00:00
SectionEnd
2012-09-24 11:59:49 +00:00
Section "Reordercap" SecReordercap
;-------------------------------------------
SetOutPath $INSTDIR
File "${STAGING_DIR}\reordercap.exe"
2019-10-10 15:34:46 +00:00
File "${STAGING_DIR}\reordercap.html"
2012-09-24 11:59:49 +00:00
SectionEnd
2017-06-23 12:13:06 +00:00
Section "DFTest" SecDFTest
;-------------------------------------------
SetOutPath $INSTDIR
File "${STAGING_DIR}\dftest.exe"
2019-10-10 15:34:46 +00:00
File "${STAGING_DIR}\dftest.html"
2017-06-23 12:13:06 +00:00
SectionEnd
2005-07-21 20:05:37 +00:00
Section "Capinfos" SecCapinfos
;-------------------------------------------
SetOutPath $INSTDIR
2012-06-13 21:03:54 +00:00
File "${STAGING_DIR}\capinfos.exe"
2019-10-10 15:34:46 +00:00
File "${STAGING_DIR}\capinfos.html"
2005-07-21 20:05:37 +00:00
SectionEnd
2021-10-13 17:32:26 +00:00
Section "Captype" SecCaptype
;-------------------------------------------
SetOutPath $INSTDIR
File "${STAGING_DIR}\captype.exe"
File "${STAGING_DIR}\captype.html"
SectionEnd
2008-06-26 16:42:07 +00:00
Section "Rawshark" SecRawshark
;-------------------------------------------
SetOutPath $INSTDIR
2012-06-13 21:03:54 +00:00
File "${STAGING_DIR}\rawshark.exe"
2019-10-10 15:34:46 +00:00
File "${STAGING_DIR}\rawshark.html"
2008-06-26 16:42:07 +00:00
SectionEnd
2019-01-11 21:13:48 +00:00
Section /o "Randpkt" SecRandpkt
;-------------------------------------------
SetOutPath $INSTDIR
2019-01-12 18:26:35 +00:00
File "${STAGING_DIR}\randpkt.exe"
2019-10-10 15:34:46 +00:00
File "${STAGING_DIR}\randpkt.html"
2019-01-11 21:13:48 +00:00
SectionEnd
2018-03-06 23:29:34 +00:00
!ifdef MMDBRESOLVE_EXE
2018-03-07 21:10:31 +00:00
Section "MMDBResolve" SecMMDBResolve
2018-02-09 01:20:26 +00:00
;-------------------------------------------
SetOutPath $INSTDIR
2019-10-10 15:34:46 +00:00
File "${STAGING_DIR}\mmdbresolve.html"
2018-02-09 01:20:26 +00:00
SetOutPath $INSTDIR
File "${STAGING_DIR}\mmdbresolve.exe"
SectionEnd
2018-03-06 23:29:34 +00:00
!endif
2018-02-09 01:20:26 +00:00
2020-05-12 18:48:10 +00:00
Section /o "Androiddump" SecAndroiddump
2015-04-12 17:41:39 +00:00
;-------------------------------------------
2020-05-12 18:48:10 +00:00
!insertmacro InstallExtcap "androiddump"
2015-04-12 17:41:39 +00:00
SectionEnd
2020-05-12 18:48:10 +00:00
!insertmacro CheckExtrasFlag "androiddump"
2015-04-12 17:41:39 +00:00
2020-05-12 18:48:10 +00:00
Section /o "Sshdump and Ciscodump" SecSshdump
2015-11-19 10:30:44 +00:00
;-------------------------------------------
2020-05-12 18:48:10 +00:00
!insertmacro InstallExtcap "sshdump"
!insertmacro InstallExtcap "ciscodump"
2015-11-24 22:03:13 +00:00
SectionEnd
2020-05-12 18:48:10 +00:00
!insertmacro CheckExtrasFlag "sshdump"
!insertmacro CheckExtrasFlag "ciscodump"
2015-11-19 10:30:44 +00:00
2020-05-12 18:48:10 +00:00
Section /o "UDPdump" SecUDPdump
2016-09-16 18:59:06 +00:00
;-------------------------------------------
2020-05-12 18:48:10 +00:00
!insertmacro InstallExtcap "udpdump"
2016-09-16 18:59:06 +00:00
SectionEnd
2020-05-12 18:48:10 +00:00
!insertmacro CheckExtrasFlag "udpdump"
2016-09-16 18:59:06 +00:00
2020-05-12 18:48:10 +00:00
Section /o "Randpktdump" SecRandpktdump
2015-11-05 17:31:11 +00:00
;-------------------------------------------
2020-05-12 18:48:10 +00:00
!insertmacro InstallExtcap "randpktdump"
2015-11-05 17:31:11 +00:00
SectionEnd
2020-05-12 18:48:10 +00:00
!insertmacro CheckExtrasFlag "randpktdump"
2015-11-05 17:31:11 +00:00
2020-12-02 09:05:11 +00:00
Section /o "Etwdump" SecEtwdump
;-------------------------------------------
!insertmacro InstallExtcap "Etwdump"
SectionEnd
!insertmacro CheckExtrasFlag "Etwdump"
2014-01-05 18:16:22 +00:00
SectionGroupEnd ; "Tools"
2005-07-21 20:05:37 +00:00
2019-02-11 22:24:18 +00:00
!ifdef DOCBOOK_DIR
Section "Documentation" SecDocumentation
2006-04-20 20:33:04 +00:00
;-------------------------------------------
2021-06-02 00:02:08 +00:00
SetOutPath "$INSTDIR\Wireshark User's Guide"
File /r "${DOCBOOK_DIR}\wsug_html_chunked\*.*"
2006-04-20 20:33:04 +00:00
SetOutPath $INSTDIR
2019-02-11 22:24:18 +00:00
File "${DOCBOOK_DIR}\faq.html"
2006-04-20 20:33:04 +00:00
SectionEnd
!endif
2005-07-21 20:05:37 +00:00
2012-04-04 00:47:21 +00:00
Section "-Finally"
2013-06-06 18:46:37 +00:00
!insertmacro UpdateIcons
2012-04-04 00:47:21 +00:00
; Compute and write the installation directory size
${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
IntFmt $0 "0x%08X" $0
WriteRegDWORD HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "EstimatedSize" "$0"
SectionEnd
2005-04-10 13:43:07 +00:00
; ============================================================================
; PLEASE MAKE SURE, THAT THE DESCRIPTIVE TEXT FITS INTO THE DESCRIPTION FIELD!
; ============================================================================
2003-12-26 12:27:47 +00:00
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
2014-08-05 15:23:41 +00:00
!ifdef QT_DIR
!insertmacro MUI_DESCRIPTION_TEXT ${SecWiresharkQt} "The main network protocol analyzer application."
2004-08-26 22:48:29 +00:00
!endif
2014-06-05 23:19:22 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecTShark} "Text based network protocol analyzer."
2013-05-01 22:06:49 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsGroup} "Plugins and extensions for both ${PROGRAM_NAME} and TShark."
!insertmacro MUI_DESCRIPTION_TEXT ${SecPlugins} "Additional protocol dissectors."
!insertmacro MUI_DESCRIPTION_TEXT ${SecStatsTree} "Extended statistics."
2005-01-21 19:16:05 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecMate} "Plugin - Meta Analysis and Tracing Engine (Experimental)."
2016-12-12 20:42:14 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecTransum} "TRANSUM plugin - network and application performance analysis."
2018-05-02 08:14:57 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecWiretap} "Additional capture file support."
!insertmacro MUI_DESCRIPTION_TEXT ${SecCodec} "Additional codec support."
2013-05-01 22:06:49 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecProfiles} "Configuration profiles"
2007-08-27 06:40:36 +00:00
!ifdef SMI_DIR
!insertmacro MUI_DESCRIPTION_TEXT ${SecMIBs} "SNMP MIBs for better SNMP dissection."
2007-01-02 22:19:48 +00:00
!endif
2013-05-01 22:06:49 +00:00
2005-07-23 20:34:43 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecToolsGroup} "Additional command line based tools."
2020-05-12 18:48:10 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecAndroiddump} "Provide capture interfaces from Android devices"
!insertmacro MUI_DESCRIPTION_TEXT ${SecSshdump} "Provide remote capture through SSH"
!insertmacro MUI_DESCRIPTION_TEXT ${SecUDPdump} "Provide capture interface that gets UDP packets from network devices"
!insertmacro MUI_DESCRIPTION_TEXT ${SecRandpktdump} "Provide random packet generator"
2020-12-02 09:05:11 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecEtwdump} "Provide ETW reader"
2021-10-13 09:22:23 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecEditCap} "Copy packets to a new file, optionally trimming packets, omitting them, or saving to a different format."
2014-06-05 23:19:22 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecText2Pcap} "Read an ASCII hex dump and write the data into a libpcap-style capture file."
!insertmacro MUI_DESCRIPTION_TEXT ${SecMergecap} "Combine multiple saved capture files into a single output file"
!insertmacro MUI_DESCRIPTION_TEXT ${SecReordercap} "Copy packets to a new file, sorted by time."
2017-06-23 12:13:06 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecDFTest} "Shows display filter byte-code, for debugging dfilter routines"
2017-08-07 08:00:53 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecCapinfos} "Print information about capture files."
2021-10-13 17:32:26 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecCaptype} "Print the types capture files."
2014-06-05 23:19:22 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecRawshark} "Raw packet filter."
2019-01-11 21:13:48 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecRandpkt} "Random packet generator."
2018-03-07 21:10:31 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecMMDBResolve} "MaxMind Database resolution tool"
2013-05-01 22:06:49 +00:00
2019-02-11 22:24:18 +00:00
!ifdef DOCBOOK_DIR
!insertmacro MUI_DESCRIPTION_TEXT ${SecDocumentation} "Install an offline copy of the User's Guide and FAQ."
2006-10-21 09:40:18 +00:00
!endif
2003-12-26 12:27:47 +00:00
!insertmacro MUI_FUNCTION_DESCRIPTION_END
2005-07-23 20:34:43 +00:00
2004-06-10 10:12:30 +00:00
; ============================================================================
; Callback functions
; ============================================================================
2014-08-05 15:23:41 +00:00
!ifdef QT_DIR
2018-05-10 00:35:26 +00:00
Var QT_SELECTED
; Called from fnc_AdditionalTasksPage_Create via DisplayAdditionalTasksPage.
Function InitAdditionalTasksPage
; We've created the Additional tasks page. Update our control states
; before they are shown.
; We set XXX_STATE -> XxxCheckBox here and go the other direction below.
${NSD_SetState} $hCtl_AdditionalTasksPage_StartMenuCheckBox $START_MENU_STATE
${NSD_SetState} $hCtl_AdditionalTasksPage_DesktopIconCheckBox $DESKTOP_ICON_STATE
${NSD_SetState} $hCtl_AdditionalTasksPage_QuickLaunchCheckBox $QUICK_LAUNCH_STATE
${NSD_SetState} $hCtl_AdditionalTasksPage_AssociateExtensionsCheckBox $FILE_ASSOCIATE_STATE
StrCpy $QT_SELECTED 0
${If} ${SectionIsSelected} ${SecWiresharkQt}
StrCpy $QT_SELECTED 1
${Endif}
EnableWindow $hCtl_AdditionalTasksPage_CreateShortcutsLabel $QT_SELECTED
EnableWindow $hCtl_AdditionalTasksPage_StartMenuCheckBox $QT_SELECTED
EnableWindow $hCtl_AdditionalTasksPage_DesktopIconCheckBox $QT_SELECTED
EnableWindow $hCtl_AdditionalTasksPage_QuickLaunchCheckBox $QT_SELECTED
EnableWindow $hCtl_AdditionalTasksPage_ExtensionsLabel $QT_SELECTED
EnableWindow $hCtl_AdditionalTasksPage_AssociateExtensionsCheckBox $QT_SELECTED
EnableWindow $hCtl_AdditionalTasksPage_FileExtensionsLabel $QT_SELECTED
FunctionEnd
Function LeaveAdditionalTasksPage
; We're leaving the Additional tasks page. Get our control states
; before they're destroyed.
; We set XxxCheckBox -> XXX_STATE here and go the other direction above.
${NSD_GetState} $hCtl_AdditionalTasksPage_StartMenuCheckBox $START_MENU_STATE
${NSD_GetState} $hCtl_AdditionalTasksPage_DesktopIconCheckBox $DESKTOP_ICON_STATE
${NSD_GetState} $hCtl_AdditionalTasksPage_QuickLaunchCheckBox $QUICK_LAUNCH_STATE
${NSD_GetState} $hCtl_AdditionalTasksPage_AssociateExtensionsCheckBox $FILE_ASSOCIATE_STATE
2004-06-10 10:12:30 +00:00
FunctionEnd
2005-02-03 02:35:20 +00:00
2018-05-10 00:35:26 +00:00
!endif ; QT_DIR
2005-02-03 02:35:20 +00:00
2015-08-22 18:08:31 +00:00
Var NPCAP_NAME ; DisplayName from Npcap installation
2018-11-29 01:08:27 +00:00
Var WINPCAP_NAME ; DisplayName from WinPcap installation
2019-11-06 11:17:30 +00:00
Var NPCAP_DISPLAY_VERSION ; DisplayVersion from Npcap installation
2015-10-07 21:27:17 +00:00
Var USBPCAP_NAME ; DisplayName from USBPcap installation
2005-02-03 02:35:20 +00:00
Function myShowCallback
2005-07-23 20:34:43 +00:00
2015-11-07 15:44:47 +00:00
ClearErrors
2014-01-05 18:16:22 +00:00
; detect if WinPcap should be installed
2018-11-29 01:08:27 +00:00
WriteINIStr "$PLUGINSDIR\NpcapPage.ini" "Field 4" "Text" "Install Npcap ${NPCAP_PACKAGE_VERSION}"
2015-08-22 18:08:31 +00:00
ReadRegStr $NPCAP_NAME HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\NpcapInst" "DisplayName"
IfErrors 0 lbl_npcap_installed
2018-11-29 01:08:27 +00:00
; check also if WinPcap is installed
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\NpcapPage.ini" "Field 2" "Text" "Neither of these are installed"
WriteINIStr "$PLUGINSDIR\NpcapPage.ini" "Field 2" "Flags" "DISABLED"
2018-11-30 12:00:07 +00:00
WriteINIStr "$PLUGINSDIR\NpcapPage.ini" "Field 5" "Text" "(Use Add/Remove Programs first to uninstall any undetected old Npcap or WinPcap versions)"
2018-11-29 01:08:27 +00:00
Goto lbl_npcap_done
2006-10-16 22:47:32 +00:00
2015-08-22 18:08:31 +00:00
lbl_npcap_installed:
2019-11-06 11:17:30 +00:00
ReadRegStr $NPCAP_DISPLAY_VERSION HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\NpcapInst" "DisplayVersion"
2018-11-29 01:08:27 +00:00
WriteINIStr "$PLUGINSDIR\NpcapPage.ini" "Field 1" "Text" "Currently installed Npcap version"
2019-11-06 11:17:30 +00:00
StrCmp $NPCAP_NAME "Npcap" 0 +3
WriteINIStr "$PLUGINSDIR\NpcapPage.ini" "Field 2" "Text" "Npcap $NPCAP_DISPLAY_VERSION"
Goto +2
2018-11-29 01:08:27 +00:00
WriteINIStr "$PLUGINSDIR\NpcapPage.ini" "Field 2" "Text" "$NPCAP_NAME"
; Compare the installed build against the one we have.
2019-11-06 11:17:30 +00:00
StrCmp $NPCAP_DISPLAY_VERSION "" lbl_npcap_do_install ; Npcap wasn't installed improperly?
${VersionConvert} $NPCAP_DISPLAY_VERSION "" $R0 ; 0.99-r7 -> 0.99.114.7
2018-11-29 01:08:27 +00:00
${VersionConvert} "${NPCAP_PACKAGE_VERSION}" "" $R1
${VersionCompare} $R0 $R1 $1
StrCmp $1 "2" lbl_npcap_do_install
WriteINIStr "$PLUGINSDIR\NpcapPage.ini" "Field 4" "State" "0"
WriteINIStr "$PLUGINSDIR\NpcapPage.ini" "Field 4" "Flags" "DISABLED"
2018-11-30 12:00:07 +00:00
WriteINIStr "$PLUGINSDIR\NpcapPage.ini" "Field 5" "Text" "If you wish to install Npcap, please uninstall $NPCAP_NAME manually first."
2018-11-29 01:08:27 +00:00
WriteINIStr "$PLUGINSDIR\NpcapPage.ini" "Field 5" "Flags" "DISABLED"
Goto lbl_npcap_done
lbl_winpcap_installed:
WriteINIStr "$PLUGINSDIR\NpcapPage.ini" "Field 2" "Text" "$WINPCAP_NAME"
2018-12-17 22:17:04 +00:00
WriteINIStr "$PLUGINSDIR\NpcapPage.ini" "Field 4" "State" "1"
2019-02-03 17:41:46 +00:00
WriteINIStr "$PLUGINSDIR\NpcapPage.ini" "Field 5" "Text" "The currently installed $WINPCAP_NAME may be uninstalled first."
2018-11-29 01:08:27 +00:00
Goto lbl_npcap_done
2015-08-22 18:08:31 +00:00
2018-11-29 01:08:27 +00:00
lbl_npcap_do_install:
2014-01-05 18:16:22 +00:00
; seems to be an old version, install newer one
2018-11-29 01:08:27 +00:00
WriteINIStr "$PLUGINSDIR\NpcapPage.ini" "Field 4" "State" "1"
2019-11-06 11:17:30 +00:00
StrCmp $NPCAP_NAME "Npcap" 0 +3
WriteINIStr "$PLUGINSDIR\NpcapPage.ini" "Field 5" "Text" "The currently installed Npcap $NPCAP_DISPLAY_VERSION will be uninstalled first."
Goto +2
2018-11-29 01:08:27 +00:00
WriteINIStr "$PLUGINSDIR\NpcapPage.ini" "Field 5" "Text" "The currently installed $NPCAP_NAME will be uninstalled first."
2005-07-23 20:34:43 +00:00
2018-11-29 01:08:27 +00:00
lbl_npcap_done:
2005-07-23 20:34:43 +00:00
2015-10-07 21:27:17 +00:00
; detect if USBPcap should be installed
2018-11-29 01:08:27 +00:00
WriteINIStr "$PLUGINSDIR\USBPcapPage.ini" "Field 4" "Text" "Install USBPcap ${USBPCAP_PACKAGE_VERSION}"
2015-10-07 21:27:17 +00:00
${If} ${RunningX64}
${DisableX64FSRedirection}
SetRegView 64
${EndIf}
ReadRegStr $USBPCAP_NAME HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\USBPcap" "DisplayName"
${If} ${RunningX64}
${EnableX64FSRedirection}
SetRegView 32
${EndIf}
IfErrors 0 lbl_usbpcap_installed ;if RegKey is available, USBPcap is already installed
WriteINIStr "$PLUGINSDIR\USBPcapPage.ini" "Field 2" "Text" "USBPcap is currently not installed"
WriteINIStr "$PLUGINSDIR\USBPcapPage.ini" "Field 2" "Flags" "DISABLED"
WriteINIStr "$PLUGINSDIR\USBPcapPage.ini" "Field 5" "Text" "(Use Add/Remove Programs first to uninstall any undetected old USBPcap versions)"
Goto lbl_usbpcap_done
lbl_usbpcap_installed:
WriteINIStr "$PLUGINSDIR\USBPcapPage.ini" "Field 2" "Text" "$USBPCAP_NAME"
WriteINIStr "$PLUGINSDIR\USBPcapPage.ini" "Field 4" "State" "0"
WriteINIStr "$PLUGINSDIR\USBPcapPage.ini" "Field 4" "Flags" "DISABLED"
2018-11-29 01:08:27 +00:00
WriteINIStr "$PLUGINSDIR\USBPcapPage.ini" "Field 5" "Text" "If you wish to install USBPcap ${USBPCAP_PACKAGE_VERSION}, please uninstall $USBPCAP_NAME manually first."
2015-10-07 21:27:17 +00:00
WriteINIStr "$PLUGINSDIR\USBPcapPage.ini" "Field 5" "Flags" "DISABLED"
Goto lbl_usbpcap_done
lbl_usbpcap_done:
2005-02-03 02:35:20 +00:00
FunctionEnd
2013-02-20 23:59:49 +00:00
;
2015-03-10 17:46:50 +00:00
; Editor modelines - https://www.wireshark.org/tools/modelines.html
2013-02-20 23:59:49 +00:00
;
; Local variables:
; c-basic-offset: 4
; tab-width: 8
; indent-tabs-mode: nil
; End:
;
; vi: set shiftwidth=4 tabstop=8 expandtab:
; :indentSize=4:tabSize=8:noTabs=true:
;