5 ; Set the compression mechanism first.
6 ; As of NSIS 2.07, solid compression which makes installer about 1MB smaller
7 ; is no longer the default, so use the /SOLID switch.
8 ; This unfortunately is unknown to NSIS prior to 2.07 and creates an error.
9 ; So if you get an error here, please update to at least NSIS 2.07!
10 SetCompressor
/SOLID lzma
11 SetCompressorDictSize
64 ; MB
13 !include "stratoshark-common.nsh"
14 !include 'LogicLib.nsh'
15 !include "StrFunc.nsh"
16 !include "WordFunc.nsh"
18 ; See https://nsis.sourceforge.io/Check_if_a_file_exists_at_compile_time for documentation
19 !macro !defineifexist _VAR_NAME _FILE_NAME
21 !ifdef NSIS_WIN32_MAKENSIS
23 !system 'if exist "${_FILE_NAME}" echo !define ${_VAR_NAME} > "${_TEMPFILE}"'
26 !system 'if [ -e "${_FILE_NAME}" ]; then echo "!define ${_VAR_NAME}" > "${_TEMPFILE}"; fi'
28 !include '${_TEMPFILE}'
29 !delfile '${_TEMPFILE}'
32 !define !defineifexist "!insertmacro !defineifexist"
34 ; ============================================================================
35 ; Header configuration
36 ; ============================================================================
39 OutFile "${OUTFILE_DIR}\${PROGRAM_NAME}-${VERSION}-${WIRESHARK_TARGET_PLATFORM}.exe"
41 Icon "${TOP_SRC_DIR}\resources\icons\stratosharkinst.ico"
43 ; ============================================================================
45 ; ============================================================================
46 ; The modern user interface will look much better than the common one.
47 ; However, as the development of the modern UI is still going on, and the script
48 ; syntax changes, you will need exactly that NSIS version, which this script is
49 ; made for. This is the current (December 2003) latest version: V2.0b4
50 ; If you are using a different version, it's not predictable what will happen.
53 !include "InstallOptions.nsh"
54 ;!addplugindir ".\Plugins"
56 !define MUI_ICON
"${TOP_SRC_DIR}\resources\icons\stratosharkinst.ico"
57 !define MUI_UNICON
"${TOP_SRC_DIR}\resources\icons\stratosharkinst.ico"
58 BrandingText "Stratoshark${U+00ae} Installer"
60 !define MUI_COMPONENTSPAGE_SMALLDESC
61 !define MUI_FINISHPAGE_NOAUTOCLOSE
62 !define MUI_WELCOMEPAGE_TITLE_3LINES
63 !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."
65 ; NSIS shows Readme files by opening the Readme file with the default application for
66 ; the file's extension. "README.win32" won't work in most cases, because extension "win32"
67 ; is usually not associated with an appropriate text editor. We should use extension "txt"
68 ; for a text file or "html" for an html README file.
69 !define MUI_FINISHPAGE_TITLE_3LINES
70 ; !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\NEWS.txt"
71 ; !define MUI_FINISHPAGE_SHOWREADME_TEXT "Show News"
72 ; !define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
73 ; NSIS runs as Administrator and will run Stratoshark as Administrator
74 ; if these are enabled.
75 ;!define MUI_FINISHPAGE_RUN "$INSTDIR\${PROGRAM_NAME_PATH}"
76 ;!define MUI_FINISHPAGE_RUN_NOTCHECKED
78 ; ============================================================================
80 ; ============================================================================
82 !insertmacro MUI_PAGE_WELCOME
84 !define MUI_LICENSEPAGE_TEXT_TOP
"Stratoshark is distributed under the GNU General Public License."
85 !define MUI_LICENSEPAGE_TEXT_BOTTOM
"This is not an end user license agreement (EULA). It is provided here for informational purposes only."
86 !define MUI_LICENSEPAGE_BUTTON
"Noted"
87 !insertmacro MUI_PAGE_LICENSE
"${STAGING_DIR}\COPYING.txt"
89 !insertmacro MUI_PAGE_COMPONENTS
91 Page custom DisplayAdditionalTasksPage LeaveAdditionalTasksPage
93 !insertmacro MUI_PAGE_DIRECTORY
94 !insertmacro MUI_PAGE_INSTFILES
95 !insertmacro MUI_PAGE_FINISH
97 ; ============================================================================
99 ; ============================================================================
101 !insertmacro MUI_LANGUAGE
"English"
103 ; ============================================================================
105 ; ============================================================================
107 ;Things that need to be extracted on first (keep these lines before any File command!)
108 ;Only useful for BZIP2 compression
110 ; Old Modern 1 UI: https://nsis.sourceforge.io/Docs/Modern%20UI/Readme.html
111 ; To do: Upgrade to the Modern 2 UI:
112 ;ReserveFile "AdditionalTasksPage.ini"
113 ;ReserveFile "DonatePage.ini"
114 ReserveFile
/plugin InstallOptions
.dll
116 ; Modern UI 2 / nsDialog pages.
117 ; https://nsis.sourceforge.io/Docs/Modern%20UI%202/Readme.html
118 ; https://nsis.sourceforge.io/Docs/nsDialogs/Readme.html
120 !include "stratoshark-additional-tasks.nsdinc"
123 ; ============================================================================
125 ; ============================================================================
126 !include "Sections.nsh"
128 ; ============================================================================
130 ; ============================================================================
131 !include "FileFunc.nsh"
133 !insertmacro GetParameters
134 !insertmacro GetOptions
136 ; ========= Install extcap binary and help file =========
137 !macro InstallExtcap EXTCAP_NAME
140 File "${STAGING_DIR}\${EXTCAP_NAME}.html"
141 SetOutPath $INSTDIR\extcap
142 File "${STAGING_DIR}\extcap\stratoshark\${EXTCAP_NAME}.exe"
146 ; ========= Check if silent mode install of /EXTRACOMPONENTS =========
147 !macro CheckExtrasFlag EXTRAS_NAME
148 !define EXTRAS_FLAG
${__LINE__}
150 IfSilent
+1 skip_
${EXTRAS_FLAG}
155 ${GetOptions} $R0 "/EXTRACOMPONENTS=" $R1
156 IfErrors popreg_
${EXTRAS_FLAG}
157 ${WordFind} $R1 "," "E+1" $R0
159 ; No delimiters found - check for single word match
161 StrCmp $R1 ${EXTRAS_NAME} install_
${EXTRAS_FLAG} popreg_
${EXTRAS_FLAG}
164 ; Loop through all delimited words checking for match
167 StrCmp $R0 ${EXTRAS_NAME} install_
${EXTRAS_FLAG} 0
169 ${WordFind} $R1 "," "E+$R2" $R0
171 Goto popreg_
${EXTRAS_FLAG}
173 install_
${EXTRAS_FLAG}:
174 !insertmacro InstallExtcap
${EXTRAS_NAME}
175 popreg_
${EXTRAS_FLAG}:
184 ; ============================================================================
185 ; Component page configuration
186 ; ============================================================================
187 ComponentText "The following components are available for installation."
189 ; ============================================================================
190 ; Directory selection page configuration
191 ; ============================================================================
192 ; The text to prompt the user to enter a directory
193 DirText "Choose a directory in which to install ${PROGRAM_NAME}."
195 ; The default installation directory
196 InstallDir $PROGRAMFILES64\
${PROGRAM_NAME}
198 ; See if this is an upgrade; if so, use the old InstallDir as default
199 InstallDirRegKey HKEY_LOCAL_MACHINE SOFTWARE\
${PROGRAM_NAME} InstallDir
202 ; ============================================================================
203 ; Install page configuration
204 ; ============================================================================
207 ; ============================================================================
208 ; Functions and macros
209 ; ============================================================================
212 ; https://docs.microsoft.com/en-us/windows/win32/shell/fa-file-types
215 !insertmacro PushFileExtensions
219 ${DoUntil} $EXTENSION ==
${FILE_EXTENSION_MARKER}
220 ReadRegStr $R0 HKCR $EXTENSION ""
221 StrCmp $R0 "" Associate
.doRegister
224 Associate
.doRegister:
225 ;The extension is not associated to any program, we can do the link
226 WriteRegStr HKCR $EXTENSION "" ${STRATOSHARK_ASSOC}
227 DetailPrint "Registered file type: $EXTENSION"
238 Var DESKTOP_ICON_STATE
239 Var FILE_ASSOCIATE_STATE
247 ; WiX - XXX - Remove?
251 Var WIX_DISPLAYVERSION
252 Var WIX_UNINSTALLSTRING
254 ; ============================================================================
255 ; Platform and OS version checks
256 ; ============================================================================
260 !include WinMessages
.nsh
263 !if ${WIRESHARK_TARGET_PLATFORM} ==
"x64"
264 ; http://forums.winamp.com/printthread.php?s=16ffcdd04a8c8d52bee90c0cae273ac5&threadid=262873
265 ${IfNot} ${RunningX64}
266 MessageBox MB_OK "Stratoshark only runs on 64-bit machines." /SD
IDOK
271 !if ${WIRESHARK_TARGET_PLATFORM} ==
"arm64"
272 ${IfNot} ${IsNativeARM64}
273 MessageBox MB_OK "You're trying to install the Arm64 version of Stratoshark on an x64 system.$\nTry the native x64 installer instead." /SD
IDOK
278 ; This should match the following:
279 ; - The NTDDI_VERSION and _WIN32_WINNT parts of cmakeconfig.h.in
280 ; - The <compatibility><application> section in image\wireshark.exe.manifest.in
281 ; - The VersionNT parts of packaging\wix\Prerequisites.wxi
284 ; MessageBox MB_OK "You're running Windows $R0."
286 ${If} ${AtMostWin8
.1
}
287 ${OrIf} ${AtMostWin2012R2}
289 "Windows 10, Server 2016, and later are required." /SD
IDOK
293 !insertmacro IsStratosharkRunning
295 ; Default control values.
296 StrCpy $START_MENU_STATE ${BST_CHECKED}
297 StrCpy $DESKTOP_ICON_STATE ${BST_UNCHECKED}
298 StrCpy $FILE_ASSOCIATE_STATE ${BST_CHECKED}
300 ; Copied from https://nsis.sourceforge.io/Auto-uninstall_old_before_installing_new
301 ReadRegStr $OLD_UNINSTALLER HKLM \
302 "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PROGRAM_NAME}" \
304 StrCmp $OLD_UNINSTALLER "" check_wix
306 ReadRegStr $OLD_INSTDIR HKLM \
307 "Software\Microsoft\Windows\CurrentVersion\App Paths\${PROGRAM_NAME}.exe" \
309 StrCmp $OLD_INSTDIR "" check_wix
311 ReadRegStr $OLD_DISPLAYNAME HKLM \
312 "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PROGRAM_NAME}" \
314 StrCmp $OLD_DISPLAYNAME "" done
316 ; We're reinstalling. Flip our control states according to what the
318 ; (we use the "all users" start menu, so select it first)
319 SetShellVarContext all
320 ; MessageBox MB_OK|MB_ICONINFORMATION "oninit 1 sm $START_MENU_STATE di $DESKTOP_ICON_STATE"
321 ${IfNot} ${FileExists} $SMPROGRAMS\
${PROGRAM_NAME}.lnk
322 StrCpy $START_MENU_STATE ${BST_UNCHECKED}
324 ${If} ${FileExists} $DESKTOP\
${PROGRAM_NAME}.lnk
325 StrCpy $DESKTOP_ICON_STATE ${BST_CHECKED}
327 ; Leave FILE_ASSOCIATE_STATE checked.
328 ; MessageBox MB_OK|MB_ICONINFORMATION "oninit 2 sm $START_MENU_STATE $SMPROGRAMS\${PROGRAM_NAME}\${PROGRAM_NAME}.lnk \
329 ; $\ndi $DESKTOP_ICON_STATE $DESKTOP\${PROGRAM_NAME}.lnk
331 MessageBox MB_YESNOCANCEL|
MB_ICONQUESTION \
332 "$OLD_DISPLAYNAME is already installed.\
333 $\n$\nWould you like to uninstall it first?" \
335 IDYES prep_nsis_uninstaller \
339 ; Copy the uninstaller to $TEMP and run it.
340 ; The uninstaller normally does this by itself, but doesn't wait around
341 ; for the executable to finish, which means ExecWait won't work correctly.
342 prep_nsis_uninstaller:
344 StrCpy $TMP_UNINSTALLER "$TEMP\${PROGRAM_NAME}_uninstaller.exe"
345 ; ...because we surround UninstallString in quotes.
346 StrCpy $0 $OLD_UNINSTALLER -1 1
347 StrCpy $1 "$TEMP\${PROGRAM_NAME}_uninstaller.exe"
349 System::Call 'kernel32::CopyFile(t r0, t r1, b r2) 1'
350 ExecWait "$TMP_UNINSTALLER /S _?=$OLD_INSTDIR"
352 Delete "$TMP_UNINSTALLER"
354 ; Look for a WiX-installed package.
357 StrCpy $REGISTRY_BITS 64
362 EnumRegKey $TMP_PRODUCT_GUID HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" $0
363 StrCmp $TMP_PRODUCT_GUID "" wix_enum_reg_done
365 ReadRegStr $WIX_DISPLAYNAME HKLM \
366 "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$TMP_PRODUCT_GUID" \
368 ; MessageBox MB_OK|MB_ICONINFORMATION "Reading HKLM SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$1 DisplayName = $2"
369 ; Look for "Stratoshark".
370 StrCmp $WIX_DISPLAYNAME "${PROGRAM_NAME}" wix_found wix_reg_enum_loop
373 ReadRegStr $WIX_DISPLAYVERSION HKLM \
374 "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$TMP_PRODUCT_GUID" \
376 ReadRegStr $WIX_UNINSTALLSTRING HKLM \
377 "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$TMP_PRODUCT_GUID" \
379 StrCmp $WIX_UNINSTALLSTRING "" done
380 MessageBox MB_YESNOCANCEL|
MB_ICONQUESTION \
381 "$WIX_DISPLAYNAME $WIX_DISPLAYVERSION (msi) is already installed.\
382 $\n$\nWould you like to uninstall it first?" \
384 IDYES prep_wix_uninstaller \
388 ; Run the WiX-provided UninstallString.
389 prep_wix_uninstaller:
391 ExecWait "$WIX_UNINSTALLSTRING"
396 ; MessageBox MB_OK|MB_ICONINFORMATION "Checked $0 $REGISTRY_BITS bit keys"
397 IntCmp $REGISTRY_BITS 32 done
398 StrCpy $REGISTRY_BITS 32
400 Goto check_wix_restart
404 ; Command line parameters
407 ${GetOptions} $R0 "/desktopicon=" $R1
409 StrCpy $DESKTOP_ICON_STATE ${BST_CHECKED}
410 ${ElseIf} $R1 ==
"no"
411 StrCpy $DESKTOP_ICON_STATE ${BST_UNCHECKED}
414 ;Extract InstallOptions INI files
415 ;!insertmacro INSTALLOPTIONS_EXTRACT "AdditionalTasksPage.ini"
419 Function DisplayAdditionalTasksPage
420 Call fnc_AdditionalTasksPage_Show
424 ; Function DisplayDonatePage
425 ; !insertmacro MUI_HEADER_TEXT "Your donations keep these releases coming" "Donate today"
426 ; !insertmacro INSTALLOPTIONS_DISPLAY "DonatePage.ini"
429 ; ============================================================================
430 ; Installation execution commands
431 ; ============================================================================
434 ;-------------------------------------------
437 ; Install for every user
439 SetShellVarContext all
442 WriteUninstaller "$INSTDIR\${UNINSTALLER_NAME}"
443 File "${STAGING_DIR}\libwiretap.dll"
444 File "${STAGING_DIR}\libwireshark.dll"
445 File "${STAGING_DIR}\libwsutil.dll"
447 !include stratoshark
-manifest
.nsh
449 File "${STAGING_DIR}\COPYING.txt"
450 ; File "${STAGING_DIR}\NEWS.txt"
451 File "${STAGING_DIR}\README.txt"
452 File "${STAGING_DIR}\wka"
453 File "${STAGING_DIR}\pdml2html.xsl"
454 File "${STAGING_DIR}\ws.css"
455 ;File "${STAGING_DIR}\stratoshark.html"
456 File "${STAGING_DIR}\wireshark-filter.html"
457 File "${STAGING_DIR}\dumpcap.exe"
458 File "${STAGING_DIR}\dumpcap.html"
459 File "${STAGING_DIR}\extcap.html"
460 File "${STAGING_DIR}\ipmap.html"
462 ; C-runtime redistributable
463 ; vc_redist.x64.exe or vc_redist.x86.exe - copy and execute the redistributable installer
464 File "${VCREDIST_DIR}\${VCREDIST_EXE}"
465 ; If the user already has the redistributable installed they will see a
466 ; Big Ugly Dialog by default, asking if they want to uninstall or repair.
467 ; Ideally we should add a checkbox for this somewhere. In the meantime,
468 ; just do a "quiet" install.
470 ; http://asawicki.info/news_1597_installing_visual_c_redistributable_package_from_command_line.html
471 ExecWait '"$INSTDIR\${VCREDIST_EXE}" /install /quiet /norestart' $0
472 DetailPrint "${VCREDIST_EXE} returned $0"
474 ; https://docs.microsoft.com/en-us/windows/desktop/Msi/error-codes
475 !define ERROR_SUCCESS
0
476 !define ERROR_SUCCESS_REBOOT_INITIATED
1641
477 !define ERROR_PRODUCT_VERSION
1638
478 !define ERROR_SUCCESS_REBOOT_REQUIRED
3010
480 ${Case} ${ERROR_SUCCESS}
481 ${Case} ${ERROR_PRODUCT_VERSION}
483 ${Case} ${ERROR_SUCCESS_REBOOT_INITIATED} ; Shouldn't happen.
484 ${Case} ${ERROR_SUCCESS_REBOOT_REQUIRED}
488 MessageBox MB_OK "The Visual C++ Redistributable installer failed with error $0.$\nUnable to continue installation." /SD
IDOK
493 Delete "$INSTDIR\${VCREDIST_EXE}"
496 ; Global config files
497 File "${TOP_SRC_DIR}\resources\share\stratoshark\colorfilters"
498 File "${TOP_SRC_DIR}\resources\share\stratoshark\dfilter_buttons"
499 ;File "${TOP_SRC_DIR}\resources\share\stratoshark\dfilters"
500 File "${STAGING_DIR}\smi_modules"
504 ; Install the Diameter DTD and XML files in the "diameter" subdirectory
505 ; of the installation directory.
507 SetOutPath $INSTDIR\diameter
508 File "${STAGING_DIR}\diameter\AlcatelLucent.xml"
509 File "${STAGING_DIR}\diameter\chargecontrol.xml"
510 File "${STAGING_DIR}\diameter\Cisco.xml"
511 File "${STAGING_DIR}\diameter\CiscoSystems.xml"
512 File "${STAGING_DIR}\diameter\Custom.xml"
513 File "${STAGING_DIR}\diameter\dictionary.dtd"
514 File "${STAGING_DIR}\diameter\dictionary.xml"
515 File "${STAGING_DIR}\diameter\eap.xml"
516 File "${STAGING_DIR}\diameter\Ericsson.xml"
517 File "${STAGING_DIR}\diameter\etsie2e4.xml"
518 File "${STAGING_DIR}\diameter\HP.xml"
519 File "${STAGING_DIR}\diameter\Huawei.xml"
520 File "${STAGING_DIR}\diameter\Inovar.xml"
521 File "${STAGING_DIR}\diameter\Juniper.xml"
522 File "${STAGING_DIR}\diameter\Metaswitch.xml"
523 File "${STAGING_DIR}\diameter\Microsoft.xml"
524 File "${STAGING_DIR}\diameter\mobileipv4.xml"
525 File "${STAGING_DIR}\diameter\mobileipv6.xml"
526 File "${STAGING_DIR}\diameter\nasreq.xml"
527 File "${STAGING_DIR}\diameter\Nokia.xml"
528 File "${STAGING_DIR}\diameter\NokiaSolutionsAndNetworks.xml"
529 File "${STAGING_DIR}\diameter\Oracle.xml"
530 File "${STAGING_DIR}\diameter\Siemens.xml"
531 File "${STAGING_DIR}\diameter\sip.xml"
532 File "${STAGING_DIR}\diameter\Starent.xml"
533 File "${STAGING_DIR}\diameter\sunping.xml"
534 File "${STAGING_DIR}\diameter\Telefonica.xml"
535 File "${STAGING_DIR}\diameter\TGPP.xml"
536 File "${STAGING_DIR}\diameter\TGPP2.xml"
537 File "${STAGING_DIR}\diameter\Travelping.xml"
538 File "${STAGING_DIR}\diameter\Vodafone.xml"
539 File "${STAGING_DIR}\diameter\VerizonWireless.xml"
540 !include "custom_diameter_xmls.txt"
544 ; Install the RADIUS directory files in the "radius" subdirectory
545 ; of the installation directory.
547 SetOutPath $INSTDIR\radius
548 File "${STAGING_DIR}\radius\README.radius_dictionary"
549 File "${STAGING_DIR}\radius\custom.includes"
550 File "${STAGING_DIR}\radius\dictionary"
551 File "${STAGING_DIR}\radius\dictionary.3com"
552 File "${STAGING_DIR}\radius\dictionary.3gpp"
553 File "${STAGING_DIR}\radius\dictionary.3gpp2"
554 File "${STAGING_DIR}\radius\dictionary.5x9"
555 File "${STAGING_DIR}\radius\dictionary.acc"
556 File "${STAGING_DIR}\radius\dictionary.acme"
557 File "${STAGING_DIR}\radius\dictionary.actelis"
558 File "${STAGING_DIR}\radius\dictionary.adtran"
559 File "${STAGING_DIR}\radius\dictionary.adva"
560 File "${STAGING_DIR}\radius\dictionary.aerohive"
561 File "${STAGING_DIR}\radius\dictionary.airespace"
562 File "${STAGING_DIR}\radius\dictionary.alcatel"
563 File "${STAGING_DIR}\radius\dictionary.alcatel-lucent.aaa"
564 File "${STAGING_DIR}\radius\dictionary.alcatel.esam"
565 File "${STAGING_DIR}\radius\dictionary.alcatel.sr"
566 File "${STAGING_DIR}\radius\dictionary.alphion"
567 File "${STAGING_DIR}\radius\dictionary.alteon"
568 File "${STAGING_DIR}\radius\dictionary.altiga"
569 File "${STAGING_DIR}\radius\dictionary.alvarion"
570 File "${STAGING_DIR}\radius\dictionary.alvarion.wimax.v2_2"
571 File "${STAGING_DIR}\radius\dictionary.apc"
572 File "${STAGING_DIR}\radius\dictionary.aptilo"
573 File "${STAGING_DIR}\radius\dictionary.aptis"
574 File "${STAGING_DIR}\radius\dictionary.arbor"
575 File "${STAGING_DIR}\radius\dictionary.arista"
576 File "${STAGING_DIR}\radius\dictionary.aruba"
577 File "${STAGING_DIR}\radius\dictionary.ascend"
578 File "${STAGING_DIR}\radius\dictionary.ascend.illegal"
579 File "${STAGING_DIR}\radius\dictionary.ascend.illegal.extended"
580 File "${STAGING_DIR}\radius\dictionary.asn"
581 File "${STAGING_DIR}\radius\dictionary.audiocodes"
582 File "${STAGING_DIR}\radius\dictionary.avaya"
583 File "${STAGING_DIR}\radius\dictionary.azaire"
584 File "${STAGING_DIR}\radius\dictionary.bay"
585 File "${STAGING_DIR}\radius\dictionary.bintec"
586 File "${STAGING_DIR}\radius\dictionary.bigswitch"
587 File "${STAGING_DIR}\radius\dictionary.bintec"
588 File "${STAGING_DIR}\radius\dictionary.bluecoat"
589 File "${STAGING_DIR}\radius\dictionary.boingo"
590 File "${STAGING_DIR}\radius\dictionary.bristol"
591 File "${STAGING_DIR}\radius\dictionary.broadsoft"
592 File "${STAGING_DIR}\radius\dictionary.brocade"
593 File "${STAGING_DIR}\radius\dictionary.bskyb"
594 File "${STAGING_DIR}\radius\dictionary.bt"
595 File "${STAGING_DIR}\radius\dictionary.cablelabs"
596 File "${STAGING_DIR}\radius\dictionary.cabletron"
597 File "${STAGING_DIR}\radius\dictionary.calix"
598 File "${STAGING_DIR}\radius\dictionary.cambium"
599 File "${STAGING_DIR}\radius\dictionary.camiant"
600 File "${STAGING_DIR}\radius\dictionary.centec"
601 File "${STAGING_DIR}\radius\dictionary.checkpoint"
602 File "${STAGING_DIR}\radius\dictionary.chillispot"
603 File "${STAGING_DIR}\radius\dictionary.ciena"
604 File "${STAGING_DIR}\radius\dictionary.cisco"
605 File "${STAGING_DIR}\radius\dictionary.cisco.asa"
606 File "${STAGING_DIR}\radius\dictionary.cisco.bbsm"
607 File "${STAGING_DIR}\radius\dictionary.cisco.vpn3000"
608 File "${STAGING_DIR}\radius\dictionary.cisco.vpn5000"
609 File "${STAGING_DIR}\radius\dictionary.citrix"
610 File "${STAGING_DIR}\radius\dictionary.ckey"
611 File "${STAGING_DIR}\radius\dictionary.clavister"
612 File "${STAGING_DIR}\radius\dictionary.cnergee"
613 File "${STAGING_DIR}\radius\dictionary.colubris"
614 File "${STAGING_DIR}\radius\dictionary.columbia_university"
615 File "${STAGING_DIR}\radius\dictionary.compat"
616 File "${STAGING_DIR}\radius\dictionary.compatible"
617 File "${STAGING_DIR}\radius\dictionary.cosine"
618 File "${STAGING_DIR}\radius\dictionary.covaro"
619 File "${STAGING_DIR}\radius\dictionary.dante"
620 File "${STAGING_DIR}\radius\dictionary.dellemc"
621 File "${STAGING_DIR}\radius\dictionary.digium"
622 File "${STAGING_DIR}\radius\dictionary.dlink"
623 File "${STAGING_DIR}\radius\dictionary.dragonwave"
624 File "${STAGING_DIR}\radius\dictionary.efficientip"
625 File "${STAGING_DIR}\radius\dictionary.eleven"
626 File "${STAGING_DIR}\radius\dictionary.eltex"
627 File "${STAGING_DIR}\radius\dictionary.enterasys"
628 File "${STAGING_DIR}\radius\dictionary.epygi"
629 File "${STAGING_DIR}\radius\dictionary.equallogic"
630 File "${STAGING_DIR}\radius\dictionary.ericsson"
631 File "${STAGING_DIR}\radius\dictionary.ericsson.ab"
632 File "${STAGING_DIR}\radius\dictionary.ericsson.packet.core.networks"
633 File "${STAGING_DIR}\radius\dictionary.erx"
634 File "${STAGING_DIR}\radius\dictionary.extreme"
635 File "${STAGING_DIR}\radius\dictionary.f5"
636 File "${STAGING_DIR}\radius\dictionary.fdxtended"
637 File "${STAGING_DIR}\radius\dictionary.force10"
638 File "${STAGING_DIR}\radius\dictionary.fortinet"
639 File "${STAGING_DIR}\radius\dictionary.foundry"
640 File "${STAGING_DIR}\radius\dictionary.freedhcp"
641 File "${STAGING_DIR}\radius\dictionary.freeradius"
642 File "${STAGING_DIR}\radius\dictionary.freeradius.evs5"
643 File "${STAGING_DIR}\radius\dictionary.freeradius.internal"
644 File "${STAGING_DIR}\radius\dictionary.freeswitch"
645 File "${STAGING_DIR}\radius\dictionary.gandalf"
646 File "${STAGING_DIR}\radius\dictionary.garderos"
647 File "${STAGING_DIR}\radius\dictionary.gemtek"
648 File "${STAGING_DIR}\radius\dictionary.h3c"
649 File "${STAGING_DIR}\radius\dictionary.hillstone"
650 File "${STAGING_DIR}\radius\dictionary.hp"
651 File "${STAGING_DIR}\radius\dictionary.huawei"
652 File "${STAGING_DIR}\radius\dictionary.iana"
653 File "${STAGING_DIR}\radius\dictionary.identity_engines"
654 File "${STAGING_DIR}\radius\dictionary.iea"
655 File "${STAGING_DIR}\radius\dictionary.infinera"
656 File "${STAGING_DIR}\radius\dictionary.infoblox"
657 File "${STAGING_DIR}\radius\dictionary.infonet"
658 File "${STAGING_DIR}\radius\dictionary.ingate"
659 File "${STAGING_DIR}\radius\dictionary.ipunplugged"
660 File "${STAGING_DIR}\radius\dictionary.issanni"
661 File "${STAGING_DIR}\radius\dictionary.itk"
662 File "${STAGING_DIR}\radius\dictionary.jradius"
663 File "${STAGING_DIR}\radius\dictionary.juniper"
664 File "${STAGING_DIR}\radius\dictionary.karlnet"
665 File "${STAGING_DIR}\radius\dictionary.kineto"
666 File "${STAGING_DIR}\radius\dictionary.lancom"
667 File "${STAGING_DIR}\radius\dictionary.lantronix"
668 File "${STAGING_DIR}\radius\dictionary.livingston"
669 File "${STAGING_DIR}\radius\dictionary.localweb"
670 File "${STAGING_DIR}\radius\dictionary.lucent"
671 File "${STAGING_DIR}\radius\dictionary.manzara"
672 File "${STAGING_DIR}\radius\dictionary.meinberg"
673 File "${STAGING_DIR}\radius\dictionary.mellanox"
674 File "${STAGING_DIR}\radius\dictionary.meraki"
675 File "${STAGING_DIR}\radius\dictionary.merit"
676 File "${STAGING_DIR}\radius\dictionary.meru"
677 File "${STAGING_DIR}\radius\dictionary.microsemi"
678 File "${STAGING_DIR}\radius\dictionary.microsoft"
679 File "${STAGING_DIR}\radius\dictionary.mikrotik"
680 File "${STAGING_DIR}\radius\dictionary.mimosa"
681 File "${STAGING_DIR}\radius\dictionary.motorola"
682 File "${STAGING_DIR}\radius\dictionary.motorola.illegal"
683 File "${STAGING_DIR}\radius\dictionary.motorola.wimax"
684 File "${STAGING_DIR}\radius\dictionary.navini"
685 File "${STAGING_DIR}\radius\dictionary.net"
686 File "${STAGING_DIR}\radius\dictionary.netelastic"
687 File "${STAGING_DIR}\radius\dictionary.netscreen"
688 File "${STAGING_DIR}\radius\dictionary.networkphysics"
689 File "${STAGING_DIR}\radius\dictionary.nexans"
690 File "${STAGING_DIR}\radius\dictionary.nile"
691 File "${STAGING_DIR}\radius\dictionary.nokia"
692 File "${STAGING_DIR}\radius\dictionary.nokia.conflict"
693 File "${STAGING_DIR}\radius\dictionary.nomadix"
694 File "${STAGING_DIR}\radius\dictionary.nortel"
695 File "${STAGING_DIR}\radius\dictionary.ntua"
696 File "${STAGING_DIR}\radius\dictionary.openser"
697 File "${STAGING_DIR}\radius\dictionary.openwifi"
698 File "${STAGING_DIR}\radius\dictionary.packeteer"
699 File "${STAGING_DIR}\radius\dictionary.paloalto"
700 File "${STAGING_DIR}\radius\dictionary.patton"
701 File "${STAGING_DIR}\radius\dictionary.perle"
702 File "${STAGING_DIR}\radius\dictionary.pfsense"
703 File "${STAGING_DIR}\radius\dictionary.pica8"
704 File "${STAGING_DIR}\radius\dictionary.propel"
705 File "${STAGING_DIR}\radius\dictionary.prosoft"
706 File "${STAGING_DIR}\radius\dictionary.proxim"
707 File "${STAGING_DIR}\radius\dictionary.purewave"
708 File "${STAGING_DIR}\radius\dictionary.quiconnect"
709 File "${STAGING_DIR}\radius\dictionary.quintum"
710 File "${STAGING_DIR}\radius\dictionary.rcntec"
711 File "${STAGING_DIR}\radius\dictionary.redcreek"
712 File "${STAGING_DIR}\radius\dictionary.rfc2865"
713 File "${STAGING_DIR}\radius\dictionary.rfc2866"
714 File "${STAGING_DIR}\radius\dictionary.rfc2867"
715 File "${STAGING_DIR}\radius\dictionary.rfc2868"
716 File "${STAGING_DIR}\radius\dictionary.rfc2869"
717 File "${STAGING_DIR}\radius\dictionary.rfc3162"
718 File "${STAGING_DIR}\radius\dictionary.rfc3576"
719 File "${STAGING_DIR}\radius\dictionary.rfc3580"
720 File "${STAGING_DIR}\radius\dictionary.rfc4072"
721 File "${STAGING_DIR}\radius\dictionary.rfc4372"
722 File "${STAGING_DIR}\radius\dictionary.rfc4603"
723 File "${STAGING_DIR}\radius\dictionary.rfc4675"
724 File "${STAGING_DIR}\radius\dictionary.rfc4679"
725 File "${STAGING_DIR}\radius\dictionary.rfc4818"
726 File "${STAGING_DIR}\radius\dictionary.rfc4849"
727 File "${STAGING_DIR}\radius\dictionary.rfc5090"
728 File "${STAGING_DIR}\radius\dictionary.rfc5176"
729 File "${STAGING_DIR}\radius\dictionary.rfc5447"
730 File "${STAGING_DIR}\radius\dictionary.rfc5580"
731 File "${STAGING_DIR}\radius\dictionary.rfc5607"
732 File "${STAGING_DIR}\radius\dictionary.rfc5904"
733 File "${STAGING_DIR}\radius\dictionary.rfc6519"
734 File "${STAGING_DIR}\radius\dictionary.rfc6572"
735 File "${STAGING_DIR}\radius\dictionary.rfc6677"
736 File "${STAGING_DIR}\radius\dictionary.rfc6911"
737 File "${STAGING_DIR}\radius\dictionary.rfc6929"
738 File "${STAGING_DIR}\radius\dictionary.rfc6930"
739 File "${STAGING_DIR}\radius\dictionary.rfc7055"
740 File "${STAGING_DIR}\radius\dictionary.rfc7155"
741 File "${STAGING_DIR}\radius\dictionary.rfc7268"
742 File "${STAGING_DIR}\radius\dictionary.rfc7499"
743 File "${STAGING_DIR}\radius\dictionary.rfc7930"
744 File "${STAGING_DIR}\radius\dictionary.rfc8045"
745 File "${STAGING_DIR}\radius\dictionary.rfc8559"
746 File "${STAGING_DIR}\radius\dictionary.riverbed"
747 File "${STAGING_DIR}\radius\dictionary.riverstone"
748 File "${STAGING_DIR}\radius\dictionary.roaringpenguin"
749 File "${STAGING_DIR}\radius\dictionary.ruckus"
750 File "${STAGING_DIR}\radius\dictionary.ruggedcom"
751 File "${STAGING_DIR}\radius\dictionary.sangoma"
752 File "${STAGING_DIR}\radius\dictionary.sg"
753 File "${STAGING_DIR}\radius\dictionary.shasta"
754 File "${STAGING_DIR}\radius\dictionary.shiva"
755 File "${STAGING_DIR}\radius\dictionary.siemens"
756 File "${STAGING_DIR}\radius\dictionary.slipstream"
757 File "${STAGING_DIR}\radius\dictionary.smartsharesystems"
758 File "${STAGING_DIR}\radius\dictionary.sofaware"
759 File "${STAGING_DIR}\radius\dictionary.softbank"
760 File "${STAGING_DIR}\radius\dictionary.sonicwall"
761 File "${STAGING_DIR}\radius\dictionary.springtide"
762 File "${STAGING_DIR}\radius\dictionary.starent"
763 File "${STAGING_DIR}\radius\dictionary.starent.vsa1"
764 File "${STAGING_DIR}\radius\dictionary.surfnet"
765 File "${STAGING_DIR}\radius\dictionary.symbol"
766 File "${STAGING_DIR}\radius\dictionary.t_systems_nova"
767 File "${STAGING_DIR}\radius\dictionary.telebit"
768 File "${STAGING_DIR}\radius\dictionary.telkom"
769 File "${STAGING_DIR}\radius\dictionary.telrad"
770 File "${STAGING_DIR}\radius\dictionary.terena"
771 File "${STAGING_DIR}\radius\dictionary.tplink"
772 File "${STAGING_DIR}\radius\dictionary.trapeze"
773 File "${STAGING_DIR}\radius\dictionary.travelping"
774 File "${STAGING_DIR}\radius\dictionary.tripplite"
775 File "${STAGING_DIR}\radius\dictionary.tropos"
776 File "${STAGING_DIR}\radius\dictionary.ukerna"
777 File "${STAGING_DIR}\radius\dictionary.unisphere"
778 File "${STAGING_DIR}\radius\dictionary.unix"
779 File "${STAGING_DIR}\radius\dictionary.usr"
780 File "${STAGING_DIR}\radius\dictionary.usr.illegal"
781 File "${STAGING_DIR}\radius\dictionary.utstarcom"
782 File "${STAGING_DIR}\radius\dictionary.valemount"
783 File "${STAGING_DIR}\radius\dictionary.vasexperts"
784 File "${STAGING_DIR}\radius\dictionary.verizon"
785 File "${STAGING_DIR}\radius\dictionary.versanet"
786 File "${STAGING_DIR}\radius\dictionary.walabi"
787 File "${STAGING_DIR}\radius\dictionary.waverider"
788 File "${STAGING_DIR}\radius\dictionary.wichorus"
789 File "${STAGING_DIR}\radius\dictionary.wifialliance"
790 File "${STAGING_DIR}\radius\dictionary.wimax"
791 File "${STAGING_DIR}\radius\dictionary.wimax.alvarion"
792 File "${STAGING_DIR}\radius\dictionary.wimax.wichorus"
793 File "${STAGING_DIR}\radius\dictionary.wispr"
794 File "${STAGING_DIR}\radius\dictionary.xedia"
795 File "${STAGING_DIR}\radius\dictionary.xylan"
796 File "${STAGING_DIR}\radius\dictionary.yubico"
797 File "${STAGING_DIR}\radius\dictionary.zeus"
798 File "${STAGING_DIR}\radius\dictionary.zte"
799 File "${STAGING_DIR}\radius\dictionary.zyxel"
800 !include "custom_radius_dict.txt"
804 ; install the dtds in the dtds subdirectory
806 SetOutPath $INSTDIR\dtds
807 File "${STAGING_DIR}\dtds\dc.dtd"
808 File "${STAGING_DIR}\dtds\itunes.dtd"
809 File "${STAGING_DIR}\dtds\mscml.dtd"
810 File "${STAGING_DIR}\dtds\pocsettings.dtd"
811 File "${STAGING_DIR}\dtds\presence.dtd"
812 File "${STAGING_DIR}\dtds\reginfo.dtd"
813 File "${STAGING_DIR}\dtds\rlmi.dtd"
814 File "${STAGING_DIR}\dtds\rss.dtd"
815 File "${STAGING_DIR}\dtds\smil.dtd"
816 File "${STAGING_DIR}\dtds\xcap-caps.dtd"
817 File "${STAGING_DIR}\dtds\xcap-error.dtd"
818 File "${STAGING_DIR}\dtds\watcherinfo.dtd"
821 ; Create the extcap directory
822 CreateDirectory $INSTDIR\extcap
825 ; install the protobuf .proto definitions in the protobuf subdirectory
827 SetOutPath $INSTDIR\protobuf
828 File "${STAGING_DIR}\protobuf\*.proto"
830 ; Install the TPNCP DAT file in the "tpncp" subdirectory
831 ; of the installation directory.
832 SetOutPath $INSTDIR\tpncp
833 File "${STAGING_DIR}\tpncp\tpncp.dat"
835 ; Write the installation path into the registry for InstallDirRegKey
836 WriteRegStr HKEY_LOCAL_MACHINE SOFTWARE\
${PROGRAM_NAME} InstallDir "$INSTDIR"
838 ; Write the uninstall keys for Windows
839 ; https://nsis.sourceforge.io/Add_uninstall_information_to_Add/Remove_Programs
840 ; https://docs.microsoft.com/en-us/previous-versions/ms954376(v=msdn.10)
841 ; https://docs.microsoft.com/en-us/windows/win32/msi/uninstall-registry-key
842 !define UNINSTALL_PATH
"Software\Microsoft\Windows\CurrentVersion\Uninstall\${PROGRAM_NAME}"
844 WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "Comments" "${DISPLAY_NAME}"
846 WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "DisplayIcon" "$INSTDIR\${PROGRAM_NAME_PATH},0"
848 WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "DisplayName" "${DISPLAY_NAME}"
849 WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "DisplayVersion" "${VERSION}"
850 WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "HelpLink" "https://ask.wireshark.org/"
851 WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "InstallLocation" "$INSTDIR"
852 WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "Publisher" "The Stratoshark developer community, https://www.wireshark.org"
853 WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "URLInfoAbout" "https://www.wireshark.org"
854 WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "URLUpdateInfo" "https://www.wireshark.org/download.html"
856 WriteRegDWORD HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "NoModify" 1
857 WriteRegDWORD HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "NoRepair" 1
858 WriteRegDWORD HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "VersionMajor" ${MAJOR_VERSION}
859 WriteRegDWORD HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "VersionMinor" ${MINOR_VERSION}
861 WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "UninstallString" '"$INSTDIR\${UNINSTALLER_NAME}"'
862 WriteRegStr HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "QuietUninstallString" '"$INSTDIR\${UNINSTALLER_NAME}" /S'
864 ; To quote https://web.archive.org/web/20150911221413/http://download.microsoft.com/download/0/4/6/046bbd36-0812-4c22-a870-41911c6487a6/WindowsUserExperience.pdf:
865 ; "Do not include Readme, Help, or Uninstall entries on the Programs menu."
866 Delete "$SMPROGRAMS\${PROGRAM_NAME}\Wireshark Web Site.lnk"
868 ; Create file extensions if the Associated Tasks page check box
870 ${If} $FILE_ASSOCIATE_STATE ==
${BST_CHECKED}
871 WriteRegStr HKCR ${STRATOSHARK_ASSOC} "" "Stratoshark log file"
872 WriteRegStr HKCR "${STRATOSHARK_ASSOC}\Shell\open\command" "" '"$INSTDIR\${PROGRAM_NAME_PATH}" "%1"'
873 WriteRegStr HKCR "${STRATOSHARK_ASSOC}\DefaultIcon" "" '"$INSTDIR\${PROGRAM_NAME_PATH}",1'
874 ; We refresh the icon cache down in -Finally.
876 ; If you add something here be sure to sync it with the uninstall section and the
877 ; AdditionalTasks page
880 SectionEnd ; "Required"
883 Section "${PROGRAM_NAME}" SecStratosharkQt
884 ;-------------------------------------------
885 ; by default, Stratoshark.exe is installed
887 File "${QT_DIR}\${PROGRAM_NAME_PATH}"
888 File /r
"${QT_DIR}\translations"
889 ; Write an entry for ShellExecute
890 WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\${PROGRAM_NAME_PATH}" "" '$INSTDIR\${PROGRAM_NAME_PATH}'
891 WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\${PROGRAM_NAME_PATH}" "Path" '$INSTDIR'
892 !include stratoshark
-qt
-manifest
.nsh
894 ; Is the Start Menu check box checked?
895 ${If} $START_MENU_STATE ==
${BST_CHECKED}
896 CreateShortCut "$SMPROGRAMS\${PROGRAM_NAME}.lnk" "$INSTDIR\${PROGRAM_NAME_PATH}" "" "$INSTDIR\${PROGRAM_NAME_PATH}" 0 "" "" "${PROGRAM_FULL_NAME}"
899 ${If} $DESKTOP_ICON_STATE ==
${BST_CHECKED}
900 CreateShortCut "$DESKTOP\${PROGRAM_NAME}.lnk" "$INSTDIR\${PROGRAM_NAME_PATH}" "" "$INSTDIR\${PROGRAM_NAME_PATH}" 0 "" "" "${PROGRAM_FULL_NAME}"
903 SectionEnd ; "SecStratosharkQt"
907 Section "TShark" SecTShark
908 ;-------------------------------------------
910 File "${STAGING_DIR}\tshark.exe"
911 File "${STAGING_DIR}\tshark.html"
914 Section "-Plugins & Extensions"
916 ;-------------------------------------------
917 SetOutPath '$INSTDIR\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\epan'
918 File "${STAGING_DIR}\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\epan\falco-bridge.dll"
919 SetOutPath '$INSTDIR\plugins\falco'
920 File "${STAGING_DIR}\plugins\falco\cloudtrail.dll"
921 File "${STAGING_DIR}\plugins\falco\gcpaudit.dll"
922 !include "custom_plugins.txt"
924 ;-------------------------------------------
925 SetOutPath '$INSTDIR\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\epan'
926 File "${STAGING_DIR}\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\epan\stats_tree.dll"
928 ;-------------------------------------------
929 SetOutPath '$INSTDIR\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\epan'
930 File "${STAGING_DIR}\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\epan\mate.dll"
932 ;-------------------------------------------
933 ; This should be a function or macro
934 SetOutPath '$INSTDIR\profiles\CloudTrail'
935 File "${TOP_SRC_DIR}\resources\share\stratoshark\profiles\CloudTrail\colorfilters"
936 ; File "${TOP_SRC_DIR}\resources\share\stratoshark\profiles\CloudTrail\preferences"
937 ; SetOutPath '$INSTDIR\profiles\Classic'
938 ; File "${TOP_SRC_DIR}\resources\share\stratoshark\profiles\Classic\colorfilters"
939 ; SetOutPath '$INSTDIR\profiles\No Reassembly'
940 ; File "${TOP_SRC_DIR}\resources\share\stratoshark\profiles\No Reassembly\preferences"
944 ;-------------------------------------------
945 SetOutPath '$INSTDIR\snmp\mibs'
946 File "${SMI_DIR}\share\mibs\iana\*"
947 File "${SMI_DIR}\share\mibs\ietf\*"
948 File "${SMI_DIR}\share\mibs\irtf\*"
949 File "${SMI_DIR}\share\mibs\tubs\*"
950 File "${SMI_DIR}\share\pibs\*"
951 File "${SMI_DIR}\share\yang\*.yang"
952 !include "custom_mibs.txt"
955 SetOutPath '$INSTDIR\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\epan'
956 File "${STAGING_DIR}\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\epan\transum.dll"
958 SetOutPath '$INSTDIR\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\epan'
959 File "${STAGING_DIR}\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\epan\stats_tree.dll"
961 SectionEnd ; "Plugins / Extensions"
963 Section "-Additional command line tools"
966 File "${STAGING_DIR}\capinfos.exe"
967 File "${STAGING_DIR}\capinfos.html"
969 File "${STAGING_DIR}\captype.exe"
970 File "${STAGING_DIR}\captype.html"
972 File "${STAGING_DIR}\editcap.exe"
973 File "${STAGING_DIR}\editcap.html"
975 File "${STAGING_DIR}\mergecap.exe"
976 File "${STAGING_DIR}\mergecap.html"
978 !ifdef MMDBRESOLVE_EXE
979 File "${STAGING_DIR}\mmdbresolve.html"
980 File "${STAGING_DIR}\mmdbresolve.exe"
983 File "${STAGING_DIR}\randpkt.exe"
984 File "${STAGING_DIR}\randpkt.html"
986 File "${STAGING_DIR}\rawshark.exe"
987 File "${STAGING_DIR}\rawshark.html"
989 File "${STAGING_DIR}\reordercap.exe"
990 File "${STAGING_DIR}\reordercap.html"
992 File "${STAGING_DIR}\sharkd.exe"
993 ;File "${STAGING_DIR}\sharkd.html"
995 File "${STAGING_DIR}\text2pcap.exe"
996 File "${STAGING_DIR}\text2pcap.html"
1000 SectionGroup
/e
"External capture tools (extcap)" SecExtcapGroup
1002 Section "Falcodump" SecFalcodump
1003 ;-------------------------------------------
1004 !insertmacro InstallExtcap
"falcodump"
1006 !insertmacro CheckExtrasFlag
"falcodump"
1009 Section "Sshdig" SecSshdig
1010 !insertmacro InstallExtcap
"sshdig"
1012 !insertmacro CheckExtrasFlag
"sshdig"
1015 SectionGroupEnd
; "External Capture (extcap)"
1017 Section "-Clear Partial Selected"
1018 !insertmacro ClearSectionFlag
${SecExtcapGroup} ${SF_PSELECTED}
1022 Section "Documentation" SecDocumentation
1023 ;-------------------------------------------
1024 SetOutPath "$INSTDIR\Wireshark User's Guide"
1025 File /r
"${DOC_DIR}\wsug_html_chunked\*.*"
1028 File "${DOC_DIR}\faq.html"
1034 !insertmacro UpdateIcons
1036 ; Compute and write the installation directory size
1037 ${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
1038 IntFmt $0 "0x%08X" $0
1039 WriteRegDWORD HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "EstimatedSize" "$0"
1043 ; ============================================================================
1045 ; ============================================================================
1046 !include "Sections.nsh"
1048 ; ============================================================================
1049 ; Uninstall page configuration
1050 ; ============================================================================
1051 ShowUninstDetails show
1053 ; ============================================================================
1054 ; Functions and macros
1055 ; ============================================================================
1057 Function un
.Disassociate
1059 !insertmacro PushFileExtensions
1062 ${DoUntil} $EXTENSION ==
${FILE_EXTENSION_MARKER}
1063 ReadRegStr $R0 HKCR $EXTENSION ""
1064 StrCmp $R0 ${STRATOSHARK_ASSOC} un
.Disassociate
.doDeregister
1065 Goto un
.Disassociate
.end
1066 un
.Disassociate
.doDeregister:
1067 ; The extension is associated with Stratoshark so, we must destroy this!
1068 DeleteRegKey HKCR $EXTENSION
1069 DetailPrint "Deregistered file type: $EXTENSION"
1070 un
.Disassociate
.end:
1080 !define EXECUTABLE_MARKER
"EXECUTABLE_MARKER"
1083 Section "Uninstall" un
.SecUinstall
1084 ;-------------------------------------------
1086 ; UnInstall for every user
1089 SetShellVarContext all
1091 !insertmacro IsStratosharkRunning
1093 Push "${EXECUTABLE_MARKER}"
1094 Push "${PROGRAM_NAME}"
1108 !ifdef MMDBRESOLVE_EXE
1113 ${DoUntil} $EXECUTABLE ==
${EXECUTABLE_MARKER}
1115 ; IsStratosharkRunning should make sure everything is closed down so we *shouldn't* run
1116 ; into any problems here.
1117 Delete "$INSTDIR\$EXECUTABLE.exe"
1118 IfErrors 0 deletionSuccess
1119 MessageBox MB_OK "$EXECUTABLE.exe could not be removed. Is it in use?" /SD
IDOK IDOK 0
1120 Abort "$EXECUTABLE.exe could not be removed. Aborting the uninstall process."
1128 DeleteRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PROGRAM_NAME}"
1129 DeleteRegKey HKEY_LOCAL_MACHINE "Software\${PROGRAM_NAME}"
1130 DeleteRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\${PROGRAM_NAME}.exe"
1132 Call un
.Disassociate
1134 DeleteRegKey HKCR ${STRATOSHARK_ASSOC}
1135 DeleteRegKey HKCR "${STRATOSHARK_ASSOC}\Shell\open\command"
1136 DeleteRegKey HKCR "${STRATOSHARK_ASSOC}\DefaultIcon"
1138 Delete "$INSTDIR\*.dll"
1139 Delete "$INSTDIR\*.exe"
1140 Delete "$INSTDIR\*.html"
1141 Delete "$INSTDIR\*.qm"
1142 Delete "$INSTDIR\accessible\*.*"
1143 Delete "$INSTDIR\AUTHORS-SHORT"
1144 Delete "$INSTDIR\COPYING*"
1145 Delete "$INSTDIR\audio\*.*"
1146 Delete "$INSTDIR\bearer\*.*"
1147 Delete "$INSTDIR\diameter\*.*"
1148 Delete "$INSTDIR\extcap\falcodump.*"
1149 Delete "$INSTDIR\extcap\sshdig.*"
1150 Delete "$INSTDIR\gpl-2.0-standalone.html"
1151 Delete "$INSTDIR\Acknowledgements.md"
1152 Delete "$INSTDIR\generic\*.*"
1153 Delete "$INSTDIR\help\*.*"
1154 Delete "$INSTDIR\iconengines\*.*"
1155 Delete "$INSTDIR\imageformats\*.*"
1156 Delete "$INSTDIR\mediaservice\*.*"
1157 Delete "$INSTDIR\multimedia\*.*"
1158 Delete "$INSTDIR\networkinformation\*.*"
1159 Delete "$INSTDIR\platforms\*.*"
1160 Delete "$INSTDIR\playlistformats\*.*"
1161 Delete "$INSTDIR\printsupport\*.*"
1162 Delete "$INSTDIR\share\glib-2.0\schemas\*.*"
1163 Delete "$INSTDIR\snmp\*.*"
1164 Delete "$INSTDIR\snmp\mibs\*.*"
1165 Delete "$INSTDIR\styles\translations\*.*"
1166 Delete "$INSTDIR\styles\*.*"
1167 Delete "$INSTDIR\protobuf\*.*"
1168 Delete "$INSTDIR\tls\*.*"
1169 Delete "$INSTDIR\tpncp\*.*"
1170 Delete "$INSTDIR\translations\*.*"
1171 Delete "$INSTDIR\ui\*.*"
1172 Delete "$INSTDIR\wimaxasncp\*.*"
1173 Delete "$INSTDIR\ws.css"
1174 ; previous versions installed these files
1175 Delete "$INSTDIR\*.manifest"
1176 ; previous versions installed this file
1177 Delete "$INSTDIR\AUTHORS-SHORT-FORMAT"
1178 Delete "$INSTDIR\README*"
1179 Delete "$INSTDIR\manuf"
1180 Delete "$INSTDIR\wka"
1181 Delete "$INSTDIR\services"
1182 Delete "$INSTDIR\pdml2html.xsl"
1183 Delete "$INSTDIR\pcrepattern.3.txt"
1184 Delete "$INSTDIR\example_snmp_users_file"
1185 Delete "$INSTDIR\ipmap.html"
1186 Delete "$INSTDIR\radius\*.*"
1187 Delete "$INSTDIR\dtds\*.*"
1188 Delete "$INSTDIR\browser_sslkeylog.lua"
1189 Delete "$INSTDIR\console.lua"
1190 Delete "$INSTDIR\dtd_gen.lua"
1191 Delete "$INSTDIR\init.lua"
1192 Delete "$INSTDIR\release-notes.html"
1194 RMDir "$INSTDIR\accessible"
1195 RMDir "$INSTDIR\audio"
1196 RMDir "$INSTDIR\bearer"
1197 RMDir "$INSTDIR\extcap"
1198 RMDir "$INSTDIR\extcap"
1199 RMDir "$INSTDIR\iconengines"
1200 RMDir "$INSTDIR\imageformats"
1201 RMDir "$INSTDIR\mediaservice"
1202 RMDir "$INSTDIR\multimedia"
1203 RMDir "$INSTDIR\networkinformation"
1204 RMDir "$INSTDIR\platforms"
1205 RMDir "$INSTDIR\playlistformats"
1206 RMDir "$INSTDIR\printsupport"
1207 RMDir "$INSTDIR\styles\translations"
1208 RMDir "$INSTDIR\styles"
1209 RMDir "$SMPROGRAMS\${PROGRAM_NAME}"
1210 RMDir "$INSTDIR\help"
1211 RMDir "$INSTDIR\generic"
1212 RMDir /r
"$INSTDIR\Wireshark User's Guide"
1213 RMDir "$INSTDIR\diameter"
1214 RMDir "$INSTDIR\snmp\mibs"
1215 RMDir "$INSTDIR\snmp"
1216 RMDir "$INSTDIR\radius"
1217 RMDir "$INSTDIR\dtds"
1218 RMDir "$INSTDIR\protobuf"
1219 RMDir "$INSTDIR\tls"
1220 RMDir "$INSTDIR\tpncp"
1221 RMDir "$INSTDIR\translations"
1223 RMDir "$INSTDIR\wimaxasncp"
1226 SectionEnd ; "Uinstall"
1228 Section "Un.Plugins" un
.SecPlugins
1229 ;-------------------------------------------
1231 ;Delete "$INSTDIR\plugins\${VERSION}\*.*"
1232 ;Delete "$INSTDIR\plugins\*.*"
1233 ;RMDir "$INSTDIR\plugins\${VERSION}"
1234 ;RMDir "$INSTDIR\plugins"
1235 RMDir /r
"$INSTDIR\plugins"
1238 Section "Un.Global Profiles" un
.SecProfiles
1239 ;-------------------------------------------
1241 RMDir /r
"$INSTDIR\profiles"
1244 Section "Un.Global Settings" un
.SecGlobalSettings
1245 ;-------------------------------------------
1247 Delete "$INSTDIR\colorfilters"
1248 Delete "$INSTDIR\dfilter_buttons"
1249 Delete "$INSTDIR\dfilters"
1250 Delete "$INSTDIR\smi_modules"
1254 Section /o
"Un.Personal Settings" un
.SecPersonalSettings
1255 ;-------------------------------------------
1257 SetShellVarContext current
1258 Delete "$APPDATA\${PROGRAM_NAME}\*.*"
1259 RMDir "$APPDATA\${PROGRAM_NAME}"
1260 DeleteRegKey HKCU "Software\${PROGRAM_NAME}"
1263 Section "-Un.Finally"
1264 ;-------------------------------------------
1267 !insertmacro UpdateIcons
1269 ; this test must be done after all other things uninstalled (e.g. Global Settings)
1270 IfFileExists "$INSTDIR" 0 NoFinalErrorMsg
1271 MessageBox MB_OK "Unable to remove $INSTDIR." /SD
IDOK IDOK 0 ; skipped if dir doesn't exist
1275 ; Sign our installer and uninstaller during compilation.
1276 !ifdef ENABLE_SIGNED_NSIS
1277 !finalize 'sign-stratoshark.bat "%1"' =
0 ; %1 is replaced by the installer exe to be signed.
1278 !uninstfinalize 'sign-stratoshark.bat "%1"' =
0 ; %1 is replaced by the uninstaller exe to be signed.
1281 ; ============================================================================
1282 ; PLEASE MAKE SURE, THAT THE DESCRIPTIVE TEXT FITS INTO THE DESCRIPTION FIELD!
1283 ; ============================================================================
1284 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
1286 !insertmacro MUI_DESCRIPTION_TEXT
${SecStratosharkQt} "The main syscall and log analyzer application."
1288 !insertmacro MUI_DESCRIPTION_TEXT
${SecTShark} "Text based network protocol analyzer."
1290 !insertmacro MUI_DESCRIPTION_TEXT
${SecExtcapGroup} "External Capture Interfaces"
1291 !insertmacro MUI_DESCRIPTION_TEXT
${SecFalcodump} "Provide capture interfaces from Falco plugins."
1293 !insertmacro MUI_DESCRIPTION_TEXT
${SecSshdig} "Provide remote capture through SSH. (sysdig)"
1296 !insertmacro MUI_FUNCTION_DESCRIPTION_END
1298 !insertmacro MUI_UNFUNCTION_DESCRIPTION_BEGIN
1299 !insertmacro MUI_DESCRIPTION_TEXT
${un
.SecUinstall
} "Uninstall all ${PROGRAM_NAME} components."
1300 !insertmacro MUI_DESCRIPTION_TEXT
${un
.SecPlugins
} "Uninstall all Plugins (even from previous ${PROGRAM_NAME} versions)."
1301 !insertmacro MUI_DESCRIPTION_TEXT
${un
.SecProfiles
} "Uninstall all global configuration profiles."
1302 !insertmacro MUI_DESCRIPTION_TEXT
${un
.SecGlobalSettings
} "Uninstall global settings like: $INSTDIR\colorfilters"
1303 !insertmacro MUI_DESCRIPTION_TEXT
${un
.SecPersonalSettings
} "Uninstall personal settings like your preferences file from your profile: $PROFILE."
1304 !insertmacro MUI_UNFUNCTION_DESCRIPTION_END
1306 ; ============================================================================
1307 ; Callback functions
1308 ; ============================================================================
1313 ; Called from fnc_AdditionalTasksPage_Create via DisplayAdditionalTasksPage.
1314 Function InitAdditionalTasksPage
1315 ; We've created the Additional tasks page. Update our control states
1316 ; before they are shown.
1317 ; We set XXX_STATE -> XxxCheckBox here and go the other direction below.
1318 ${NSD_SetState} $hCtl_AdditionalTasksPage_StartMenuCheckBox $START_MENU_STATE
1319 ${NSD_SetState} $hCtl_AdditionalTasksPage_DesktopIconCheckBox $DESKTOP_ICON_STATE
1320 ${NSD_SetState} $hCtl_AdditionalTasksPage_AssociateExtensionsCheckBox $FILE_ASSOCIATE_STATE
1322 StrCpy $QT_SELECTED 0
1323 ${If} ${SectionIsSelected} ${SecStratosharkQt}
1324 StrCpy $QT_SELECTED 1
1326 EnableWindow
$hCtl_AdditionalTasksPage_CreateShortcutsLabel $QT_SELECTED
1327 EnableWindow
$hCtl_AdditionalTasksPage_StartMenuCheckBox $QT_SELECTED
1328 EnableWindow
$hCtl_AdditionalTasksPage_DesktopIconCheckBox $QT_SELECTED
1330 EnableWindow
$hCtl_AdditionalTasksPage_ExtensionsLabel $QT_SELECTED
1331 EnableWindow
$hCtl_AdditionalTasksPage_AssociateExtensionsCheckBox $QT_SELECTED
1332 EnableWindow
$hCtl_AdditionalTasksPage_FileExtensionsLabel $QT_SELECTED
1335 Function LeaveAdditionalTasksPage
1336 ; We're leaving the Additional tasks page. Get our control states
1337 ; before they're destroyed.
1338 ; We set XxxCheckBox -> XXX_STATE here and go the other direction above.
1339 ${NSD_GetState} $hCtl_AdditionalTasksPage_StartMenuCheckBox $START_MENU_STATE
1340 ${NSD_GetState} $hCtl_AdditionalTasksPage_DesktopIconCheckBox $DESKTOP_ICON_STATE
1341 ${NSD_GetState} $hCtl_AdditionalTasksPage_AssociateExtensionsCheckBox $FILE_ASSOCIATE_STATE