2001-04-04 04:50:05 +00:00
;
; ethereal.nsi
;
2004-07-17 20:34:41 +00:00
; $Id$
2004-02-03 01:06:21 +00:00
!ifdef MAKENSIS_MODERN_UI
; Set the compression mechanism first
SetCompressor lzma
!endif
2001-04-04 04:50:05 +00:00
2004-02-18 20:45:54 +00:00
!ifdef GTK1_DIR & GTK2_DIR
2004-05-14 02:46:38 +00:00
InstType "Ethereal (GTK2 user interface)"
InstType "Ethereal (legacy GTK1 user interface)"
2004-02-18 20:45:54 +00:00
!endif
2004-06-10 10:12:30 +00:00
; Used to refresh the display of file association
!define SHCNE_ASSOCCHANGED 0x08000000
!define SHCNF_IDLIST 0
; Used to add associations between file extensions and Ethereal
!define ETHEREAL_ASSOC "ethereal-file"
2001-04-04 04:50:05 +00:00
; ============================================================================
; Header configuration
; ============================================================================
; The name of the installer
2004-02-06 18:47:45 +00:00
!define PROGRAM_NAME "Ethereal"
Name "${PROGRAM_NAME} ${VERSION}"
2001-04-04 04:50:05 +00:00
; The file to write
2004-01-26 21:12:41 +00:00
OutFile "${DEST}-setup-${VERSION}.exe"
2001-04-04 04:50:05 +00:00
2003-04-09 18:58:37 +00:00
; Icon of installer and uninstaller
2001-04-04 04:50:05 +00:00
Icon "..\..\image\ethereal.ico"
2003-04-09 18:58:37 +00:00
UninstallIcon "..\..\image\ethereal.ico"
2001-04-04 04:50:05 +00:00
2004-02-09 18:23:25 +00:00
; Uninstall stuff (this text isn't used with the MODERN_UI!)
2004-02-06 18:47:45 +00:00
UninstallText "This will uninstall Ethereal.\r\nBefore starting the uninstallation, make sure Ethereal is not running.\r\nClick 'Next' to continue."
2001-04-04 04:50:05 +00:00
2003-04-09 18:58:37 +00:00
XPStyle on
2003-12-26 12:27:47 +00:00
!ifdef MAKENSIS_MODERN_UI
; ============================================================================
; Modern UI
; ============================================================================
; The modern user interface will look much better than the common one.
; However, as the development of the modern UI is still going on, and the script
; syntax changes, you will need exactly that NSIS version, which this script is
; made for. This is the current (December 2003) latest version: V2.0b4
; If you are using a different version, it's not predictable what will happen.
!include "MUI.nsh"
!define MUI_ICON "..\..\image\ethereal.ico"
!define MUI_UNICON "..\..\image\ethereal.ico"
!define MUI_COMPONENTSPAGE_SMALLDESC
2004-08-25 03:32:26 +00:00
!define MUI_FINISHPAGE_NOAUTOCLOSE
!define MUI_UNFINISHPAGE_NOAUTOCLOSE
2004-02-06 18:47:45 +00:00
!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."
2003-12-26 12:27:47 +00:00
!define MUI_FINISHPAGE_LINK "Install WinPcap to be able to capture packets from a network!"
!define MUI_FINISHPAGE_LINK_LOCATION "http://winpcap.polito.it"
2004-08-25 03:32:26 +00:00
; NSIS shows Readme files by opening the Readme file with the default application for
; the file's extension. "README.win32" won't work in most cases, because extension "win32"
; is usually not associated with an appropriate text editor. We should use extension "txt"
; for a text file or "html" for an html README file.
2004-08-26 22:48:29 +00:00
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\NEWS.txt"
!define MUI_FINISHPAGE_SHOWREADME_TEXT "Show News"
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
2003-12-26 12:27:47 +00:00
2005-02-03 02:35:20 +00:00
!define MUI_PAGE_CUSTOMFUNCTION_SHOW myShowCallback
2003-12-26 12:27:47 +00:00
; ============================================================================
; MUI Pages
; ============================================================================
!insertmacro MUI_PAGE_WELCOME
2004-01-05 15:27:35 +00:00
!insertmacro MUI_PAGE_LICENSE "..\..\COPYING"
2003-12-26 12:27:47 +00:00
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
; ============================================================================
; MUI Languages
; ============================================================================
!insertmacro MUI_LANGUAGE "English"
!endif ; MAKENSIS_MODERN_UI
2004-08-26 22:48:29 +00:00
; ============================================================================
; Section macros
; ============================================================================
!include "Sections.nsh"
; ========= Macro to unselect and disable a section =========
!macro DisableSection SECTION
Push $0
SectionGetFlags "${SECTION}" $0
IntOp $0 $0 & ${SECTION_OFF}
IntOp $0 $0 | ${SF_RO}
SectionSetFlags "${SECTION}" $0
Pop $0
!macroend
; ========= Macro to enable (unreadonly) a section =========
!define SECTION_ENABLE 0xFFFFFFEF
!macro EnableSection SECTION
Push $0
SectionGetFlags "${SECTION}" $0
IntOp $0 $0 & ${SECTION_ENABLE}
SectionSetFlags "${SECTION}" $0
Pop $0
!macroend
2001-04-04 04:50:05 +00:00
; ============================================================================
; License page configuration
; ============================================================================
LicenseText "Ethereal is distributed under the GNU General Public License."
2004-01-05 15:27:35 +00:00
LicenseData "..\..\COPYING"
2001-04-04 04:50:05 +00:00
; ============================================================================
; Component page configuration
; ============================================================================
2001-04-05 05:36:47 +00:00
ComponentText "The following components are available for installation."
2001-04-04 04:50:05 +00:00
2002-04-08 02:18:14 +00:00
; Component check boxes
2003-04-09 18:58:37 +00:00
; Commented out for NSIS v 2.0
; EnabledBitmap "..\..\image\nsis-checked.bmp"
; DisabledBitmap "..\..\image\nsis-unchecked.bmp"
2002-04-08 02:18:14 +00:00
2001-04-04 04:50:05 +00:00
; ============================================================================
; Directory selection page configuration
; ============================================================================
; The text to prompt the user to enter a directory
DirText "Choose a directory in which to install Ethereal."
; The default installation directory
InstallDir $PROGRAMFILES\Ethereal\
; See if this is an upgrade; if so, use the old InstallDir as default
InstallDirRegKey HKEY_LOCAL_MACHINE SOFTWARE\Ethereal "InstallDir"
; ============================================================================
; Install page configuration
; ============================================================================
ShowInstDetails show
2004-06-10 10:12:30 +00:00
; ============================================================================
; Functions and macros
; ============================================================================
!macro UpdateIcons
Push $R0
Push $R1
Push $R2
!define UPDATEICONS_UNIQUE ${__LINE__}
IfFileExists "$SYSDIR\shell32.dll" UpdateIcons.next1_${UPDATEICONS_UNIQUE} UpdateIcons.error1_${UPDATEICONS_UNIQUE}
UpdateIcons.next1_${UPDATEICONS_UNIQUE}:
GetDllVersion "$SYSDIR\shell32.dll" $R0 $R1
IntOp $R2 $R0 / 0x00010000
IntCmp $R2 4 UpdateIcons.next2_${UPDATEICONS_UNIQUE} UpdateIcons.error2_${UPDATEICONS_UNIQUE}
UpdateIcons.next2_${UPDATEICONS_UNIQUE}:
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (${SHCNE_ASSOCCHANGED}, ${SHCNF_IDLIST}, 0, 0)'
Goto UpdateIcons.quit_${UPDATEICONS_UNIQUE}
UpdateIcons.error1_${UPDATEICONS_UNIQUE}:
MessageBox MB_OK|MB_ICONSTOP "Can't find 'shell32.dll' library. Impossible to update icons"
Goto UpdateIcons.quit_${UPDATEICONS_UNIQUE}
UpdateIcons.error2_${UPDATEICONS_UNIQUE}:
MessageBox MB_OK|MB_ICONINFORMATION "You should install the free 'Microsoft Layer for Unicode' to update Ethereal capture file icons"
Goto UpdateIcons.quit_${UPDATEICONS_UNIQUE}
UpdateIcons.quit_${UPDATEICONS_UNIQUE}:
!undef UPDATEICONS_UNIQUE
Pop $R2
Pop $R1
Pop $R0
!macroend
Function Associate
; $R0 should contain the prefix to associate to Ethereal
Push $R1
ReadRegStr $R1 HKCR $R0 ""
StrCmp $R1 "" Associate.doRegister
Goto Associate.end
Associate.doRegister:
;The extension is not associated to any program, we can do the link
WriteRegStr HKCR $R0 "" ${ETHEREAL_ASSOC}
Associate.end:
pop $R1
FunctionEnd
Function un.unlink
; $R0 should contain the prefix to unlink
Push $R1
ReadRegStr $R1 HKCR $R0 ""
StrCmp $R1 ${ETHEREAL_ASSOC} un.unlink.doUnlink
Goto un.unlink.end
un.unlink.doUnlink:
; The extension is associated with Ethereal so, we must destroy this!
DeleteRegKey HKCR $R0
un.unlink.end:
pop $R1
FunctionEnd
2002-08-19 15:48:28 +00:00
2001-04-04 04:50:05 +00:00
; ============================================================================
; Installation execution commands
; ============================================================================
Section "-Required"
;-------------------------------------------
2002-08-19 15:48:28 +00:00
;
; Install for every user
;
2004-02-18 20:45:54 +00:00
!ifdef GTK1_DIR & GTK2_DIR
SectionIn 1 2 RO
!endif
2002-08-19 15:48:28 +00:00
SetShellVarContext all
2001-04-04 04:50:05 +00:00
SetOutPath $INSTDIR
2002-08-19 15:48:28 +00:00
File "..\..\wiretap\wiretap-${WTAP_VERSION}.dll"
2004-05-09 10:03:41 +00:00
!ifdef ENABLE_LIBETHEREAL
File "..\..\epan\libethereal.dll"
!endif
2003-12-22 21:41:40 +00:00
File "${GLIB_DIR}\bin\libglib-2.0-0.dll"
File "${GLIB_DIR}\bin\libgmodule-2.0-0.dll"
File "${GLIB_DIR}\bin\libgobject-2.0-0.dll"
File "${ICONV_DIR}\bin\iconv.dll"
File "${GETTEXT_DIR}\bin\intl.dll"
!ifdef ZLIB_DIR
File "${ZLIB_DIR}\zlib1.dll"
!endif
!ifdef ADNS_DIR
File "${ADNS_DIR}\adns_win32\LIB\adns_dll.dll"
!endif
!ifdef PCRE_DIR
File "${PCRE_DIR}\bin\pcre.dll"
File "${PCRE_DIR}\man\cat3\pcrepattern.3.txt"
!endif
2002-08-20 00:59:42 +00:00
File "..\..\FAQ"
2001-04-04 04:50:05 +00:00
File "..\..\README"
File "..\..\README.win32"
2004-05-21 17:31:16 +00:00
File "..\..\AUTHORS-SHORT"
2004-10-17 23:03:11 +00:00
File "..\..\AUTHORS-SHORT-FORMAT"
2004-05-21 17:31:16 +00:00
File "..\..\COPYING"
2004-10-16 11:46:17 +00:00
File "NEWS.txt"
2001-10-11 01:04:19 +00:00
File "..\..\manuf"
2004-02-18 20:45:54 +00:00
File "..\..\doc\ethereal.html"
File "..\..\doc\ethereal-filter.html"
2002-06-01 22:17:22 +00:00
2005-06-09 07:43:32 +00:00
; global config files - don't overwrite if already existing
IfFileExists cfilters dont_overwrite_cfilters
File "..\..\cfilters"
dont_overwrite_cfilters:
IfFileExists colorfilters dont_overwrite_colorfilters
File "..\..\colorfilters"
dont_overwrite_colorfilters:
IfFileExists dfilters dont_overwrite_dfilters
File "..\..\dfilters"
dont_overwrite_dfilters:
2002-06-01 22:17:22 +00:00
;
; Install the Diameter DTD and XML files in the "diameter" subdirectory
; of the installation directory.
;
SetOutPath $INSTDIR\diameter
2001-11-01 21:55:08 +00:00
File "..\..\dictionary.dtd"
File "..\..\dictionary.xml"
2004-10-11 08:24:46 +00:00
File "..\..\imscxdx.xml"
2001-11-01 21:55:08 +00:00
File "..\..\mobileipv4.xml"
File "..\..\nasreq.xml"
File "..\..\sunping.xml"
2002-06-01 22:17:22 +00:00
SetOutPath $INSTDIR
2001-04-04 04:50:05 +00:00
2005-07-15 21:18:32 +00:00
2005-07-15 22:36:21 +00:00
;
; Install the RADIUS directory files in the "radius" subdirectory
; of the installation directory.
;
2005-07-15 21:18:32 +00:00
SetOutPath $INSTDIR\radius
File "..\..\radius\dictionary"
File "..\..\radius\dictionary.3com"
File "..\..\radius\dictionary.3gpp"
File "..\..\radius\dictionary.3gpp2"
File "..\..\radius\dictionary.acc"
File "..\..\radius\dictionary.alcatel"
File "..\..\radius\dictionary.alteon"
File "..\..\radius\dictionary.altiga"
File "..\..\radius\dictionary.aptis"
File "..\..\radius\dictionary.ascend"
File "..\..\radius\dictionary.bay"
File "..\..\radius\dictionary.bintec"
File "..\..\radius\dictionary.bristol"
File "..\..\radius\dictionary.cablelabs"
File "..\..\radius\dictionary.cabletron"
File "..\..\radius\dictionary.cisco"
File "..\..\radius\dictionary.cisco.bbsm"
File "..\..\radius\dictionary.cisco.vpn3000"
File "..\..\radius\dictionary.cisco.vpn5000"
File "..\..\radius\dictionary.colubris"
File "..\..\radius\dictionary.columbia_university"
File "..\..\radius\dictionary.compat"
File "..\..\radius\dictionary.cosine"
File "..\..\radius\dictionary.erx"
File "..\..\radius\dictionary.extreme"
File "..\..\radius\dictionary.foundry"
File "..\..\radius\dictionary.freeradius"
File "..\..\radius\dictionary.gandalf"
File "..\..\radius\dictionary.garderos"
File "..\..\radius\dictionary.gemtek"
File "..\..\radius\dictionary.itk"
File "..\..\radius\dictionary.juniper"
File "..\..\radius\dictionary.karlnet"
File "..\..\radius\dictionary.livingston"
File "..\..\radius\dictionary.localweb"
File "..\..\radius\dictionary.merit"
File "..\..\radius\dictionary.microsoft"
File "..\..\radius\dictionary.mikrotik"
File "..\..\radius\dictionary.navini"
File "..\..\radius\dictionary.netscreen"
File "..\..\radius\dictionary.nokia"
File "..\..\radius\dictionary.nomadix"
File "..\..\radius\dictionary.propel"
File "..\..\radius\dictionary.quintum"
File "..\..\radius\dictionary.redback"
File "..\..\radius\dictionary.redcreek"
File "..\..\radius\dictionary.shasta"
File "..\..\radius\dictionary.shiva"
File "..\..\radius\dictionary.sonicwall"
File "..\..\radius\dictionary.springtide"
File "..\..\radius\dictionary.t_systems_nova"
File "..\..\radius\dictionary.telebit"
File "..\..\radius\dictionary.trapeze"
File "..\..\radius\dictionary.tunnel"
File "..\..\radius\dictionary.unisphere"
File "..\..\radius\dictionary.unix"
File "..\..\radius\dictionary.usr"
File "..\..\radius\dictionary.valemount"
File "..\..\radius\dictionary.versanet"
File "..\..\radius\dictionary.wispr"
File "..\..\radius\dictionary.xedia"
SetOutPath $INSTDIR
2004-02-18 20:45:54 +00:00
SetOutPath $INSTDIR\help
File "..\..\help\toc"
File "..\..\help\overview.txt"
File "..\..\help\getting_started.txt"
File "..\..\help\capturing.txt"
File "..\..\help\capture_filters.txt"
File "..\..\help\display_filters.txt"
File "..\..\help\faq.txt"
2001-04-04 04:50:05 +00:00
; Write the uninstall keys for Windows
2003-12-10 19:05:06 +00:00
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal" "DisplayVersion" "${VERSION}"
2004-02-18 20:45:54 +00:00
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal" "DisplayName" "Ethereal ${VERSION}"
2001-04-04 04:50:05 +00:00
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal" "UninstallString" '"$INSTDIR\uninstall.exe"'
2003-12-16 06:25:56 +00:00
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal" "Publisher" "The Ethereal developer community, http://www.ethereal.com"
2003-12-19 23:25:05 +00:00
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal" "HelpLink" "mailto:ethereal-users@ethereal.com"
2003-12-10 19:05:06 +00:00
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal" "URLInfoAbout" "http://www.ethereal.com"
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal" "URLUpdateInfo" "http://www.ethereal.com/distribution/win32/"
WriteRegDWORD HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal" "NoModify" 1
WriteRegDWORD HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal" "NoRepair" 1
2002-01-04 06:57:10 +00:00
WriteUninstaller "uninstall.exe"
2004-10-21 02:06:37 +00:00
; Write an entry for ShellExecute
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\ethereal.exe" "" '$INSTDIR\ethereal.exe'
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\ethereal.exe" "Path" '$INSTDIR'
2001-07-12 22:45:23 +00:00
SectionEnd
2001-04-04 04:50:05 +00:00
2005-07-21 20:05:37 +00:00
SectionGroup "Ethereal"
2004-02-18 20:45:54 +00:00
!ifdef GTK1_DIR
Section "Ethereal GTK1" SecEtherealGTK1
2001-04-04 04:50:05 +00:00
;-------------------------------------------
2004-02-18 20:45:54 +00:00
!ifdef GTK1_DIR & GTK2_DIR
2004-05-14 02:46:38 +00:00
SectionIn 2 RO
2004-02-18 20:45:54 +00:00
!endif
2001-04-04 04:50:05 +00:00
SetOutPath $INSTDIR
2004-02-18 20:45:54 +00:00
File "..\..\ethereal.exe"
2004-02-06 18:47:45 +00:00
File "${GTK1_DIR}\lib\libgtk-0.dll"
File "${GTK1_DIR}\lib\libgdk-0.dll"
2004-02-18 20:45:54 +00:00
SectionEnd
!endif
!ifdef GTK2_DIR
Section "Ethereal GTK2" SecEtherealGTK2
;-------------------------------------------
!ifdef GTK1_DIR & GTK2_DIR
2004-05-14 02:46:38 +00:00
SectionIn 1 RO
2004-02-18 20:45:54 +00:00
!endif
SetOutPath $INSTDIR
File /oname=ethereal.exe "..\..\ethereal-gtk2.exe"
2004-02-06 18:47:45 +00:00
File "${GTK2_DIR}\bin\libgdk-win32-2.0-0.dll"
File "${GTK2_DIR}\bin\libgdk_pixbuf-2.0-0.dll"
File "${GTK2_DIR}\bin\libgtk-win32-2.0-0.dll"
File "${GTK2_DIR}\bin\libatk-1.0-0.dll"
File "${GTK2_DIR}\bin\libpango-1.0-0.dll"
File "${GTK2_DIR}\bin\libpangowin32-1.0-0.dll"
2003-07-22 22:00:38 +00:00
SetOutPath $INSTDIR\etc\gtk-2.0
From Lars Roland: define an "installation" version of GTK+ 2.x and Pango
in "config.nmake", and use that in the NSIS script when generating the
NSIS installer, so it puts GTK+ and Pango in the appropriate
subdirectories. Also, when uninstalling, remove both of the sets of
subdirectories.
As per his suggestion, get rid of the "GTK1_VERSION" and "GTK2_VERSION"
macros, and just directly insert the values where those macros were used
- "GTK1_VERSION" wasn't used at all, and "GTK2_VERSION" was only used
immediately below where it was defined, and stuff elsewhere, such as in
the NSIS script, didn't use them and would break if you changed them
anyway.
svn path=/trunk/; revision=10976
2004-05-23 22:21:30 +00:00
File "${GTK2_DIR}\etc\gtk-2.0\*.*"
2003-07-22 22:00:38 +00:00
SetOutPath $INSTDIR\etc\pango
From Lars Roland: define an "installation" version of GTK+ 2.x and Pango
in "config.nmake", and use that in the NSIS script when generating the
NSIS installer, so it puts GTK+ and Pango in the appropriate
subdirectories. Also, when uninstalling, remove both of the sets of
subdirectories.
As per his suggestion, get rid of the "GTK1_VERSION" and "GTK2_VERSION"
macros, and just directly insert the values where those macros were used
- "GTK1_VERSION" wasn't used at all, and "GTK2_VERSION" was only used
immediately below where it was defined, and stuff elsewhere, such as in
the NSIS script, didn't use them and would break if you changed them
anyway.
svn path=/trunk/; revision=10976
2004-05-23 22:21:30 +00:00
File "${GTK2_DIR}\etc\pango\pango.*"
SetOutPath $INSTDIR\lib\gtk-2.0\${GTK2_INST_VERSION}.0\loaders
File "${GTK2_DIR}\lib\gtk-2.0\${GTK2_INST_VERSION}.0\loaders\libpixbufloader-*.dll"
SetOutPath $INSTDIR\lib\gtk-2.0\${GTK2_INST_VERSION}.0\immodules
File "${GTK2_DIR}\lib\gtk-2.0\${GTK2_INST_VERSION}.0\immodules\im-*.dll"
SetOutPath $INSTDIR\lib\pango\${PANGO_INST_VERSION}.0\modules
File "${GTK2_DIR}\lib\pango\${PANGO_INST_VERSION}.0\modules\pango-*.dll"
2001-07-12 22:45:23 +00:00
SectionEnd
2004-08-26 22:48:29 +00:00
2004-02-24 18:51:40 +00:00
!ifdef GTK_WIMP_DIR
Section "GTK-Wimp" SecGTKWimp
;-------------------------------------------
2005-07-21 20:05:37 +00:00
SectionIn 1
From Lars Roland: define an "installation" version of GTK+ 2.x and Pango
in "config.nmake", and use that in the NSIS script when generating the
NSIS installer, so it puts GTK+ and Pango in the appropriate
subdirectories. Also, when uninstalling, remove both of the sets of
subdirectories.
As per his suggestion, get rid of the "GTK1_VERSION" and "GTK2_VERSION"
macros, and just directly insert the values where those macros were used
- "GTK1_VERSION" wasn't used at all, and "GTK2_VERSION" was only used
immediately below where it was defined, and stuff elsewhere, such as in
the NSIS script, didn't use them and would break if you changed them
anyway.
svn path=/trunk/; revision=10976
2004-05-23 22:21:30 +00:00
SetOutPath $INSTDIR\lib\gtk-2.0\${GTK2_INST_VERSION}.0\engines
2004-02-24 18:51:40 +00:00
File "${GTK_WIMP_DIR}\libwimp.dll"
SetOutPath $INSTDIR\share\themes\Default\gtk-2.0
File "${GTK_WIMP_DIR}\Theme\gtk-2.0\gtkrc"
SectionEnd
!endif
2004-08-26 22:48:29 +00:00
!endif
2004-02-24 18:51:40 +00:00
2005-07-21 20:05:37 +00:00
SectionGroupEnd ; "Ethereal"
2003-12-26 12:27:47 +00:00
Section "Tethereal" SecTethereal
2001-04-04 04:50:05 +00:00
;-------------------------------------------
2004-02-18 20:45:54 +00:00
!ifdef GTK1_DIR & GTK2_DIR
SectionIn 1 2
!endif
2001-04-04 04:50:05 +00:00
SetOutPath $INSTDIR
File "..\..\tethereal.exe"
File "..\..\doc\tethereal.html"
2001-07-12 22:45:23 +00:00
SectionEnd
2001-04-04 04:50:05 +00:00
2005-07-21 20:05:37 +00:00
SectionGroup "Plugins / Extensions"
2001-04-04 04:50:05 +00:00
2005-03-07 22:31:13 +00:00
Section "Dissector Plugins" SecPlugins
2001-04-04 04:50:05 +00:00
;-------------------------------------------
2004-02-18 20:45:54 +00:00
!ifdef GTK1_DIR & GTK2_DIR
SectionIn 1 2
!endif
2002-08-19 15:48:28 +00:00
SetOutPath $INSTDIR\plugins\${VERSION}
2003-10-14 01:18:11 +00:00
File "..\..\plugins\acn\acn.dll"
2005-02-10 06:36:21 +00:00
File "..\..\plugins\agentx\agentx.dll"
2003-04-21 21:28:39 +00:00
File "..\..\plugins\artnet\artnet.dll"
2003-10-28 07:02:38 +00:00
File "..\..\plugins\asn1\asn1.dll"
2004-03-25 11:21:07 +00:00
File "..\..\plugins\ciscosm\ciscosm.dll"
2002-07-12 22:52:43 +00:00
File "..\..\plugins\docsis\docsis.dll"
2003-11-17 20:57:14 +00:00
File "..\..\plugins\enttec\enttec.dll"
2002-07-12 22:52:43 +00:00
File "..\..\plugins\giop\coseventcomm.dll"
File "..\..\plugins\giop\cosnaming.dll"
2005-07-07 19:48:06 +00:00
File "..\..\plugins\giop\parlay.dll"
File "..\..\plugins\giop\tango.dll"
2001-04-04 04:50:05 +00:00
File "..\..\plugins\gryphon\gryphon.dll"
2003-12-18 19:07:14 +00:00
File "..\..\plugins\irda\irda.dll"
2003-08-05 05:09:37 +00:00
File "..\..\plugins\lwres\lwres.dll"
2003-01-28 22:18:06 +00:00
File "..\..\plugins\megaco\megaco.dll"
2001-04-04 04:50:05 +00:00
File "..\..\plugins\mgcp\mgcp.dll"
2004-07-21 06:31:33 +00:00
File "..\..\plugins\opsi\opsi.dll"
2003-01-28 22:18:06 +00:00
File "..\..\plugins\pcli\pcli.dll"
2005-05-20 21:40:03 +00:00
File "..\..\plugins\profinet\profinet.dll"
2003-11-17 20:57:14 +00:00
File "..\..\plugins\rdm\rdm.dll"
2004-03-25 11:21:07 +00:00
File "..\..\plugins\rlm\rlm.dll"
2003-06-11 09:17:03 +00:00
File "..\..\plugins\rtnet\rtnet.dll"
2004-03-25 11:21:07 +00:00
File "..\..\plugins\rudp\rudp.dll"
2003-12-17 05:16:21 +00:00
File "..\..\plugins\v5ua\v5ua.dll"
2005-03-07 22:31:13 +00:00
File "..\..\plugins\xml\xml.dll"
SectionEnd
2005-07-21 20:05:37 +00:00
Section "Tree Statistics Plugin (currently http only)" SecStatsTree
2005-03-07 22:31:13 +00:00
;-------------------------------------------
!ifdef GTK1_DIR & GTK2_DIR
SectionIn 1 2
!endif
SetOutPath $INSTDIR\plugins\${VERSION}
File "..\..\plugins\stats_tree\stats_tree.dll"
2001-07-12 22:45:23 +00:00
SectionEnd
2001-04-04 04:50:05 +00:00
2005-07-21 20:05:37 +00:00
Section "Mate - Meta Analysis and Tracing Engine" SecMate
2005-01-21 19:16:05 +00:00
;-------------------------------------------
SetOutPath $INSTDIR\plugins\${VERSION}
File "..\..\plugins\mate\mate.dll"
SectionEnd
2003-12-26 12:27:47 +00:00
Section "SNMP MIBs" SecMIBs
2002-12-07 21:10:22 +00:00
;-------------------------------------------
2004-02-18 20:45:54 +00:00
!ifdef GTK1_DIR & GTK2_DIR
SectionIn 1 2
!endif
2002-12-07 21:10:22 +00:00
SetOutPath $INSTDIR\snmp\mibs
2003-04-18 04:46:38 +00:00
File "${NET_SNMP_DIR}\mibs\*.txt"
2002-12-07 21:10:22 +00:00
SectionEnd
2005-07-21 20:05:37 +00:00
SectionGroupEnd ; "Plugins / Extensions"
SectionGroup "Tools"
Section "Editcap" SecEditcap
;-------------------------------------------
!ifdef GTK1_DIR & GTK2_DIR
SectionIn 1 2
!endif
SetOutPath $INSTDIR
File "..\..\editcap.exe"
File "..\..\doc\editcap.html"
SectionEnd
Section "Text2Pcap" SecText2Pcap
;-------------------------------------------
!ifdef GTK1_DIR & GTK2_DIR
SectionIn 1 2
!endif
SetOutPath $INSTDIR
File "..\..\text2pcap.exe"
File "..\..\doc\text2pcap.html"
SectionEnd
Section "Mergecap" SecMergecap
;-------------------------------------------
!ifdef GTK1_DIR & GTK2_DIR
SectionIn 1 2
!endif
SetOutPath $INSTDIR
File "..\..\mergecap.exe"
File "..\..\doc\mergecap.html"
SectionEnd
Section "Capinfos" SecCapinfos
;-------------------------------------------
!ifdef GTK1_DIR & GTK2_DIR
SectionIn 1 2
!endif
SetOutPath $INSTDIR
File "..\..\capinfos.exe"
File "..\..\doc\capinfos.html"
SectionEnd
SectionGroupEnd ; "Tools"
SectionGroup "Icons / Shortcuts"
2003-04-09 18:58:37 +00:00
; SectionDivider
2001-04-05 05:36:47 +00:00
;-------------------------------------------
2003-12-26 12:27:47 +00:00
Section "Start Menu Shortcuts" SecShortcuts
2001-04-04 04:50:05 +00:00
;-------------------------------------------
2004-02-18 20:45:54 +00:00
!ifdef GTK1_DIR & GTK2_DIR
SectionIn 1 2
!endif
2004-02-01 03:35:05 +00:00
SetOutPath $PROFILE
2001-04-04 04:50:05 +00:00
CreateDirectory "$SMPROGRAMS\Ethereal"
2002-09-29 18:16:42 +00:00
Delete "$SMPROGRAMS\Ethereal\Ethereal Web Site.lnk"
WriteINIStr "$SMPROGRAMS\Ethereal\Ethereal Web Site.url" \
2002-08-30 15:32:27 +00:00
"InternetShortcut" "URL" "http://www.ethereal.com/"
2005-03-18 18:58:56 +00:00
CreateShortCut "$SMPROGRAMS\Ethereal\Ethereal.lnk" "$INSTDIR\ethereal.exe" "" "$INSTDIR\ethereal.exe" 0 "" "" "The Ethereal Network Protocol Analyzer"
2003-10-02 22:28:04 +00:00
CreateShortCut "$SMPROGRAMS\Ethereal\Ethereal Manual.lnk" "$INSTDIR\ethereal.html"
2003-11-04 01:08:03 +00:00
CreateShortCut "$SMPROGRAMS\Ethereal\Display Filters Manual.lnk" "$INSTDIR\ethereal-filter.html"
2002-08-30 15:32:27 +00:00
CreateShortCut "$SMPROGRAMS\Ethereal\Ethereal Program Directory.lnk" \
"$INSTDIR"
2004-05-14 02:46:38 +00:00
CreateShortCut "$SMPROGRAMS\Ethereal\Uninstall Ethereal.lnk" "$INSTDIR\uninstall.exe"
2001-07-12 22:45:23 +00:00
SectionEnd
2001-04-05 05:36:47 +00:00
2003-12-26 12:27:47 +00:00
Section "Desktop Icon" SecDesktopIcon
2001-04-05 05:36:47 +00:00
;-------------------------------------------
2004-02-18 20:45:54 +00:00
!ifdef GTK1_DIR & GTK2_DIR
SectionIn 1 2
!endif
2005-03-18 18:58:56 +00:00
CreateShortCut "$DESKTOP\Ethereal.lnk" "$INSTDIR\ethereal.exe" "" "$INSTDIR\ethereal.exe" 0 "" "" "The Ethereal Network Protocol Analyzer"
2001-07-12 22:45:23 +00:00
SectionEnd
2001-04-04 04:50:05 +00:00
2004-06-10 10:12:30 +00:00
Section "Associate file extensions to Ethereal" SecFileExtensions
;-------------------------------------------
!ifdef GTK1_DIR & GTK2_DIR
SectionIn 1 2
!endif
WriteRegStr HKCR ${ETHEREAL_ASSOC} "" "Ethereal file"
WriteRegStr HKCR "${ETHEREAL_ASSOC}\Shell\open\command" "" '"$INSTDIR\ethereal.exe" "%1"'
WriteRegStr HKCR "${ETHEREAL_ASSOC}\DefaultIcon" "" '"$INSTDIR\ethereal.exe",0'
push $R0
StrCpy $R0 ".5vw"
Call Associate
StrCpy $R0 ".acp"
Call Associate
StrCpy $R0 ".apc"
Call Associate
StrCpy $R0 ".atc"
Call Associate
StrCpy $R0 ".bfr"
Call Associate
StrCpy $R0 ".cap"
Call Associate
StrCpy $R0 ".enc"
Call Associate
StrCpy $R0 ".erf"
Call Associate
StrCpy $R0 ".fdc"
Call Associate
StrCpy $R0 ".pcap"
Call Associate
StrCpy $R0 ".pkt"
Call Associate
StrCpy $R0 ".snoop"
Call Associate
StrCpy $R0 ".syc"
Call Associate
StrCpy $R0 ".tpc"
Call Associate
StrCpy $R0 ".tr1"
Call Associate
StrCpy $R0 ".trace"
Call Associate
StrCpy $R0 ".trc"
Call Associate
StrCpy $R0 ".wpc"
Call Associate
StrCpy $R0 ".wpz"
Call Associate
pop $R0
!insertmacro UpdateIcons
SectionEnd
2005-07-21 20:05:37 +00:00
SectionGroupEnd ; "Icons / Shortcuts"
2005-02-08 02:34:15 +00:00
Section "Load Winpcap NPF service at startup" SecNPFservice
;-------------------------------------------
2005-02-08 22:10:04 +00:00
WriteRegDWORD HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Services\NPF" "Start" 2 ;set NPF to (SERVICE_AUTO_START)
2005-02-08 02:34:15 +00:00
SectionEnd
2001-04-04 04:50:05 +00:00
Section "Uninstall"
;-------------------------------------------
2003-04-09 18:58:37 +00:00
2003-06-03 02:32:56 +00:00
;
; UnInstall for every user
;
SetShellVarContext all
2004-02-03 20:03:40 +00:00
Delete "$INSTDIR\tethereal.exe"
IfErrors 0 NoTetherealErrorMsg
2004-07-17 20:34:41 +00:00
MessageBox MB_OK "Please note: tethereal.exe could not be removed, it's probably in use!" IDOK 0 ;skipped if tethereal.exe removed
Abort "Please note: tethereal.exe could not be removed, it's probably in use! Abort uninstall process!"
2004-02-03 20:03:40 +00:00
NoTetherealErrorMsg:
2004-02-06 18:47:45 +00:00
Delete "$INSTDIR\ethereal.exe"
2004-02-03 20:03:40 +00:00
IfErrors 0 NoEtherealErrorMsg
2004-07-17 20:34:41 +00:00
MessageBox MB_OK "Please note: ethereal.exe could not be removed, it's probably in use!" IDOK 0 ;skipped if ethereal.exe removed
Abort "Please note: ethereal.exe could not be removed, it's probably in use! Abort uninstall process!"
2004-02-03 20:03:40 +00:00
NoEtherealErrorMsg:
DeleteRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Ethereal"
2004-10-21 02:06:37 +00:00
DeleteRegKey HKEY_LOCAL_MACHINE "Software\Ethereal"
DeleteRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\ethereal.exe"
2004-02-03 20:03:40 +00:00
2004-06-10 10:12:30 +00:00
push $R0
StrCpy $R0 ".5vw"
Call un.unlink
StrCpy $R0 ".acp"
Call un.unlink
StrCpy $R0 ".apc"
Call un.unlink
StrCpy $R0 ".atc"
Call un.unlink
StrCpy $R0 ".bfr"
Call un.unlink
StrCpy $R0 ".cap"
Call un.unlink
StrCpy $R0 ".enc"
Call un.unlink
StrCpy $R0 ".erf"
Call un.unlink
StrCpy $R0 ".fdc"
Call un.unlink
StrCpy $R0 ".pcap"
Call un.unlink
StrCpy $R0 ".pkt"
Call un.unlink
StrCpy $R0 ".snoop"
Call un.unlink
StrCpy $R0 ".syc"
Call un.unlink
StrCpy $R0 ".tpc"
Call un.unlink
StrCpy $R0 ".tr1"
Call un.unlink
StrCpy $R0 ".trace"
Call un.unlink
StrCpy $R0 ".trc"
Call un.unlink
StrCpy $R0 ".wpc"
Call un.unlink
StrCpy $R0 ".wpz"
Call un.unlink
pop $R0
DeleteRegKey HKCR ${ETHEREAL_ASSOC}
DeleteRegKey HKCR "${ETHEREAL_ASSOC}\Shell\open\command"
DeleteRegKey HKCR "${ETHEREAL_ASSOC}\DefaultIcon"
!insertmacro UpdateIcons
2004-02-06 18:47:45 +00:00
; regardless if we currently installed GTK1 or 2, try to uninstall GTK2 files too
2003-07-22 22:00:38 +00:00
Delete "$INSTDIR\etc\gtk-2.0\*.*"
Delete "$INSTDIR\etc\pango\*.*"
2004-02-24 18:51:40 +00:00
Delete "$INSTDIR\lib\gtk-2.0\2.2.0\engines\*.*"
2003-07-22 22:00:38 +00:00
Delete "$INSTDIR\lib\gtk-2.0\2.2.0\loaders\*.*"
Delete "$INSTDIR\lib\gtk-2.0\2.2.0\immodules\*.*"
From Lars Roland: define an "installation" version of GTK+ 2.x and Pango
in "config.nmake", and use that in the NSIS script when generating the
NSIS installer, so it puts GTK+ and Pango in the appropriate
subdirectories. Also, when uninstalling, remove both of the sets of
subdirectories.
As per his suggestion, get rid of the "GTK1_VERSION" and "GTK2_VERSION"
macros, and just directly insert the values where those macros were used
- "GTK1_VERSION" wasn't used at all, and "GTK2_VERSION" was only used
immediately below where it was defined, and stuff elsewhere, such as in
the NSIS script, didn't use them and would break if you changed them
anyway.
svn path=/trunk/; revision=10976
2004-05-23 22:21:30 +00:00
Delete "$INSTDIR\lib\gtk-2.0\2.4.0\engines\*.*"
Delete "$INSTDIR\lib\gtk-2.0\2.4.0\loaders\*.*"
Delete "$INSTDIR\lib\gtk-2.0\2.4.0\immodules\*.*"
2003-07-22 22:00:38 +00:00
Delete "$INSTDIR\lib\pango\1.2.0\modules\*.*"
From Lars Roland: define an "installation" version of GTK+ 2.x and Pango
in "config.nmake", and use that in the NSIS script when generating the
NSIS installer, so it puts GTK+ and Pango in the appropriate
subdirectories. Also, when uninstalling, remove both of the sets of
subdirectories.
As per his suggestion, get rid of the "GTK1_VERSION" and "GTK2_VERSION"
macros, and just directly insert the values where those macros were used
- "GTK1_VERSION" wasn't used at all, and "GTK2_VERSION" was only used
immediately below where it was defined, and stuff elsewhere, such as in
the NSIS script, didn't use them and would break if you changed them
anyway.
svn path=/trunk/; revision=10976
2004-05-23 22:21:30 +00:00
Delete "$INSTDIR\lib\pango\1.4.0\modules\*.*"
2004-02-24 18:51:40 +00:00
Delete "$INSTDIR\share\themes\Default\gtk-2.0\*.*"
2003-12-26 11:36:43 +00:00
Delete "$INSTDIR\help\*.*"
2002-09-30 14:43:18 +00:00
Delete "$INSTDIR\plugins\${VERSION}\*.*"
Delete "$INSTDIR\plugins\*.*"
Delete "$INSTDIR\diameter\*.*"
2002-12-07 21:10:22 +00:00
Delete "$INSTDIR\snmp\mibs\*.*"
Delete "$INSTDIR\snmp\*.*"
2004-02-18 20:45:54 +00:00
Delete "$INSTDIR\*.exe"
Delete "$INSTDIR\*.dll"
Delete "$INSTDIR\*.html"
2004-05-21 17:31:16 +00:00
Delete "$INSTDIR\COPYING"
Delete "$INSTDIR\AUTHORS-SHORT"
2004-10-17 23:03:11 +00:00
Delete "$INSTDIR\AUTHORS-SHORT-FORMAT"
2004-02-18 20:45:54 +00:00
Delete "$INSTDIR\README*"
Delete "$INSTDIR\FAQ"
2004-08-26 22:48:29 +00:00
Delete "$INSTDIR\NEWS.txt"
2004-02-18 20:45:54 +00:00
Delete "$INSTDIR\manuf"
Delete "$INSTDIR\pcrepattern.3.txt"
2001-04-04 04:50:05 +00:00
Delete "$SMPROGRAMS\Ethereal\*.*"
2001-04-05 05:36:47 +00:00
Delete "$DESKTOP\Ethereal.lnk"
2001-04-04 04:50:05 +00:00
2003-07-22 22:00:38 +00:00
RMDir "$INSTDIR\etc\gtk-2.0"
RMDir "$INSTDIR\etc\pango"
RMDir "$INSTDIR\etc"
2004-02-24 18:51:40 +00:00
RMDir "$INSTDIR\lib\gtk-2.0\2.2.0\engines"
2003-07-22 22:00:38 +00:00
RMDir "$INSTDIR\lib\gtk-2.0\2.2.0\loaders"
RMDir "$INSTDIR\lib\gtk-2.0\2.2.0\immodules"
RMDir "$INSTDIR\lib\gtk-2.0\2.2.0"
From Lars Roland: define an "installation" version of GTK+ 2.x and Pango
in "config.nmake", and use that in the NSIS script when generating the
NSIS installer, so it puts GTK+ and Pango in the appropriate
subdirectories. Also, when uninstalling, remove both of the sets of
subdirectories.
As per his suggestion, get rid of the "GTK1_VERSION" and "GTK2_VERSION"
macros, and just directly insert the values where those macros were used
- "GTK1_VERSION" wasn't used at all, and "GTK2_VERSION" was only used
immediately below where it was defined, and stuff elsewhere, such as in
the NSIS script, didn't use them and would break if you changed them
anyway.
svn path=/trunk/; revision=10976
2004-05-23 22:21:30 +00:00
RMDir "$INSTDIR\lib\gtk-2.0\2.4.0\engines"
RMDir "$INSTDIR\lib\gtk-2.0\2.4.0\loaders"
RMDir "$INSTDIR\lib\gtk-2.0\2.4.0\immodules"
RMDir "$INSTDIR\lib\gtk-2.0\2.4.0"
2003-07-22 22:00:38 +00:00
RMDir "$INSTDIR\lib\gtk-2.0"
RMDir "$INSTDIR\lib\pango\1.2.0\modules"
RMDir "$INSTDIR\lib\pango\1.2.0"
From Lars Roland: define an "installation" version of GTK+ 2.x and Pango
in "config.nmake", and use that in the NSIS script when generating the
NSIS installer, so it puts GTK+ and Pango in the appropriate
subdirectories. Also, when uninstalling, remove both of the sets of
subdirectories.
As per his suggestion, get rid of the "GTK1_VERSION" and "GTK2_VERSION"
macros, and just directly insert the values where those macros were used
- "GTK1_VERSION" wasn't used at all, and "GTK2_VERSION" was only used
immediately below where it was defined, and stuff elsewhere, such as in
the NSIS script, didn't use them and would break if you changed them
anyway.
svn path=/trunk/; revision=10976
2004-05-23 22:21:30 +00:00
RMDir "$INSTDIR\lib\pango\1.4.0\modules"
RMDir "$INSTDIR\lib\pango\1.4.0"
2003-07-22 22:00:38 +00:00
RMDir "$INSTDIR\lib\pango"
RMDir "$INSTDIR\lib"
2004-02-24 18:51:40 +00:00
RMDir "$INSTDIR\share\themes\Default\gtk-2.0"
RMDir "$INSTDIR\share\themes\Default"
RMDir "$INSTDIR\share\themes"
RMDir "$INSTDIR\share"
2001-04-04 04:50:05 +00:00
RMDir "$SMPROGRAMS\Ethereal"
2003-12-26 11:36:43 +00:00
RMDir "$INSTDIR\help"
2002-08-19 15:48:28 +00:00
RMDir "$INSTDIR\plugins\${VERSION}"
2001-04-04 04:50:05 +00:00
RMDir "$INSTDIR\plugins"
2002-09-30 14:43:18 +00:00
RMDir "$INSTDIR\diameter"
2002-12-07 21:10:22 +00:00
RMDir "$INSTDIR\snmp\mibs"
RMDir "$INSTDIR\snmp"
2001-04-04 04:50:05 +00:00
RMDir "$INSTDIR"
2004-02-03 20:03:40 +00:00
IfFileExists "$INSTDIR" 0 NoFinalErrorMsg
2004-07-17 20:34:41 +00:00
MessageBox MB_OK "Please note: The directory $INSTDIR could not be removed!" IDOK 0 ; skipped if file doesn't exist
2004-02-03 20:03:40 +00:00
NoFinalErrorMsg:
2002-01-04 06:57:10 +00:00
SectionEnd
2003-12-26 12:27:47 +00:00
2005-04-10 13:43:07 +00:00
; ============================================================================
; PLEASE MAKE SURE, THAT THE DESCRIPTIVE TEXT FITS INTO THE DESCRIPTION FIELD!
; ============================================================================
2003-12-26 12:27:47 +00:00
!ifdef MAKENSIS_MODERN_UI
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
2004-02-18 20:45:54 +00:00
!ifdef GTK1_DIR
!insertmacro MUI_DESCRIPTION_TEXT ${SecEtherealGTK1} "${PROGRAM_NAME} is a GUI network protocol analyzer."
!endif
!ifdef GTK2_DIR
!insertmacro MUI_DESCRIPTION_TEXT ${SecEtherealGTK2} "${PROGRAM_NAME} is a GUI network protocol analyzer (using the modern GTK2 GUI toolkit)."
2004-03-22 22:37:41 +00:00
!ifdef GTK_WIMP_DIR
2005-07-21 20:05:37 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecGTKWimp} "GTKWimp is the GTK2 windows impersonator (native Win32 look and feel, for Win2000 and up)."
2004-03-22 22:37:41 +00:00
!endif
2004-08-26 22:48:29 +00:00
!endif
2005-04-10 13:43:07 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecTethereal} "Tethereal is a text based network protocol analyzer."
2003-12-26 12:27:47 +00:00
!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."
!insertmacro MUI_DESCRIPTION_TEXT ${SecText2Pcap} "Text2pcap is a program that reads in an ASCII hex dump and writes the data into a libpcap-style capture file."
!insertmacro MUI_DESCRIPTION_TEXT ${SecMergecap} "Mergecap is a program that combines multiple saved capture files into a single output file."
2004-10-20 18:50:58 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecCapinfos} "Capinfos is a program that provides information on capture files."
2003-12-26 12:27:47 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecPlugins} "Plugins with some extended dissections."
2005-03-07 22:31:13 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecStatsTree} "Plugin for some extended statistics."
2005-01-21 19:16:05 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecMate} "Plugin - Meta Analysis and Tracing Engine (Experimental)."
2003-12-26 12:27:47 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecMIBs} "SNMP MIBs for better SNMP dissection."
!insertmacro MUI_DESCRIPTION_TEXT ${SecShortcuts} "Start menu shortcuts."
!insertmacro MUI_DESCRIPTION_TEXT ${SecDesktopIcon} "Ethereal desktop icon."
2005-02-08 02:34:15 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecFileExtensions} "Associate standard network trace files to ${PROGRAM_NAME}"
2005-04-10 13:43:07 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecNPFservice} "Start WinPcap's service at startup, so users with restricted privilegies can capture. Requires a reboot."
2003-12-26 12:27:47 +00:00
!insertmacro MUI_FUNCTION_DESCRIPTION_END
!endif ; MAKENSIS_MODERN_UI
2004-06-10 10:12:30 +00:00
; ============================================================================
; Callback functions
; ============================================================================
2004-06-29 07:14:39 +00:00
!ifdef GTK1_DIR & GTK2_DIR
2004-08-26 22:48:29 +00:00
;Disable GTK-Wimp for GTK1
Function .onSelChange
Push $0
SectionGetFlags ${SecEtherealGTK1} $0
IntOp $0 $0 & 1
IntCmp $0 1 onSelChange.disableGTK2Sections
;enable GTK2Sections
!insertmacro EnableSection ${SecGTKWimp}
Goto onSelChange.end
onSelChange.disableGTK2Sections:
!insertmacro DisableSection ${SecGTKWimp}
Goto onSelChange.end
onSelChange.end:
Pop $0
FunctionEnd
2004-06-29 07:14:39 +00:00
!else
!ifdef GTK1_DIR | GTK2_DIR
2004-08-26 22:48:29 +00:00
; Disable FileExtension if Ethereal isn't selected
2004-06-10 10:12:30 +00:00
Function .onSelChange
Push $0
2004-06-29 07:14:39 +00:00
!ifdef GTK1_DIR
2004-06-10 10:12:30 +00:00
SectionGetFlags ${SecEtherealGTK1} $0
2004-06-29 07:14:39 +00:00
IntOp $0 $0 & 1
2004-06-10 10:12:30 +00:00
IntCmp $0 0 onSelChange.unselect
2004-06-29 07:14:39 +00:00
SectionGetFlags ${SecFileExtensions} $0
IntOp $0 $0 & 16
IntCmp $0 16 onSelChange.unreadonly
2004-06-10 10:12:30 +00:00
Goto onSelChange.end
2004-06-29 07:14:39 +00:00
!else
2004-06-10 10:12:30 +00:00
SectionGetFlags ${SecEtherealGTK2} $0
2004-06-29 07:14:39 +00:00
IntOp $0 $0 & 1
2004-06-10 10:12:30 +00:00
IntCmp $0 0 onSelChange.unselect
2004-06-29 07:14:39 +00:00
SectionGetFlags ${SecFileExtensions} $0
IntOp $0 $0 & 16
IntCmp $0 16 onSelChange.unreadonly
2004-06-10 10:12:30 +00:00
Goto onSelChange.end
!endif
onSelChange.unselect:
SectionGetFlags ${SecFileExtensions} $0
IntOp $0 $0 & 0xFFFFFFFE
2004-06-29 07:14:39 +00:00
IntOp $0 $0 | 0x10
2004-06-10 10:12:30 +00:00
SectionSetFlags ${SecFileExtensions} $0
2004-06-29 07:14:39 +00:00
Goto onSelChange.end
onSelChange.unreadonly:
SectionGetFlags ${SecFileExtensions} $0
IntOp $0 $0 & 0xFFFFFFEF
SectionSetFlags ${SecFileExtensions} $0
Goto onSelChange.end
2004-06-10 10:12:30 +00:00
onSelChange.end:
Pop $0
FunctionEnd
2004-06-29 07:14:39 +00:00
!endif
!endif
2005-02-03 02:35:20 +00:00
!include "GetWindowsVersion.nsh"
2005-02-08 02:34:15 +00:00
Var NPF_START ;declare variable for holding the value of a registry key
2005-02-03 02:35:20 +00:00
Function myShowCallback
2005-02-08 02:34:15 +00:00
; Get the Windows version
Call GetWindowsVersion
Pop $R0 ; Windows Version
2005-02-03 02:35:20 +00:00
!ifdef GTK2_DIR
; Enable GTK-Wimp only for Windows 2000/XP/2003
; ...as Win9x/ME/NT known to have problems with it!
;DetailPrint 'Windows Version: $R0'
StrCmp $R0 '2000' lbl_select_wimp
StrCmp $R0 'XP' lbl_select_wimp
StrCmp $R0 '2003' lbl_select_wimp
DetailPrint "Windows $R0 doesn't support GTK-Wimp!"
Goto lbl_ignore_wimp
lbl_select_wimp:
!insertmacro SelectSection ${SecGTKWimp}
lbl_ignore_wimp:
!endif
2005-02-08 02:34:15 +00:00
;Disable Section SecNPFservice for Win OT and if Winpcap is not installed
StrCmp $R0 '95' lbl_npf_disable
StrCmp $R0 '98' lbl_npf_disable
StrCmp $R0 'ME' lbl_npf_disable
ReadRegDWORD $NPF_START HKEY_LOCAL_MACHINE "SYSTEM\CurrentControlSet\Services\NPF" "Start"
IfErrors lbl_npf_disable ;RegKey not available, so do not set it
IntCmp $NPF_START 3 lbl_done
;disable
lbl_npf_disable:
!insertmacro DisableSection ${SecNPFservice}
lbl_done:
2005-02-03 02:35:20 +00:00
FunctionEnd