7 !ifdef MAKENSIS_MODERN_UI
8 ; Set the compression mechanism first
12 !ifdef GTK1_DIR & GTK2_DIR
13 InstType "Ethereal (GTK2 user interface)"
14 InstType "Ethereal (legacy GTK1 user interface)"
17 ; Used to refresh the display of file association
18 !define SHCNE_ASSOCCHANGED 0x08000000
19 !define SHCNF_IDLIST 0
21 ; Used to add associations between file extensions and Ethereal
22 !define ETHEREAL_ASSOC "ethereal-file"
25 ; ============================================================================
26 ; Header configuration
27 ; ============================================================================
28 ; The name of the installer
29 !define PROGRAM_NAME "Ethereal"
31 Name "${PROGRAM_NAME} ${VERSION}"
34 OutFile "${DEST}-setup-${VERSION}.exe"
36 ; Icon of installer and uninstaller
37 Icon "..\..\image\ethereal.ico"
38 UninstallIcon "..\..\image\ethereal.ico"
40 ; Uninstall stuff (this text isn't used with the MODERN_UI!)
41 UninstallText "This will uninstall Ethereal.\r\nBefore starting the uninstallation, make sure Ethereal is not running.\r\nClick 'Next' to continue."
46 !ifdef MAKENSIS_MODERN_UI
48 ; ============================================================================
50 ; ============================================================================
51 ; The modern user interface will look much better than the common one.
52 ; However, as the development of the modern UI is still going on, and the script
53 ; syntax changes, you will need exactly that NSIS version, which this script is
54 ; made for. This is the current (December 2003) latest version: V2.0b4
55 ; If you are using a different version, it's not predictable what will happen.
59 !define MUI_ICON "..\..\image\ethereal.ico"
60 !define MUI_UNICON "..\..\image\ethereal.ico"
62 !define MUI_COMPONENTSPAGE_SMALLDESC
63 !define MUI_FINISHPAGE_NOAUTOCLOSE
64 !define MUI_UNFINISHPAGE_NOAUTOCLOSE
65 !define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of Ethereal.\r\n\r\nBefore starting the installation, make sure Ethereal is not running.\r\n\r\nClick 'Next' to continue."
66 !define MUI_FINISHPAGE_LINK "Install WinPcap to be able to capture packets from a network!"
67 !define MUI_FINISHPAGE_LINK_LOCATION "http://winpcap.polito.it"
69 ; NSIS shows Readme files by opening the Readme file with the default application for
70 ; the file's extension. "README.win32" won't work in most cases, because extension "win32"
71 ; is usually not associated with an appropriate text editor. We should use extension "txt"
72 ; for a text file or "html" for an html README file.
73 !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\NEWS.txt"
74 !define MUI_FINISHPAGE_SHOWREADME_TEXT "Show News"
75 !define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
77 ; ============================================================================
79 ; ============================================================================
81 !insertmacro MUI_PAGE_WELCOME
82 !insertmacro MUI_PAGE_LICENSE "..\..\COPYING"
83 !insertmacro MUI_PAGE_COMPONENTS
84 !insertmacro MUI_PAGE_DIRECTORY
85 !insertmacro MUI_PAGE_INSTFILES
86 !insertmacro MUI_PAGE_FINISH
88 !insertmacro MUI_UNPAGE_WELCOME
89 !insertmacro MUI_UNPAGE_CONFIRM
90 !insertmacro MUI_UNPAGE_INSTFILES
91 !insertmacro MUI_UNPAGE_FINISH
93 ; ============================================================================
95 ; ============================================================================
97 !insertmacro MUI_LANGUAGE "English"
99 !endif ; MAKENSIS_MODERN_UI
101 ; ============================================================================
103 ; ============================================================================
104 !include "Sections.nsh"
106 ; ========= Macro to unselect and disable a section =========
108 !macro DisableSection SECTION
111 SectionGetFlags "${SECTION}" $0
112 IntOp $0 $0 & ${SECTION_OFF}
113 IntOp $0 $0 | ${SF_RO}
114 SectionSetFlags "${SECTION}" $0
119 ; ========= Macro to enable (unreadonly) a section =========
120 !define SECTION_ENABLE 0xFFFFFFEF
121 !macro EnableSection SECTION
124 SectionGetFlags "${SECTION}" $0
125 IntOp $0 $0 & ${SECTION_ENABLE}
126 SectionSetFlags "${SECTION}" $0
131 ; ============================================================================
132 ; License page configuration
133 ; ============================================================================
134 LicenseText "Ethereal is distributed under the GNU General Public License."
135 LicenseData "..\..\COPYING"
137 ; ============================================================================
138 ; Component page configuration
139 ; ============================================================================
140 ComponentText "The following components are available for installation."
142 ; Component check boxes
143 ; Commented out for NSIS v 2.0
144 ; EnabledBitmap "..\..\image\nsis-checked.bmp"
145 ; DisabledBitmap "..\..\image\nsis-unchecked.bmp"
147 ; ============================================================================
148 ; Directory selection page configuration
149 ; ============================================================================
150 ; The text to prompt the user to enter a directory
151 DirText "Choose a directory in which to install Ethereal."
153 ; The default installation directory
154 InstallDir $PROGRAMFILES\Ethereal\
156 ; See if this is an upgrade; if so, use the old InstallDir as default
157 InstallDirRegKey HKEY_LOCAL_MACHINE SOFTWARE\Ethereal "InstallDir"
160 ; ============================================================================
161 ; Install page configuration
162 ; ============================================================================
165 ; ============================================================================
166 ; Functions and macros
167 ; ============================================================================
173 !define UPDATEICONS_UNIQUE ${__LINE__}
175 IfFileExists "$SYSDIR\shell32.dll" UpdateIcons.next1_${UPDATEICONS_UNIQUE} UpdateIcons.error1_${UPDATEICONS_UNIQUE}
176 UpdateIcons.next1_${UPDATEICONS_UNIQUE}:
177 GetDllVersion "$SYSDIR\shell32.dll" $R0 $R1
178 IntOp $R2 $R0 / 0x00010000
179 IntCmp $R2 4 UpdateIcons.next2_${UPDATEICONS_UNIQUE} UpdateIcons.error2_${UPDATEICONS_UNIQUE}
180 UpdateIcons.next2_${UPDATEICONS_UNIQUE}:
181 System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (${SHCNE_ASSOCCHANGED}, ${SHCNF_IDLIST}, 0, 0)'
182 Goto UpdateIcons.quit_${UPDATEICONS_UNIQUE}
184 UpdateIcons.error1_${UPDATEICONS_UNIQUE}:
185 MessageBox MB_OK|MB_ICONSTOP "Can't find 'shell32.dll' library. Impossible to update icons"
186 Goto UpdateIcons.quit_${UPDATEICONS_UNIQUE}
187 UpdateIcons.error2_${UPDATEICONS_UNIQUE}:
188 MessageBox MB_OK|MB_ICONINFORMATION "You should install the free 'Microsoft Layer for Unicode' to update Ethereal capture file icons"
189 Goto UpdateIcons.quit_${UPDATEICONS_UNIQUE}
190 UpdateIcons.quit_${UPDATEICONS_UNIQUE}:
191 !undef UPDATEICONS_UNIQUE
199 ; $R0 should contain the prefix to associate to Ethereal
202 ReadRegStr $R1 HKCR $R0 ""
203 StrCmp $R1 "" Associate.doRegister
205 Associate.doRegister:
206 ;The extension is not associated to any program, we can do the link
207 WriteRegStr HKCR $R0 "" ${ETHEREAL_ASSOC}
213 ; $R0 should contain the prefix to unlink
216 ReadRegStr $R1 HKCR $R0 ""
217 StrCmp $R1 ${ETHEREAL_ASSOC} un.unlink.doUnlink
220 ; The extension is associated with Ethereal so, we must destroy this!
221 DeleteRegKey HKCR $R0
226 ; ============================================================================
227 ; Installation execution commands
228 ; ============================================================================
231 ;-------------------------------------------
234 ; Install for every user
236 !ifdef GTK1_DIR & GTK2_DIR
239 SetShellVarContext all
242 File "..\..\wiretap\wiretap-${WTAP_VERSION}.dll"
243 !ifdef ENABLE_LIBETHEREAL
244 File "..\..\epan\libethereal.dll"
246 File "${GLIB_DIR}\bin\libglib-2.0-0.dll"
247 File "${GLIB_DIR}\bin\libgmodule-2.0-0.dll"
248 File "${GLIB_DIR}\bin\libgobject-2.0-0.dll"
249 File "${ICONV_DIR}\bin\iconv.dll"
250 File "${GETTEXT_DIR}\bin\intl.dll"
252 File "${ZLIB_DIR}\zlib1.dll"
255 File "${ADNS_DIR}\adns_win32\LIB\adns_dll.dll"
258 File "${PCRE_DIR}\bin\pcre.dll"
259 File "${PCRE_DIR}\man\cat3\pcrepattern.3.txt"
263 File "..\..\README.win32"
264 File "..\..\AUTHORS-SHORT"
265 File "..\..\AUTHORS-SHORT-FORMAT"
269 File "..\..\doc\ethereal.html"
270 File "..\..\doc\ethereal-filter.html"
273 ; Install the Diameter DTD and XML files in the "diameter" subdirectory
274 ; of the installation directory.
276 SetOutPath $INSTDIR\diameter
277 File "..\..\dictionary.dtd"
278 File "..\..\dictionary.xml"
279 File "..\..\imscxdx.xml"
280 File "..\..\mobileipv4.xml"
281 File "..\..\nasreq.xml"
282 File "..\..\sunping.xml"
285 SetOutPath $INSTDIR\help
286 File "..\..\help\toc"
287 File "..\..\help\overview.txt"
288 File "..\..\help\getting_started.txt"
289 File "..\..\help\capturing.txt"
290 File "..\..\help\capture_filters.txt"
291 File "..\..\help\display_filters.txt"
292 File "..\..\help\faq.txt"
294 ; Write the uninstall keys for Windows
295 WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal" "DisplayVersion" "${VERSION}"
296 WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal" "DisplayName" "Ethereal ${VERSION}"
297 WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal" "UninstallString" '"$INSTDIR\uninstall.exe"'
298 WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal" "Publisher" "The Ethereal developer community, http://www.ethereal.com"
299 WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal" "HelpLink" "mailto:ethereal-users@ethereal.com"
300 WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal" "URLInfoAbout" "http://www.ethereal.com"
301 WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal" "URLUpdateInfo" "http://www.ethereal.com/distribution/win32/"
302 WriteRegDWORD HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal" "NoModify" 1
303 WriteRegDWORD HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal" "NoRepair" 1
304 WriteUninstaller "uninstall.exe"
308 Section "Ethereal GTK1" SecEtherealGTK1
309 ;-------------------------------------------
310 !ifdef GTK1_DIR & GTK2_DIR
314 File "..\..\ethereal.exe"
315 File "${GTK1_DIR}\lib\libgtk-0.dll"
316 File "${GTK1_DIR}\lib\libgdk-0.dll"
321 Section "Ethereal GTK2" SecEtherealGTK2
322 ;-------------------------------------------
323 !ifdef GTK1_DIR & GTK2_DIR
327 File /oname=ethereal.exe "..\..\ethereal-gtk2.exe"
328 File "${GTK2_DIR}\bin\libgdk-win32-2.0-0.dll"
329 File "${GTK2_DIR}\bin\libgdk_pixbuf-2.0-0.dll"
330 File "${GTK2_DIR}\bin\libgtk-win32-2.0-0.dll"
331 File "${GTK2_DIR}\bin\libatk-1.0-0.dll"
332 File "${GTK2_DIR}\bin\libpango-1.0-0.dll"
333 File "${GTK2_DIR}\bin\libpangowin32-1.0-0.dll"
334 SetOutPath $INSTDIR\etc\gtk-2.0
335 File "${GTK2_DIR}\etc\gtk-2.0\*.*"
336 SetOutPath $INSTDIR\etc\pango
337 File "${GTK2_DIR}\etc\pango\pango.*"
338 SetOutPath $INSTDIR\lib\gtk-2.0\${GTK2_INST_VERSION}.0\loaders
339 File "${GTK2_DIR}\lib\gtk-2.0\${GTK2_INST_VERSION}.0\loaders\libpixbufloader-*.dll"
340 SetOutPath $INSTDIR\lib\gtk-2.0\${GTK2_INST_VERSION}.0\immodules
341 File "${GTK2_DIR}\lib\gtk-2.0\${GTK2_INST_VERSION}.0\immodules\im-*.dll"
342 SetOutPath $INSTDIR\lib\pango\${PANGO_INST_VERSION}.0\modules
343 File "${GTK2_DIR}\lib\pango\${PANGO_INST_VERSION}.0\modules\pango-*.dll"
347 Section "GTK-Wimp" SecGTKWimp
348 ;-------------------------------------------
349 SetOutPath $INSTDIR\lib\gtk-2.0\${GTK2_INST_VERSION}.0\engines
350 File "${GTK_WIMP_DIR}\libwimp.dll"
351 SetOutPath $INSTDIR\share\themes\Default\gtk-2.0
352 File "${GTK_WIMP_DIR}\Theme\gtk-2.0\gtkrc"
357 Section "Tethereal" SecTethereal
358 ;-------------------------------------------
359 !ifdef GTK1_DIR & GTK2_DIR
363 File "..\..\tethereal.exe"
364 File "..\..\doc\tethereal.html"
367 Section "Editcap" SecEditcap
368 ;-------------------------------------------
369 !ifdef GTK1_DIR & GTK2_DIR
373 File "..\..\editcap.exe"
374 File "..\..\doc\editcap.html"
377 Section "Text2Pcap" SecText2Pcap
378 ;-------------------------------------------
379 !ifdef GTK1_DIR & GTK2_DIR
383 File "..\..\text2pcap.exe"
384 File "..\..\doc\text2pcap.html"
387 Section "Mergecap" SecMergecap
388 ;-------------------------------------------
389 !ifdef GTK1_DIR & GTK2_DIR
393 File "..\..\mergecap.exe"
394 File "..\..\doc\mergecap.html"
397 Section "Capinfo" SecCapinfo
398 ;-------------------------------------------
399 !ifdef GTK1_DIR & GTK2_DIR
403 File "..\..\capinfo.exe"
404 File "..\..\doc\capinfo.html"
408 Section "Plugins" SecPlugins
409 ;-------------------------------------------
410 !ifdef GTK1_DIR & GTK2_DIR
413 SetOutPath $INSTDIR\plugins\${VERSION}
414 File "..\..\plugins\acn\acn.dll"
415 File "..\..\plugins\artnet\artnet.dll"
416 File "..\..\plugins\asn1\asn1.dll"
417 File "..\..\plugins\ciscosm\ciscosm.dll"
418 File "..\..\plugins\docsis\docsis.dll"
419 File "..\..\plugins\enttec\enttec.dll"
420 File "..\..\plugins\giop\coseventcomm.dll"
421 File "..\..\plugins\giop\cosnaming.dll"
422 File "..\..\plugins\gryphon\gryphon.dll"
423 File "..\..\plugins\irda\irda.dll"
424 File "..\..\plugins\lwres\lwres.dll"
425 File "..\..\plugins\megaco\megaco.dll"
426 File "..\..\plugins\mgcp\mgcp.dll"
427 File "..\..\plugins\opsi\opsi.dll"
428 File "..\..\plugins\pcli\pcli.dll"
429 File "..\..\plugins\rdm\rdm.dll"
430 File "..\..\plugins\rlm\rlm.dll"
431 File "..\..\plugins\rtnet\rtnet.dll"
432 File "..\..\plugins\rudp\rudp.dll"
433 File "..\..\plugins\v5ua\v5ua.dll"
436 Section "SNMP MIBs" SecMIBs
437 ;-------------------------------------------
438 !ifdef GTK1_DIR & GTK2_DIR
441 SetOutPath $INSTDIR\snmp\mibs
442 File "${NET_SNMP_DIR}\mibs\*.txt"
446 ;-------------------------------------------
448 Section "Start Menu Shortcuts" SecShortcuts
449 ;-------------------------------------------
450 !ifdef GTK1_DIR & GTK2_DIR
454 CreateDirectory "$SMPROGRAMS\Ethereal"
456 Delete "$SMPROGRAMS\Ethereal\Ethereal Web Site.lnk"
457 WriteINIStr "$SMPROGRAMS\Ethereal\Ethereal Web Site.url" \
458 "InternetShortcut" "URL" "http://www.ethereal.com/"
459 CreateShortCut "$SMPROGRAMS\Ethereal\Ethereal.lnk" "$INSTDIR\ethereal.exe"
460 CreateShortCut "$SMPROGRAMS\Ethereal\Ethereal Manual.lnk" "$INSTDIR\ethereal.html"
461 CreateShortCut "$SMPROGRAMS\Ethereal\Display Filters Manual.lnk" "$INSTDIR\ethereal-filter.html"
462 CreateShortCut "$SMPROGRAMS\Ethereal\Ethereal Program Directory.lnk" \
464 CreateShortCut "$SMPROGRAMS\Ethereal\Uninstall Ethereal.lnk" "$INSTDIR\uninstall.exe"
467 Section "Desktop Icon" SecDesktopIcon
468 ;-------------------------------------------
469 !ifdef GTK1_DIR & GTK2_DIR
472 CreateShortCut "$DESKTOP\Ethereal.lnk" "$INSTDIR\ethereal.exe"
475 Section "Associate file extensions to Ethereal" SecFileExtensions
476 ;-------------------------------------------
477 !ifdef GTK1_DIR & GTK2_DIR
480 WriteRegStr HKCR ${ETHEREAL_ASSOC} "" "Ethereal file"
481 WriteRegStr HKCR "${ETHEREAL_ASSOC}\Shell\open\command" "" '"$INSTDIR\ethereal.exe" "%1"'
482 WriteRegStr HKCR "${ETHEREAL_ASSOC}\DefaultIcon" "" '"$INSTDIR\ethereal.exe",0'
523 !insertmacro UpdateIcons
527 ;-------------------------------------------
530 ; UnInstall for every user
532 SetShellVarContext all
534 Delete "$INSTDIR\tethereal.exe"
535 IfErrors 0 NoTetherealErrorMsg
536 MessageBox MB_OK "Please note: tethereal.exe could not be removed, it's probably in use!" IDOK 0 ;skipped if tethereal.exe removed
537 Abort "Please note: tethereal.exe could not be removed, it's probably in use! Abort uninstall process!"
540 Delete "$INSTDIR\ethereal.exe"
541 IfErrors 0 NoEtherealErrorMsg
542 MessageBox MB_OK "Please note: ethereal.exe could not be removed, it's probably in use!" IDOK 0 ;skipped if ethereal.exe removed
543 Abort "Please note: ethereal.exe could not be removed, it's probably in use! Abort uninstall process!"
546 DeleteRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal"
547 DeleteRegKey HKEY_LOCAL_MACHINE SOFTWARE\Ethereal
590 DeleteRegKey HKCR ${ETHEREAL_ASSOC}
591 DeleteRegKey HKCR "${ETHEREAL_ASSOC}\Shell\open\command"
592 DeleteRegKey HKCR "${ETHEREAL_ASSOC}\DefaultIcon"
593 !insertmacro UpdateIcons
595 ; regardless if we currently installed GTK1 or 2, try to uninstall GTK2 files too
596 Delete "$INSTDIR\etc\gtk-2.0\*.*"
597 Delete "$INSTDIR\etc\pango\*.*"
598 Delete "$INSTDIR\lib\gtk-2.0\2.2.0\engines\*.*"
599 Delete "$INSTDIR\lib\gtk-2.0\2.2.0\loaders\*.*"
600 Delete "$INSTDIR\lib\gtk-2.0\2.2.0\immodules\*.*"
601 Delete "$INSTDIR\lib\gtk-2.0\2.4.0\engines\*.*"
602 Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\*.*"
603 Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\*.*"
604 Delete "$INSTDIR\lib\pango\1.2.0\modules\*.*"
605 Delete "$INSTDIR\lib\pango\1.4.0\modules\*.*"
606 Delete "$INSTDIR\share\themes\Default\gtk-2.0\*.*"
607 Delete "$INSTDIR\help\*.*"
608 Delete "$INSTDIR\plugins\${VERSION}\*.*"
609 Delete "$INSTDIR\plugins\*.*"
610 Delete "$INSTDIR\diameter\*.*"
611 Delete "$INSTDIR\snmp\mibs\*.*"
612 Delete "$INSTDIR\snmp\*.*"
613 Delete "$INSTDIR\*.exe"
614 Delete "$INSTDIR\*.dll"
615 Delete "$INSTDIR\*.html"
616 Delete "$INSTDIR\COPYING"
617 Delete "$INSTDIR\AUTHORS-SHORT"
618 Delete "$INSTDIR\AUTHORS-SHORT-FORMAT"
619 Delete "$INSTDIR\README*"
620 Delete "$INSTDIR\FAQ"
621 Delete "$INSTDIR\NEWS.txt"
622 Delete "$INSTDIR\manuf"
623 Delete "$INSTDIR\pcrepattern.3.txt"
624 Delete "$SMPROGRAMS\Ethereal\*.*"
625 Delete "$DESKTOP\Ethereal.lnk"
627 RMDir "$INSTDIR\etc\gtk-2.0"
628 RMDir "$INSTDIR\etc\pango"
630 RMDir "$INSTDIR\lib\gtk-2.0\2.2.0\engines"
631 RMDir "$INSTDIR\lib\gtk-2.0\2.2.0\loaders"
632 RMDir "$INSTDIR\lib\gtk-2.0\2.2.0\immodules"
633 RMDir "$INSTDIR\lib\gtk-2.0\2.2.0"
634 RMDir "$INSTDIR\lib\gtk-2.0\2.4.0\engines"
635 RMDir "$INSTDIR\lib\gtk-2.0\2.4.0\loaders"
636 RMDir "$INSTDIR\lib\gtk-2.0\2.4.0\immodules"
637 RMDir "$INSTDIR\lib\gtk-2.0\2.4.0"
638 RMDir "$INSTDIR\lib\gtk-2.0"
639 RMDir "$INSTDIR\lib\pango\1.2.0\modules"
640 RMDir "$INSTDIR\lib\pango\1.2.0"
641 RMDir "$INSTDIR\lib\pango\1.4.0\modules"
642 RMDir "$INSTDIR\lib\pango\1.4.0"
643 RMDir "$INSTDIR\lib\pango"
645 RMDir "$INSTDIR\share\themes\Default\gtk-2.0"
646 RMDir "$INSTDIR\share\themes\Default"
647 RMDir "$INSTDIR\share\themes"
648 RMDir "$INSTDIR\share"
649 RMDir "$SMPROGRAMS\Ethereal"
650 RMDir "$INSTDIR\help"
651 RMDir "$INSTDIR\plugins\${VERSION}"
652 RMDir "$INSTDIR\plugins"
653 RMDir "$INSTDIR\diameter"
654 RMDir "$INSTDIR\snmp\mibs"
655 RMDir "$INSTDIR\snmp"
658 IfFileExists "$INSTDIR" 0 NoFinalErrorMsg
659 MessageBox MB_OK "Please note: The directory $INSTDIR could not be removed!" IDOK 0 ; skipped if file doesn't exist
664 !ifdef MAKENSIS_MODERN_UI
665 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
667 !insertmacro MUI_DESCRIPTION_TEXT ${SecEtherealGTK1} "${PROGRAM_NAME} is a GUI network protocol analyzer."
670 !insertmacro MUI_DESCRIPTION_TEXT ${SecEtherealGTK2} "${PROGRAM_NAME} is a GUI network protocol analyzer (using the modern GTK2 GUI toolkit)."
672 !insertmacro MUI_DESCRIPTION_TEXT ${SecGTKWimp} "GTKWimp is the GTK2 windows impersonator (native Win32 look and feel)."
675 !insertmacro MUI_DESCRIPTION_TEXT ${SecTethereal} "Tethereal is a network protocol analyzer."
676 !insertmacro MUI_DESCRIPTION_TEXT ${SecEditCap} "Editcap is a program that reads a capture file and writes some or all of the packets into another capture file."
677 !insertmacro MUI_DESCRIPTION_TEXT ${SecText2Pcap} "Text2pcap is a program that reads in an ASCII hex dump and writes the data into a libpcap-style capture file."
678 !insertmacro MUI_DESCRIPTION_TEXT ${SecMergecap} "Mergecap is a program that combines multiple saved capture files into a single output file."
679 !insertmacro MUI_DESCRIPTION_TEXT ${SecCapinfo} "Capinfo is a program that provides information on capture files."
680 !insertmacro MUI_DESCRIPTION_TEXT ${SecPlugins} "Plugins with some extended dissections."
681 !insertmacro MUI_DESCRIPTION_TEXT ${SecMIBs} "SNMP MIBs for better SNMP dissection."
682 !insertmacro MUI_DESCRIPTION_TEXT ${SecShortcuts} "Start menu shortcuts."
683 !insertmacro MUI_DESCRIPTION_TEXT ${SecDesktopIcon} "Ethereal desktop icon."
684 !insertmacro MUI_DESCRIPTION_TEXT ${SecFileExtensions} "Associate standard network trace files to ${PROGRAM_NAME}"
685 !insertmacro MUI_FUNCTION_DESCRIPTION_END
686 !endif ; MAKENSIS_MODERN_UI
688 ; ============================================================================
690 ; ============================================================================
691 !ifdef GTK1_DIR & GTK2_DIR
692 ;Disable GTK-Wimp for GTK1
693 Function .onSelChange
695 SectionGetFlags ${SecEtherealGTK1} $0
697 IntCmp $0 1 onSelChange.disableGTK2Sections
699 !insertmacro EnableSection ${SecGTKWimp}
701 onSelChange.disableGTK2Sections:
702 !insertmacro DisableSection ${SecGTKWimp}
709 !ifdef GTK1_DIR | GTK2_DIR
710 ; Disable FileExtension if Ethereal isn't selected
711 Function .onSelChange
714 SectionGetFlags ${SecEtherealGTK1} $0
716 IntCmp $0 0 onSelChange.unselect
717 SectionGetFlags ${SecFileExtensions} $0
719 IntCmp $0 16 onSelChange.unreadonly
722 SectionGetFlags ${SecEtherealGTK2} $0
724 IntCmp $0 0 onSelChange.unselect
725 SectionGetFlags ${SecFileExtensions} $0
727 IntCmp $0 16 onSelChange.unreadonly
730 onSelChange.unselect:
731 SectionGetFlags ${SecFileExtensions} $0
732 IntOp $0 $0 & 0xFFFFFFFE
734 SectionSetFlags ${SecFileExtensions} $0
736 onSelChange.unreadonly:
737 SectionGetFlags ${SecFileExtensions} $0
738 IntOp $0 $0 & 0xFFFFFFEF
739 SectionSetFlags ${SecFileExtensions} $0