diff options
Diffstat (limited to 'packaging/nsis/logray.nsi')
-rw-r--r-- | packaging/nsis/logray.nsi | 496 |
1 files changed, 371 insertions, 125 deletions
diff --git a/packaging/nsis/logray.nsi b/packaging/nsis/logray.nsi index 5aed3b28..8cf9717e 100644 --- a/packaging/nsis/logray.nsi +++ b/packaging/nsis/logray.nsi @@ -54,6 +54,7 @@ Icon "${TOP_SRC_DIR}\resources\icons\lograyinst.ico" ;!addplugindir ".\Plugins" !define MUI_ICON "${TOP_SRC_DIR}\resources\icons\lograyinst.ico" +!define MUI_UNICON "${TOP_SRC_DIR}\resources\icons\lograyinst.ico" BrandingText "Logray${U+00ae} Installer" !define MUI_COMPONENTSPAGE_SMALLDESC @@ -66,9 +67,9 @@ BrandingText "Logray${U+00ae} Installer" ; 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. !define MUI_FINISHPAGE_TITLE_3LINES -!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\NEWS.txt" -!define MUI_FINISHPAGE_SHOWREADME_TEXT "Show News" -!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED +; !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\NEWS.txt" +; !define MUI_FINISHPAGE_SHOWREADME_TEXT "Show News" +; !define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED ; NSIS runs as Administrator and will run Logray as Administrator ; if these are enabled. ;!define MUI_FINISHPAGE_RUN "$INSTDIR\${PROGRAM_NAME_PATH}" @@ -109,6 +110,7 @@ Page custom DisplayAdditionalTasksPage LeaveAdditionalTasksPage ; Old Modern 1 UI: https://nsis.sourceforge.io/Docs/Modern%20UI/Readme.html ; To do: Upgrade to the Modern 2 UI: ;ReserveFile "AdditionalTasksPage.ini" + ;ReserveFile "DonatePage.ini" ReserveFile /plugin InstallOptions.dll ; Modern UI 2 / nsDialog pages. @@ -136,8 +138,8 @@ Page custom DisplayAdditionalTasksPage LeaveAdditionalTasksPage SetOutPath $INSTDIR File "${STAGING_DIR}\${EXTCAP_NAME}.html" - SetOutPath $INSTDIR\extcap - File "${STAGING_DIR}\extcap\${EXTCAP_NAME}.exe" + SetOutPath $INSTDIR\extcap\logray + File "${STAGING_DIR}\extcap\logray\${EXTCAP_NAME}.exe" !macroend @@ -242,7 +244,7 @@ Var OLD_INSTDIR Var OLD_DISPLAYNAME Var TMP_UNINSTALLER -; WiX +; WiX - XXX - Remove? Var REGISTRY_BITS Var TMP_PRODUCT_GUID Var WIX_DISPLAYNAME @@ -266,6 +268,13 @@ Function .onInit ${EndIf} !endif + !if ${WIRESHARK_TARGET_PLATFORM} == "arm64" + ${IfNot} ${IsNativeARM64} + MessageBox MB_OK "You're trying to install the Arm64 version of Logray on an x64 system.$\nTry the native x64 installer instead." /SD IDOK + Abort + ${EndIf} + !endif + ; 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 @@ -274,7 +283,6 @@ Function .onInit ; Uncomment to test. ; MessageBox MB_OK "You're running Windows $R0." - ${If} ${AtMostWin8.1} ${OrIf} ${AtMostWin2012R2} MessageBox MB_OK \ @@ -282,7 +290,6 @@ ${OrIf} ${AtMostWin2012R2} Quit ${EndIf} -lbl_winversion_supported: !insertmacro IsLograyRunning ; Default control values. @@ -414,6 +421,11 @@ Function DisplayAdditionalTasksPage FunctionEnd !endif +; Function DisplayDonatePage +; !insertmacro MUI_HEADER_TEXT "Your donations keep these releases coming" "Donate today" +; !insertmacro INSTALLOPTIONS_DISPLAY "DonatePage.ini" +; FunctionEnd + ; ============================================================================ ; Installation execution commands ; ============================================================================ @@ -427,7 +439,7 @@ Section "-Required" SetShellVarContext all SetOutPath $INSTDIR -File "${STAGING_DIR}\${UNINSTALLER_NAME}" +WriteUninstaller "$INSTDIR\${UNINSTALLER_NAME}" File "${STAGING_DIR}\libwiretap.dll" File "${STAGING_DIR}\libwireshark.dll" File "${STAGING_DIR}\libwsutil.dll" @@ -435,9 +447,8 @@ File "${STAGING_DIR}\libwsutil.dll" !include logray-manifest.nsh File "${STAGING_DIR}\COPYING.txt" -File "${STAGING_DIR}\NEWS.txt" +; File "${STAGING_DIR}\NEWS.txt" File "${STAGING_DIR}\README.txt" -File "${STAGING_DIR}\README.windows.txt" File "${STAGING_DIR}\wka" File "${STAGING_DIR}\pdml2html.xsl" File "${STAGING_DIR}\ws.css" @@ -482,19 +493,11 @@ ${EndSwitch} Delete "$INSTDIR\${VCREDIST_EXE}" -; global config files - don't overwrite if already existing -;IfFileExists cfilters dont_overwrite_cfilters -File "${STAGING_DIR}\cfilters" -;dont_overwrite_cfilters: -;IfFileExists colorfilters dont_overwrite_colorfilters -File "${STAGING_DIR}\colorfilters" -;dont_overwrite_colorfilters: -;IfFileExists dfilters dont_overwrite_dfilters -File "${STAGING_DIR}\dfilters" -;dont_overwrite_dfilters: -;IfFileExists smi_modules dont_overwrite_smi_modules +; Global config files +File "${TOP_SRC_DIR}\resources\share\logray\colorfilters" +File "${TOP_SRC_DIR}\resources\share\logray\dfilter_buttons" +;File "${TOP_SRC_DIR}\resources\share\logray\dfilters" File "${STAGING_DIR}\smi_modules" -;dont_overwrite_smi_modules: ; @@ -531,6 +534,7 @@ File "${STAGING_DIR}\diameter\sunping.xml" File "${STAGING_DIR}\diameter\Telefonica.xml" File "${STAGING_DIR}\diameter\TGPP.xml" File "${STAGING_DIR}\diameter\TGPP2.xml" +File "${STAGING_DIR}\diameter\Travelping.xml" File "${STAGING_DIR}\diameter\Vodafone.xml" File "${STAGING_DIR}\diameter\VerizonWireless.xml" !include "custom_diameter_xmls.txt" @@ -551,12 +555,15 @@ File "${STAGING_DIR}\radius\dictionary.5x9" File "${STAGING_DIR}\radius\dictionary.acc" File "${STAGING_DIR}\radius\dictionary.acme" File "${STAGING_DIR}\radius\dictionary.actelis" +File "${STAGING_DIR}\radius\dictionary.adtran" +File "${STAGING_DIR}\radius\dictionary.adva" File "${STAGING_DIR}\radius\dictionary.aerohive" File "${STAGING_DIR}\radius\dictionary.airespace" File "${STAGING_DIR}\radius\dictionary.alcatel" File "${STAGING_DIR}\radius\dictionary.alcatel-lucent.aaa" File "${STAGING_DIR}\radius\dictionary.alcatel.esam" File "${STAGING_DIR}\radius\dictionary.alcatel.sr" +File "${STAGING_DIR}\radius\dictionary.alphion" File "${STAGING_DIR}\radius\dictionary.alteon" File "${STAGING_DIR}\radius\dictionary.altiga" File "${STAGING_DIR}\radius\dictionary.alvarion" @@ -565,15 +572,20 @@ File "${STAGING_DIR}\radius\dictionary.apc" File "${STAGING_DIR}\radius\dictionary.aptilo" File "${STAGING_DIR}\radius\dictionary.aptis" File "${STAGING_DIR}\radius\dictionary.arbor" +File "${STAGING_DIR}\radius\dictionary.arista" File "${STAGING_DIR}\radius\dictionary.aruba" File "${STAGING_DIR}\radius\dictionary.ascend" +File "${STAGING_DIR}\radius\dictionary.ascend.illegal" 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" +File "${STAGING_DIR}\radius\dictionary.bigswitch" +File "${STAGING_DIR}\radius\dictionary.bintec" File "${STAGING_DIR}\radius\dictionary.bluecoat" +File "${STAGING_DIR}\radius\dictionary.boingo" File "${STAGING_DIR}\radius\dictionary.bristol" File "${STAGING_DIR}\radius\dictionary.broadsoft" File "${STAGING_DIR}\radius\dictionary.brocade" @@ -581,14 +593,20 @@ File "${STAGING_DIR}\radius\dictionary.bskyb" File "${STAGING_DIR}\radius\dictionary.bt" File "${STAGING_DIR}\radius\dictionary.cablelabs" File "${STAGING_DIR}\radius\dictionary.cabletron" +File "${STAGING_DIR}\radius\dictionary.calix" +File "${STAGING_DIR}\radius\dictionary.cambium" File "${STAGING_DIR}\radius\dictionary.camiant" +File "${STAGING_DIR}\radius\dictionary.centec" +File "${STAGING_DIR}\radius\dictionary.checkpoint" File "${STAGING_DIR}\radius\dictionary.chillispot" +File "${STAGING_DIR}\radius\dictionary.ciena" 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.ckey" File "${STAGING_DIR}\radius\dictionary.clavister" File "${STAGING_DIR}\radius\dictionary.cnergee" File "${STAGING_DIR}\radius\dictionary.colubris" @@ -596,13 +614,14 @@ File "${STAGING_DIR}\radius\dictionary.columbia_university" File "${STAGING_DIR}\radius\dictionary.compat" File "${STAGING_DIR}\radius\dictionary.compatible" File "${STAGING_DIR}\radius\dictionary.cosine" +File "${STAGING_DIR}\radius\dictionary.covaro" File "${STAGING_DIR}\radius\dictionary.dante" File "${STAGING_DIR}\radius\dictionary.dellemc" -File "${STAGING_DIR}\radius\dictionary.dhcp" File "${STAGING_DIR}\radius\dictionary.digium" File "${STAGING_DIR}\radius\dictionary.dlink" File "${STAGING_DIR}\radius\dictionary.dragonwave" File "${STAGING_DIR}\radius\dictionary.efficientip" +File "${STAGING_DIR}\radius\dictionary.eleven" File "${STAGING_DIR}\radius\dictionary.eltex" File "${STAGING_DIR}\radius\dictionary.enterasys" File "${STAGING_DIR}\radius\dictionary.epygi" @@ -610,24 +629,29 @@ 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.erx" File "${STAGING_DIR}\radius\dictionary.extreme" File "${STAGING_DIR}\radius\dictionary.f5" File "${STAGING_DIR}\radius\dictionary.fdxtended" +File "${STAGING_DIR}\radius\dictionary.force10" 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.evs5" 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.hillstone" File "${STAGING_DIR}\radius\dictionary.hp" File "${STAGING_DIR}\radius\dictionary.huawei" File "${STAGING_DIR}\radius\dictionary.iana" File "${STAGING_DIR}\radius\dictionary.identity_engines" File "${STAGING_DIR}\radius\dictionary.iea" +File "${STAGING_DIR}\radius\dictionary.infinera" File "${STAGING_DIR}\radius\dictionary.infoblox" File "${STAGING_DIR}\radius\dictionary.infonet" File "${STAGING_DIR}\radius\dictionary.ipunplugged" @@ -638,39 +662,50 @@ File "${STAGING_DIR}\radius\dictionary.juniper" File "${STAGING_DIR}\radius\dictionary.karlnet" File "${STAGING_DIR}\radius\dictionary.kineto" File "${STAGING_DIR}\radius\dictionary.lancom" +File "${STAGING_DIR}\radius\dictionary.lantronix" 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" +File "${STAGING_DIR}\radius\dictionary.mellanox" File "${STAGING_DIR}\radius\dictionary.meraki" File "${STAGING_DIR}\radius\dictionary.merit" File "${STAGING_DIR}\radius\dictionary.meru" File "${STAGING_DIR}\radius\dictionary.microsemi" File "${STAGING_DIR}\radius\dictionary.microsoft" File "${STAGING_DIR}\radius\dictionary.mikrotik" +File "${STAGING_DIR}\radius\dictionary.mimosa" File "${STAGING_DIR}\radius\dictionary.motorola" +File "${STAGING_DIR}\radius\dictionary.motorola.illegal" File "${STAGING_DIR}\radius\dictionary.motorola.wimax" File "${STAGING_DIR}\radius\dictionary.navini" +File "${STAGING_DIR}\radius\dictionary.net" +File "${STAGING_DIR}\radius\dictionary.netelastic" File "${STAGING_DIR}\radius\dictionary.netscreen" File "${STAGING_DIR}\radius\dictionary.networkphysics" File "${STAGING_DIR}\radius\dictionary.nexans" +File "${STAGING_DIR}\radius\dictionary.nile" 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.openwifi" 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.pfsense" +File "${STAGING_DIR}\radius\dictionary.pica8" 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.rcntec" File "${STAGING_DIR}\radius\dictionary.redcreek" File "${STAGING_DIR}\radius\dictionary.rfc2865" File "${STAGING_DIR}\radius\dictionary.rfc2866" @@ -704,6 +739,8 @@ File "${STAGING_DIR}\radius\dictionary.rfc7155" File "${STAGING_DIR}\radius\dictionary.rfc7268" File "${STAGING_DIR}\radius\dictionary.rfc7499" File "${STAGING_DIR}\radius\dictionary.rfc7930" +File "${STAGING_DIR}\radius\dictionary.rfc8045" +File "${STAGING_DIR}\radius\dictionary.rfc8559" File "${STAGING_DIR}\radius\dictionary.riverbed" File "${STAGING_DIR}\radius\dictionary.riverstone" File "${STAGING_DIR}\radius\dictionary.roaringpenguin" @@ -715,7 +752,9 @@ 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.smartsharesystems" File "${STAGING_DIR}\radius\dictionary.sofaware" +File "${STAGING_DIR}\radius\dictionary.softbank" File "${STAGING_DIR}\radius\dictionary.sonicwall" File "${STAGING_DIR}\radius\dictionary.springtide" File "${STAGING_DIR}\radius\dictionary.starent" @@ -725,22 +764,27 @@ 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.telrad" File "${STAGING_DIR}\radius\dictionary.terena" +File "${STAGING_DIR}\radius\dictionary.tplink" File "${STAGING_DIR}\radius\dictionary.trapeze" File "${STAGING_DIR}\radius\dictionary.travelping" +File "${STAGING_DIR}\radius\dictionary.tripplite" File "${STAGING_DIR}\radius\dictionary.tropos" File "${STAGING_DIR}\radius\dictionary.ukerna" File "${STAGING_DIR}\radius\dictionary.unisphere" File "${STAGING_DIR}\radius\dictionary.unix" File "${STAGING_DIR}\radius\dictionary.usr" +File "${STAGING_DIR}\radius\dictionary.usr.illegal" File "${STAGING_DIR}\radius\dictionary.utstarcom" File "${STAGING_DIR}\radius\dictionary.valemount" -File "${STAGING_DIR}\radius\dictionary.versanet" +File "${STAGING_DIR}\radius\dictionary.vasexperts" File "${STAGING_DIR}\radius\dictionary.verizon" -File "${STAGING_DIR}\radius\dictionary.vqp" +File "${STAGING_DIR}\radius\dictionary.versanet" File "${STAGING_DIR}\radius\dictionary.walabi" File "${STAGING_DIR}\radius\dictionary.waverider" File "${STAGING_DIR}\radius\dictionary.wichorus" +File "${STAGING_DIR}\radius\dictionary.wifialliance" File "${STAGING_DIR}\radius\dictionary.wimax" File "${STAGING_DIR}\radius\dictionary.wimax.alvarion" File "${STAGING_DIR}\radius\dictionary.wimax.wichorus" @@ -773,7 +817,7 @@ File "${STAGING_DIR}\dtds\watcherinfo.dtd" SetOutPath $INSTDIR ; Create the extcap directory -CreateDirectory $INSTDIR\extcap +CreateDirectory $INSTDIR\extcap\logray ; ; install the protobuf .proto definitions in the protobuf subdirectory @@ -873,43 +917,35 @@ File "${STAGING_DIR}\tshark.exe" File "${STAGING_DIR}\tshark.html" SectionEnd -SectionGroup "Plugins & Extensions" SecPluginsGroup +Section "-Plugins & Extensions" -Section "Dissector Plugins" SecPlugins ;------------------------------------------- SetOutPath '$INSTDIR\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\epan' File "${STAGING_DIR}\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\epan\falco-bridge.dll" -SetOutPath '$INSTDIR\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\falco' -File "${STAGING_DIR}\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\falco\cloudtrail.dll" +SetOutPath '$INSTDIR\plugins\falco' +File "${STAGING_DIR}\plugins\falco\cloudtrail.dll" !include "custom_plugins.txt" -SectionEnd -Section "Tree Statistics Plugin" SecStatsTree ;------------------------------------------- SetOutPath '$INSTDIR\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\epan' File "${STAGING_DIR}\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\epan\stats_tree.dll" -SectionEnd -Section "Mate - Meta Analysis and Tracing Engine" SecMate ;------------------------------------------- SetOutPath '$INSTDIR\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\epan' File "${STAGING_DIR}\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\epan\mate.dll" -SectionEnd -Section "Configuration Profiles" SecProfiles ;------------------------------------------- ; This should be a function or macro -SetOutPath '$INSTDIR\profiles\Bluetooth' -File "${STAGING_DIR}\profiles\Bluetooth\colorfilters" -File "${STAGING_DIR}\profiles\Bluetooth\preferences" -SetOutPath '$INSTDIR\profiles\Classic' -File "${STAGING_DIR}\profiles\Classic\colorfilters" -SetOutPath '$INSTDIR\profiles\No Reassembly' -File "${STAGING_DIR}\profiles\No Reassembly\preferences" -SectionEnd +SetOutPath '$INSTDIR\profiles\CloudTrail' +File "${TOP_SRC_DIR}\resources\share\logray\profiles\CloudTrail\colorfilters" +; File "${TOP_SRC_DIR}\resources\share\logray\profiles\CloudTrail\preferences" +; SetOutPath '$INSTDIR\profiles\Classic' +; File "${TOP_SRC_DIR}\resources\share\logray\profiles\Classic\colorfilters" +; SetOutPath '$INSTDIR\profiles\No Reassembly' +; File "${TOP_SRC_DIR}\resources\share\logray\profiles\No Reassembly\preferences" + !ifdef SMI_DIR -Section "SNMP MIBs" SecMIBs ;------------------------------------------- SetOutPath '$INSTDIR\snmp\mibs' File "${SMI_DIR}\share\mibs\iana\*" @@ -919,89 +955,75 @@ File "${SMI_DIR}\share\mibs\tubs\*" File "${SMI_DIR}\share\pibs\*" File "${SMI_DIR}\share\yang\*.yang" !include "custom_mibs.txt" -SectionEnd !endif -SectionGroupEnd ; "Plugins / Extensions" - +SetOutPath '$INSTDIR\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\epan' +File "${STAGING_DIR}\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\epan\transum.dll" -SectionGroup "Tools" SecToolsGroup +SetOutPath '$INSTDIR\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\epan' +File "${STAGING_DIR}\plugins\${MAJOR_VERSION}.${MINOR_VERSION}\epan\stats_tree.dll" -Section "Editcap" SecEditcap -;------------------------------------------- -SetOutPath $INSTDIR -File "${STAGING_DIR}\editcap.exe" -File "${STAGING_DIR}\editcap.html" -SectionEnd +SectionEnd ; "Plugins / Extensions" -Section "Text2Pcap" SecText2Pcap -;------------------------------------------- -SetOutPath $INSTDIR -File "${STAGING_DIR}\text2pcap.exe" -File "${STAGING_DIR}\text2pcap.html" -SectionEnd +Section "-Additional command line tools" -Section "Mergecap" SecMergecap -;------------------------------------------- -SetOutPath $INSTDIR -File "${STAGING_DIR}\mergecap.exe" -File "${STAGING_DIR}\mergecap.html" -SectionEnd - -Section "Reordercap" SecReordercap -;------------------------------------------- -SetOutPath $INSTDIR -File "${STAGING_DIR}\reordercap.exe" -File "${STAGING_DIR}\reordercap.html" -SectionEnd - -Section "Capinfos" SecCapinfos -;------------------------------------------- SetOutPath $INSTDIR File "${STAGING_DIR}\capinfos.exe" File "${STAGING_DIR}\capinfos.html" -SectionEnd -Section "Captype" SecCaptype -;------------------------------------------- -SetOutPath $INSTDIR File "${STAGING_DIR}\captype.exe" File "${STAGING_DIR}\captype.html" -SectionEnd -Section /o "Randpkt" SecRandpkt -;------------------------------------------- -SetOutPath $INSTDIR -File "${STAGING_DIR}\randpkt.exe" -File "${STAGING_DIR}\randpkt.html" -SectionEnd +File "${STAGING_DIR}\editcap.exe" +File "${STAGING_DIR}\editcap.html" + +File "${STAGING_DIR}\mergecap.exe" +File "${STAGING_DIR}\mergecap.html" !ifdef MMDBRESOLVE_EXE -Section "MMDBResolve" SecMMDBResolve -;------------------------------------------- -SetOutPath $INSTDIR File "${STAGING_DIR}\mmdbresolve.html" -SetOutPath $INSTDIR File "${STAGING_DIR}\mmdbresolve.exe" -SectionEnd !endif -Section /o "Etwdump" SecEtwdump +File "${STAGING_DIR}\randpkt.exe" +File "${STAGING_DIR}\randpkt.html" + +File "${STAGING_DIR}\rawshark.exe" +File "${STAGING_DIR}\rawshark.html" + +File "${STAGING_DIR}\reordercap.exe" +File "${STAGING_DIR}\reordercap.html" + +File "${STAGING_DIR}\sharkd.exe" +;File "${STAGING_DIR}\sharkd.html" + +File "${STAGING_DIR}\text2pcap.exe" +File "${STAGING_DIR}\text2pcap.html" + +SectionEnd ; "Tools" + +SectionGroup /e "External capture tools (extcap)" SecExtcapGroup + +Section "Falcodump" SecFalcodump ;------------------------------------------- - !insertmacro InstallExtcap "Etwdump" + !insertmacro InstallExtcap "falcodump" SectionEnd -!insertmacro CheckExtrasFlag "Etwdump" +!insertmacro CheckExtrasFlag "falcodump" -SectionGroupEnd ; "Tools" +SectionGroupEnd ; "External Capture (extcap)" -!ifdef DOCBOOK_DIR +Section "-Clear Partial Selected" +!insertmacro ClearSectionFlag ${SecExtcapGroup} ${SF_PSELECTED} +SectionEnd + +!ifdef DOC_DIR Section "Documentation" SecDocumentation ;------------------------------------------- SetOutPath "$INSTDIR\Wireshark User's Guide" -File /r "${DOCBOOK_DIR}\wsug_html_chunked\*.*" +File /r "${DOC_DIR}\wsug_html_chunked\*.*" SetOutPath $INSTDIR -File "${DOCBOOK_DIR}\faq.html" +File "${DOC_DIR}\faq.html" SectionEnd !endif @@ -1017,40 +1039,264 @@ WriteRegDWORD HKEY_LOCAL_MACHINE "${UNINSTALL_PATH}" "EstimatedSize" "$0" SectionEnd ; ============================================================================ +; Section macros +; ============================================================================ +!include "Sections.nsh" + +; ============================================================================ +; Uninstall page configuration +; ============================================================================ +ShowUninstDetails show + +; ============================================================================ +; Functions and macros +; ============================================================================ + +Function un.Disassociate + Push $R0 +!insertmacro PushFileExtensions + + Pop $EXTENSION + ${DoUntil} $EXTENSION == ${FILE_EXTENSION_MARKER} + ReadRegStr $R0 HKCR $EXTENSION "" + StrCmp $R0 ${LOGRAY_ASSOC} un.Disassociate.doDeregister + Goto un.Disassociate.end +un.Disassociate.doDeregister: + ; The extension is associated with Logray so, we must destroy this! + DeleteRegKey HKCR $EXTENSION + DetailPrint "Deregistered file type: $EXTENSION" +un.Disassociate.end: + Pop $EXTENSION + ${Loop} + + Pop $R0 +FunctionEnd + +Section "-Required" +SectionEnd + +!define EXECUTABLE_MARKER "EXECUTABLE_MARKER" +Var EXECUTABLE + +Section "Uninstall" un.SecUinstall +;------------------------------------------- +; +; UnInstall for every user +; +SectionIn 1 2 +SetShellVarContext all + +!insertmacro IsLograyRunning + +Push "${EXECUTABLE_MARKER}" +Push "${PROGRAM_NAME}" +Push "capinfos" +Push "captype" +Push "dftest" +Push "dumpcap" +Push "editcap" +Push "mergecap" +Push "randpkt" +Push "rawshark" +Push "reordercap" +Push "sharkd" +Push "text2pcap" +Push "tshark" + +!ifdef MMDBRESOLVE_EXE +Push "mmdbresolve" +!endif + +Pop $EXECUTABLE +${DoUntil} $EXECUTABLE == ${EXECUTABLE_MARKER} + + ; IsLograyRunning should make sure everything is closed down so we *shouldn't* run + ; into any problems here. + Delete "$INSTDIR\$EXECUTABLE.exe" + IfErrors 0 deletionSuccess + MessageBox MB_OK "$EXECUTABLE.exe could not be removed. Is it in use?" /SD IDOK IDOK 0 + Abort "$EXECUTABLE.exe could not be removed. Aborting the uninstall process." + +deletionSuccess: + Pop $EXECUTABLE + +${Loop} + + +DeleteRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PROGRAM_NAME}" +DeleteRegKey HKEY_LOCAL_MACHINE "Software\${PROGRAM_NAME}" +DeleteRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\${PROGRAM_NAME}.exe" + +Call un.Disassociate + +DeleteRegKey HKCR ${LOGRAY_ASSOC} +DeleteRegKey HKCR "${LOGRAY_ASSOC}\Shell\open\command" +DeleteRegKey HKCR "${LOGRAY_ASSOC}\DefaultIcon" + +Delete "$INSTDIR\*.dll" +Delete "$INSTDIR\*.exe" +Delete "$INSTDIR\*.html" +Delete "$INSTDIR\*.qm" +Delete "$INSTDIR\accessible\*.*" +Delete "$INSTDIR\AUTHORS-SHORT" +Delete "$INSTDIR\COPYING*" +Delete "$INSTDIR\audio\*.*" +Delete "$INSTDIR\bearer\*.*" +Delete "$INSTDIR\diameter\*.*" +Delete "$INSTDIR\extcap\logray\falcodump.*" +Delete "$INSTDIR\gpl-2.0-standalone.html" +Delete "$INSTDIR\Acknowledgements.md" +Delete "$INSTDIR\generic\*.*" +Delete "$INSTDIR\help\*.*" +Delete "$INSTDIR\iconengines\*.*" +Delete "$INSTDIR\imageformats\*.*" +Delete "$INSTDIR\mediaservice\*.*" +Delete "$INSTDIR\multimedia\*.*" +Delete "$INSTDIR\networkinformation\*.*" +Delete "$INSTDIR\platforms\*.*" +Delete "$INSTDIR\playlistformats\*.*" +Delete "$INSTDIR\printsupport\*.*" +Delete "$INSTDIR\share\glib-2.0\schemas\*.*" +Delete "$INSTDIR\snmp\*.*" +Delete "$INSTDIR\snmp\mibs\*.*" +Delete "$INSTDIR\styles\translations\*.*" +Delete "$INSTDIR\styles\*.*" +Delete "$INSTDIR\protobuf\*.*" +Delete "$INSTDIR\tls\*.*" +Delete "$INSTDIR\tpncp\*.*" +Delete "$INSTDIR\translations\*.*" +Delete "$INSTDIR\ui\*.*" +Delete "$INSTDIR\wimaxasncp\*.*" +Delete "$INSTDIR\ws.css" +; previous versions installed these files +Delete "$INSTDIR\*.manifest" +; previous versions installed this file +Delete "$INSTDIR\AUTHORS-SHORT-FORMAT" +Delete "$INSTDIR\README*" +Delete "$INSTDIR\manuf" +Delete "$INSTDIR\wka" +Delete "$INSTDIR\services" +Delete "$INSTDIR\pdml2html.xsl" +Delete "$INSTDIR\pcrepattern.3.txt" +Delete "$INSTDIR\example_snmp_users_file" +Delete "$INSTDIR\ipmap.html" +Delete "$INSTDIR\radius\*.*" +Delete "$INSTDIR\dtds\*.*" +Delete "$INSTDIR\browser_sslkeylog.lua" +Delete "$INSTDIR\console.lua" +Delete "$INSTDIR\dtd_gen.lua" +Delete "$INSTDIR\init.lua" +Delete "$INSTDIR\release-notes.html" + +RMDir "$INSTDIR\accessible" +RMDir "$INSTDIR\audio" +RMDir "$INSTDIR\bearer" +RMDir "$INSTDIR\extcap" +RMDir "$INSTDIR\extcap\logray" +RMDir "$INSTDIR\iconengines" +RMDir "$INSTDIR\imageformats" +RMDir "$INSTDIR\mediaservice" +RMDir "$INSTDIR\multimedia" +RMDir "$INSTDIR\networkinformation" +RMDir "$INSTDIR\platforms" +RMDir "$INSTDIR\playlistformats" +RMDir "$INSTDIR\printsupport" +RMDir "$INSTDIR\styles\translations" +RMDir "$INSTDIR\styles" +RMDir "$SMPROGRAMS\${PROGRAM_NAME}" +RMDir "$INSTDIR\help" +RMDir "$INSTDIR\generic" +RMDir /r "$INSTDIR\Wireshark User's Guide" +RMDir "$INSTDIR\diameter" +RMDir "$INSTDIR\snmp\mibs" +RMDir "$INSTDIR\snmp" +RMDir "$INSTDIR\radius" +RMDir "$INSTDIR\dtds" +RMDir "$INSTDIR\protobuf" +RMDir "$INSTDIR\tls" +RMDir "$INSTDIR\tpncp" +RMDir "$INSTDIR\translations" +RMDir "$INSTDIR\ui" +RMDir "$INSTDIR\wimaxasncp" +RMDir "$INSTDIR" + +SectionEnd ; "Uinstall" + +Section "Un.Plugins" un.SecPlugins +;------------------------------------------- +SectionIn 1 2 +;Delete "$INSTDIR\plugins\${VERSION}\*.*" +;Delete "$INSTDIR\plugins\*.*" +;RMDir "$INSTDIR\plugins\${VERSION}" +;RMDir "$INSTDIR\plugins" +RMDir /r "$INSTDIR\plugins" +SectionEnd + +Section "Un.Global Profiles" un.SecProfiles +;------------------------------------------- +SectionIn 1 2 +RMDir /r "$INSTDIR\profiles" +SectionEnd + +Section "Un.Global Settings" un.SecGlobalSettings +;------------------------------------------- +SectionIn 1 2 +Delete "$INSTDIR\colorfilters" +Delete "$INSTDIR\dfilter_buttons" +Delete "$INSTDIR\dfilters" +Delete "$INSTDIR\smi_modules" +RMDir "$INSTDIR" +SectionEnd + +Section /o "Un.Personal Settings" un.SecPersonalSettings +;------------------------------------------- +SectionIn 2 +SetShellVarContext current +Delete "$APPDATA\${PROGRAM_NAME}\*.*" +RMDir "$APPDATA\${PROGRAM_NAME}" +DeleteRegKey HKCU "Software\${PROGRAM_NAME}" +SectionEnd + +Section "-Un.Finally" +;------------------------------------------- +SectionIn 1 2 + +!insertmacro UpdateIcons + +; this test must be done after all other things uninstalled (e.g. Global Settings) +IfFileExists "$INSTDIR" 0 NoFinalErrorMsg + MessageBox MB_OK "Unable to remove $INSTDIR." /SD IDOK IDOK 0 ; skipped if dir doesn't exist +NoFinalErrorMsg: +SectionEnd + +; Sign our installer and uninstaller during compilation. +!ifdef ENABLE_SIGNED_NSIS +!finalize 'sign-logray.bat "%1"' = 0 ; %1 is replaced by the installer exe to be signed. +!uninstfinalize 'sign-logray.bat "%1"' = 0 ; %1 is replaced by the uninstaller exe to be signed. +!endif + +; ============================================================================ ; PLEASE MAKE SURE, THAT THE DESCRIPTIVE TEXT FITS INTO THE DESCRIPTION FIELD! ; ============================================================================ !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !ifdef QT_DIR - !insertmacro MUI_DESCRIPTION_TEXT ${SecLograyQt} "The main network protocol analyzer application." + !insertmacro MUI_DESCRIPTION_TEXT ${SecLograyQt} "The main syscall and log analyzer application." !endif !insertmacro MUI_DESCRIPTION_TEXT ${SecTShark} "Text based network protocol analyzer." - !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." - !insertmacro MUI_DESCRIPTION_TEXT ${SecMate} "Plugin - Meta Analysis and Tracing Engine (Experimental)." - !insertmacro MUI_DESCRIPTION_TEXT ${SecProfiles} "Configuration profiles" - -!ifdef SMI_DIR - !insertmacro MUI_DESCRIPTION_TEXT ${SecMIBs} "SNMP MIBs for better SNMP dissection." -!endif + !insertmacro MUI_DESCRIPTION_TEXT ${SecExtcapGroup} "External Capture Interfaces" + !insertmacro MUI_DESCRIPTION_TEXT ${SecFalcodump} "Provide capture interfaces from Falco plugins." - !insertmacro MUI_DESCRIPTION_TEXT ${SecToolsGroup} "Additional command line based tools." - !insertmacro MUI_DESCRIPTION_TEXT ${SecEtwdump} "Provide ETW reader" - !insertmacro MUI_DESCRIPTION_TEXT ${SecEditCap} "Copy packets to a new file, optionally trimming packets, omitting them, or saving to a different format." - !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." - !insertmacro MUI_DESCRIPTION_TEXT ${SecCapinfos} "Print information about capture files." - !insertmacro MUI_DESCRIPTION_TEXT ${SecCaptype} "Print the types capture files." - !insertmacro MUI_DESCRIPTION_TEXT ${SecRandpkt} "Random packet generator." - !insertmacro MUI_DESCRIPTION_TEXT ${SecMMDBResolve} "MaxMind Database resolution tool" - -!ifdef DOCBOOK_DIR - !insertmacro MUI_DESCRIPTION_TEXT ${SecDocumentation} "Install an offline copy of the User's Guide and FAQ." -!endif !insertmacro MUI_FUNCTION_DESCRIPTION_END +!insertmacro MUI_UNFUNCTION_DESCRIPTION_BEGIN + !insertmacro MUI_DESCRIPTION_TEXT ${un.SecUinstall} "Uninstall all ${PROGRAM_NAME} components." + !insertmacro MUI_DESCRIPTION_TEXT ${un.SecPlugins} "Uninstall all Plugins (even from previous ${PROGRAM_NAME} versions)." + !insertmacro MUI_DESCRIPTION_TEXT ${un.SecProfiles} "Uninstall all global configuration profiles." + !insertmacro MUI_DESCRIPTION_TEXT ${un.SecGlobalSettings} "Uninstall global settings like: $INSTDIR\colorfilters" + !insertmacro MUI_DESCRIPTION_TEXT ${un.SecPersonalSettings} "Uninstall personal settings like your preferences file from your profile: $PROFILE." +!insertmacro MUI_UNFUNCTION_DESCRIPTION_END + ; ============================================================================ ; Callback functions ; ============================================================================ |