2001-04-04 04:50:05 +00:00
;
2006-05-30 13:19:30 +00:00
; wireshark.nsi
2001-04-04 04:50:05 +00:00
;
2004-07-17 20:34:41 +00:00
; $Id$
2004-02-03 01:06:21 +00:00
2007-03-26 04:02:05 +00:00
2005-07-25 07:42:06 +00:00
; Set the compression mechanism first.
2007-03-26 04:02:05 +00:00
; As of NSIS 2.07, solid compression which makes installer about 1MB smaller
2005-07-25 07:42:06 +00:00
; is no longer the default, so use the /SOLID switch.
; This unfortunately is unknown to NSIS prior to 2.07 and creates an error.
; So if you get an error here, please update to at least NSIS 2.07!
2005-07-26 18:17:09 +00:00
SetCompressor /SOLID lzma
2001-04-04 04:50:05 +00:00
2005-07-23 20:34:43 +00:00
InstType "un.Default (keep Personal Settings and WinPcap)"
InstType "un.All (remove all)"
2004-06-10 10:12:30 +00:00
; Used to refresh the display of file association
!define SHCNE_ASSOCCHANGED 0x08000000
!define SHCNF_IDLIST 0
2006-05-30 13:19:30 +00:00
; Used to add associations between file extensions and Wireshark
2008-08-14 17:54:35 +00:00
!define WIRESHARK_ASSOC "wireshark-capture-file"
2004-06-10 10:12:30 +00:00
2001-04-04 04:50:05 +00:00
; ============================================================================
; Header configuration
; ============================================================================
; The name of the installer
2006-05-30 13:19:30 +00:00
!define PROGRAM_NAME "Wireshark"
2009-03-11 22:15:35 +00:00
!if ${WIRESHARK_TARGET_PLATFORM} == "win32"
2008-08-14 17:54:35 +00:00
!define BITS 32
!else
!define BITS 64
!endif
2004-02-06 18:47:45 +00:00
2008-08-14 17:54:35 +00:00
Name "${PROGRAM_NAME} ${VERSION} (${BITS}-bit)"
2001-04-04 04:50:05 +00:00
; The file to write
2009-03-12 10:58:53 +00:00
OutFile "wireshark-${WIRESHARK_TARGET_PLATFORM}-${VERSION}.exe"
2001-04-04 04:50:05 +00:00
2003-04-09 18:58:37 +00:00
; Icon of installer and uninstaller
2009-02-18 20:27:16 +00:00
Icon "..\..\image\wiresharkinst.ico"
UninstallIcon "..\..\image\wiresharkinst.ico"
2001-04-04 04:50:05 +00:00
2005-07-25 17:56:19 +00:00
; Uninstall stuff (NSIS 2.08: "\r\n" don't work here)
2006-05-30 13:19:30 +00:00
!define MUI_UNCONFIRMPAGE_TEXT_TOP "The following Wireshark installation will be uninstalled. Click 'Next' to continue."
2004-02-09 18:23:25 +00:00
; Uninstall stuff (this text isn't used with the MODERN_UI!)
2006-05-30 13:19:30 +00:00
;UninstallText "This will uninstall Wireshark.\r\nBefore starting the uninstallation, make sure Wireshark 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
; ============================================================================
; 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"
2005-07-23 20:34:43 +00:00
;!addplugindir ".\Plugins"
2003-12-26 12:27:47 +00:00
2009-02-18 20:27:16 +00:00
!define MUI_ICON "..\..\image\wiresharkinst.ico"
!define MUI_UNICON "..\..\image\wiresharkinst.ico"
2003-12-26 12:27:47 +00:00
!define MUI_COMPONENTSPAGE_SMALLDESC
2004-08-25 03:32:26 +00:00
!define MUI_FINISHPAGE_NOAUTOCLOSE
!define MUI_UNFINISHPAGE_NOAUTOCLOSE
2006-05-30 13:19:30 +00:00
!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of Wireshark.\r\n\r\nBefore starting the installation, make sure Wireshark is not running.\r\n\r\nClick 'Next' to continue."
2005-07-23 20:34:43 +00:00
;!define MUI_FINISHPAGE_LINK "Install WinPcap to be able to capture packets from a network!"
;!define MUI_FINISHPAGE_LINK_LOCATION "http://www.winpcap.org"
2004-08-25 03:32:26 +00:00
; NSIS shows Readme files by opening the Readme file with the default application for
2007-03-26 04:02:05 +00:00
; the file's extension. "README.win32" won't work in most cases, because extension "win32"
; is usually not associated with an appropriate text editor. We should use extension "txt"
; for a text file or "html" for an html README file.
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
2006-05-30 13:19:30 +00:00
!define MUI_FINISHPAGE_RUN "$INSTDIR\wireshark.exe"
2005-07-23 20:34:43 +00:00
!define MUI_FINISHPAGE_RUN_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
2005-07-23 20:34:43 +00:00
Page custom DisplayAdditionalTasksPage
2003-12-26 12:27:47 +00:00
!insertmacro MUI_PAGE_DIRECTORY
2005-07-23 20:34:43 +00:00
Page custom DisplayWinPcapPage
2003-12-26 12:27:47 +00:00
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
2007-03-26 04:02:05 +00:00
2003-12-26 12:27:47 +00:00
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
2005-07-23 20:34:43 +00:00
!insertmacro MUI_UNPAGE_COMPONENTS
2003-12-26 12:27:47 +00:00
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
; ============================================================================
; MUI Languages
; ============================================================================
2007-03-26 04:02:05 +00:00
2003-12-26 12:27:47 +00:00
!insertmacro MUI_LANGUAGE "English"
2005-07-23 20:34:43 +00:00
; ============================================================================
; Reserve Files
; ============================================================================
2007-03-26 04:02:05 +00:00
2005-07-23 20:34:43 +00:00
;Things that need to be extracted on first (keep these lines before any File command!)
;Only useful for BZIP2 compression
2007-03-26 04:02:05 +00:00
2005-07-23 20:34:43 +00:00
ReserveFile "AdditionalTasksPage.ini"
ReserveFile "WinPcapPage.ini"
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
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
2005-09-14 02:07:20 +00:00
; ============================================================================
; Command Line
; ============================================================================
!include "FileFunc.nsh"
!insertmacro GetParameters
!insertmacro GetOptions
2001-04-04 04:50:05 +00:00
; ============================================================================
; License page configuration
; ============================================================================
2006-05-22 08:14:01 +00:00
LicenseText "Wireshark 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
2006-05-30 13:19:30 +00:00
DirText "Choose a directory in which to install Wireshark."
2001-04-04 04:50:05 +00:00
; The default installation directory
2009-04-17 22:09:26 +00:00
!if ${WIRESHARK_TARGET_PLATFORM} == "win64"
2009-04-20 21:20:47 +00:00
InstallDir $PROGRAMFILES64\Wireshark
2009-04-17 22:09:26 +00:00
!else
2009-04-20 21:20:47 +00:00
InstallDir $PROGRAMFILES\Wireshark
2009-04-17 22:09:26 +00:00
!endif
2001-04-04 04:50:05 +00:00
; See if this is an upgrade; if so, use the old InstallDir as default
2006-05-30 13:19:30 +00:00
InstallDirRegKey HKEY_LOCAL_MACHINE SOFTWARE\Wireshark "InstallDir"
2001-04-04 04:50:05 +00:00
; ============================================================================
; Install page configuration
; ============================================================================
ShowInstDetails show
2005-07-23 20:34:43 +00:00
ShowUninstDetails show
2001-04-04 04:50:05 +00:00
2004-06-10 10:12:30 +00:00
; ============================================================================
; Functions and macros
; ============================================================================
!macro UpdateIcons
Push $R0
Push $R1
Push $R2
!define UPDATEICONS_UNIQUE ${__LINE__}
2009-02-18 22:24:21 +00:00
IfFileExists "$SYSDIR\shell32.dll" UpdateIcons.ok_shell32_${UPDATEICONS_UNIQUE} UpdateIcons.error_shell32_${UPDATEICONS_UNIQUE}
UpdateIcons.ok_shell32_${UPDATEICONS_UNIQUE}:
2007-03-26 04:02:05 +00:00
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (${SHCNE_ASSOCCHANGED}, ${SHCNF_IDLIST}, 0, 0)'
2004-06-10 10:12:30 +00:00
Goto UpdateIcons.quit_${UPDATEICONS_UNIQUE}
2007-03-26 04:02:05 +00:00
2009-02-18 22:24:21 +00:00
UpdateIcons.error_shell32_${UPDATEICONS_UNIQUE}:
2009-02-18 20:27:16 +00:00
MessageBox MB_OK|MB_ICONSTOP \
"Can't find 'shell32.dll' library. Impossible to update icons" \
/SD IDOK
2007-03-26 04:02:05 +00:00
Goto UpdateIcons.quit_${UPDATEICONS_UNIQUE}
2009-02-18 22:24:21 +00:00
2007-03-26 04:02:05 +00:00
UpdateIcons.quit_${UPDATEICONS_UNIQUE}:
2004-06-10 10:12:30 +00:00
!undef UPDATEICONS_UNIQUE
Pop $R2
Pop $R1
Pop $R0
!macroend
Function Associate
2006-05-30 13:19:30 +00:00
; $R0 should contain the prefix to associate to Wireshark
2004-06-10 10:12:30 +00:00
Push $R1
2007-03-26 04:02:05 +00:00
2004-06-10 10:12:30 +00:00
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
2006-05-30 13:19:30 +00:00
WriteRegStr HKCR $R0 "" ${WIRESHARK_ASSOC}
2004-06-10 10:12:30 +00:00
Associate.end:
pop $R1
FunctionEnd
Function un.unlink
; $R0 should contain the prefix to unlink
Push $R1
2007-03-26 04:02:05 +00:00
2004-06-10 10:12:30 +00:00
ReadRegStr $R1 HKCR $R0 ""
2006-05-30 13:19:30 +00:00
StrCmp $R1 ${WIRESHARK_ASSOC} un.unlink.doUnlink
2004-06-10 10:12:30 +00:00
Goto un.unlink.end
un.unlink.doUnlink:
2006-05-30 13:19:30 +00:00
; The extension is associated with Wireshark so, we must destroy this!
2007-03-26 04:02:05 +00:00
DeleteRegKey HKCR $R0
un.unlink.end:
2004-06-10 10:12:30 +00:00
pop $R1
FunctionEnd
2002-08-19 15:48:28 +00:00
2008-10-21 16:44:35 +00:00
Var OLD_UNINSTALLER
2008-11-01 00:24:10 +00:00
Var OLD_INSTDIR
2008-10-21 16:44:35 +00:00
Var OLD_DISPLAYNAME
2008-11-01 00:24:10 +00:00
Var TMP_UNINSTALLER
2008-10-21 16:44:35 +00:00
2009-04-17 22:09:26 +00:00
; ============================================================================
; 64-bit support
; ============================================================================
2009-04-17 17:32:48 +00:00
!include x64.nsh
2005-07-23 20:34:43 +00:00
Function .onInit
2009-04-17 17:32:48 +00:00
!if ${WIRESHARK_TARGET_PLATFORM} == "win64"
; http://forums.winamp.com/printthread.php?s=16ffcdd04a8c8d52bee90c0cae273ac5&threadid=262873
2009-04-17 22:09:26 +00:00
${IfNot} ${RunningX64}
2009-04-17 17:32:48 +00:00
MessageBox MB_OK "This version of Wireshark only runs on x64 machines.\nTry installing the 32-bit version instead."
Abort
${EndIf}
!endif
2008-10-21 16:44:35 +00:00
; Copied from http://nsis.sourceforge.net/Auto-uninstall_old_before_installing_new
ReadRegStr $OLD_UNINSTALLER HKLM \
2008-11-01 00:24:10 +00:00
"Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" \
"UninstallString"
2008-10-21 16:44:35 +00:00
StrCmp $OLD_UNINSTALLER "" done
2008-11-01 00:24:10 +00:00
ReadRegStr $OLD_INSTDIR HKLM \
"Software\Microsoft\Windows\CurrentVersion\App Paths\wireshark.exe" \
"Path"
StrCmp $OLD_INSTDIR "" done
2008-10-21 16:44:35 +00:00
ReadRegStr $OLD_DISPLAYNAME HKLM \
2008-11-01 00:24:10 +00:00
"Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" \
"DisplayName"
2008-10-21 16:44:35 +00:00
StrCmp $OLD_DISPLAYNAME "" done
2008-11-01 00:24:10 +00:00
MessageBox MB_YESNOCANCEL|MB_ICONQUESTION \
"$OLD_DISPLAYNAME is already installed.\
$\n$\nWould you like to uninstall it first?" \
2009-02-18 20:27:16 +00:00
/SD IDYES \
IDYES prep_uninstaller \
2008-11-01 00:24:10 +00:00
IDNO done
2008-10-21 16:44:35 +00:00
Abort
2008-11-01 00:24:10 +00:00
; Copy the uninstaller to $TEMP and run it.
; The uninstaller normally does this by itself, but doesn't wait around
; for the executable to finish, which means ExecWait won't work correctly.
2009-02-18 20:27:16 +00:00
prep_uninstaller:
2008-10-21 16:44:35 +00:00
ClearErrors
2008-11-01 00:24:10 +00:00
StrCpy $TMP_UNINSTALLER "$TEMP\wireshark_uninstaller.exe"
; ...because we surround UninstallString in quotes.
StrCpy $0 $OLD_UNINSTALLER -1 1
StrCpy $1 "$TEMP\wireshark_uninstaller.exe"
StrCpy $2 1
System::Call 'kernel32::CopyFile(t r0, t r1, b r2) 1'
2009-02-18 20:27:16 +00:00
IfSilent silent_uninstall
2008-11-01 00:24:10 +00:00
ExecWait "$TMP_UNINSTALLER _?=$OLD_INSTDIR"
2009-02-18 20:27:16 +00:00
Goto cleanup
silent_uninstall:
ExecWait "$TMP_UNINSTALLER /S _?=$OLD_INSTDIR"
cleanup:
2008-11-01 00:24:10 +00:00
Delete "$TMP_UNINSTALLER"
2008-10-21 16:44:35 +00:00
done:
2005-07-23 20:34:43 +00:00
;Extract InstallOptions INI files
2007-03-26 04:02:05 +00:00
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "AdditionalTasksPage.ini"
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "WinpcapPage.ini"
2005-07-23 20:34:43 +00:00
FunctionEnd
Function DisplayAdditionalTasksPage
!insertmacro MUI_HEADER_TEXT "Select Additional Tasks" "Which additional tasks should be done?"
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "AdditionalTasksPage.ini"
FunctionEnd
Function DisplayWinPcapPage
!insertmacro MUI_HEADER_TEXT "Install WinPcap?" "WinPcap is required to capture live network data. Should WinPcap be installed?"
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "WinPcapPage.ini"
FunctionEnd
2001-04-04 04:50:05 +00:00
; ============================================================================
; Installation execution commands
; ============================================================================
2005-07-23 20:34:43 +00:00
Var WINPCAP_UNINSTALL ;declare variable for holding the value of a registry key
2006-05-30 13:19:30 +00:00
;Var WIRESHARK_UNINSTALL ;declare variable for holding the value of a registry key
2005-07-23 20:34:43 +00:00
2001-04-04 04:50:05 +00:00
Section "-Required"
;-------------------------------------------
2002-08-19 15:48:28 +00:00
;
; Install for every user
;
SetShellVarContext all
2005-07-23 20:34:43 +00:00
2001-04-04 04:50:05 +00:00
SetOutPath $INSTDIR
2002-08-19 15:48:28 +00:00
File "..\..\wiretap\wiretap-${WTAP_VERSION}.dll"
2006-05-31 00:23:01 +00:00
!ifdef ENABLE_LIBWIRESHARK
File "..\..\epan\libwireshark.dll"
2004-05-09 10:03:41 +00:00
!endif
2008-05-20 21:51:01 +00:00
File "..\..\wsutil\libwsutil.dll"
2009-11-19 20:27:08 +00:00
File "${GTK_DIR}\bin\libgio-2.0-0.dll"
File "${GTK_DIR}\bin\libglib-2.0-0.dll"
File "${GTK_DIR}\bin\libgobject-2.0-0.dll"
File "${GTK_DIR}\bin\libgmodule-2.0-0.dll"
File "${GTK_DIR}\bin\libgthread-2.0-0.dll"
2008-02-15 03:12:52 +00:00
!ifdef ICONV_DIR
2009-11-19 20:27:08 +00:00
File "${GTK_DIR}\bin\iconv.dll"
2008-02-15 03:12:52 +00:00
!endif
2009-11-19 22:02:44 +00:00
File "${GTK_DIR}\bin\${INTL_DLL}"
2003-12-22 21:41:40 +00:00
!ifdef ZLIB_DIR
File "${ZLIB_DIR}\zlib1.dll"
!endif
2008-08-07 21:41:48 +00:00
!ifdef C_ARES_DIR
2009-12-17 22:01:13 +00:00
File "${C_ARES_DIR}\bin\libcares-2.dll"
2008-08-07 21:41:48 +00:00
!endif
2003-12-22 21:41:40 +00:00
!ifdef ADNS_DIR
2008-07-29 14:05:54 +00:00
File "${ADNS_DIR}\..\${MSVC_VARIANT}\adns\adns_dll.dll"
2003-12-22 21:41:40 +00:00
!endif
!ifdef PCRE_DIR
2008-02-16 21:24:52 +00:00
File "${PCRE_DIR}\bin\pcre3.dll"
2003-12-22 21:41:40 +00:00
File "${PCRE_DIR}\man\cat3\pcrepattern.3.txt"
!endif
2006-08-05 05:12:09 +00:00
!ifdef KFW_DIR
2009-12-23 00:22:12 +00:00
File "${KFW_PATH}\comerr32.dll"
File "${KFW_PATH}\krb5_32.dll"
File "${KFW_PATH}\k5sprt32.dll"
2006-08-05 05:12:09 +00:00
!endif
2006-08-07 19:52:18 +00:00
!ifdef GNUTLS_DIR
File "${GNUTLS_DIR}\bin\libgcrypt-11.dll"
2008-05-16 06:53:15 +00:00
File "${GNUTLS_DIR}\bin\libgnutls-26.dll"
File "${GNUTLS_DIR}\bin\libgnutls-extra-26.dll"
File "${GNUTLS_DIR}\bin\libgnutls-openssl-26.dll"
2006-08-07 19:52:18 +00:00
File "${GNUTLS_DIR}\bin\libgpg-error-0.dll"
File "${GNUTLS_DIR}\bin\libtasn1-3.dll"
!endif
2006-09-28 00:33:46 +00:00
!ifdef LUA_DIR
2008-10-01 19:38:27 +00:00
File "${LUA_DIR}\lua5.1.dll"
2006-10-20 20:06:44 +00:00
File "..\..\epan\wslua\init.lua"
File "..\..\epan\wslua\console.lua"
File "..\..\epan\wslua\dtd_gen.lua"
2006-09-28 00:33:46 +00:00
!endif
2007-08-27 06:28:20 +00:00
!ifdef SMI_DIR
File "${SMI_DIR}\lib\smi.dll"
!endif
2010-04-09 23:51:22 +00:00
File "..\..\wireshark-gtk2\COPYING.txt"
File "..\..\wireshark-gtk2\NEWS.txt"
File "..\..\wireshark-gtk2\README.txt"
File "..\..\wireshark-gtk2\README.windows.txt"
2009-06-21 15:47:40 +00:00
File "..\..\doc\AUTHORS-SHORT"
2001-10-11 01:04:19 +00:00
File "..\..\manuf"
2007-08-12 20:54:30 +00:00
File "..\..\services"
2008-02-22 20:03:36 +00:00
File "..\..\doc\ws.css"
2006-05-31 19:12:15 +00:00
File "..\..\doc\wireshark.html"
File "..\..\doc\wireshark-filter.html"
2006-02-11 23:58:07 +00:00
File "..\..\dumpcap.exe"
File "..\..\doc\dumpcap.html"
2009-02-16 18:27:29 +00:00
File "..\..\ipmap.html"
2002-06-01 22:17:22 +00:00
2007-03-26 04:02:05 +00:00
; C-runtime redistributable
2007-01-13 00:59:39 +00:00
!ifdef VCREDIST_EXE
; vcredist_x86.exe (MSVC V8) - copy and execute the redistributable installer
File "${VCREDIST_EXE}"
2009-09-17 21:54:52 +00:00
!if ${WIRESHARK_TARGET_PLATFORM} == "win32"
2007-01-13 00:59:39 +00:00
ExecWait '"$INSTDIR\vcredist_x86.exe"' $0
2009-09-17 21:54:52 +00:00
!else
; If the user already has the redistributable installed they will see a
; Big Ugly Dialog by default, asking if they want to uninstall or repair.
; Ideally we should add a checkbox for this somewhere. In the meantime,
; just do a silent install.
ExecWait '"$INSTDIR\vcredist_x64.exe" /q' $0
!endif ; WIRESHARK_TARGET_PLATFORM
2007-01-13 00:59:39 +00:00
DetailPrint "vcredist_x86 returned $0"
!else
!ifdef MSVCR_DLL
; msvcr*.dll (MSVC V7 or V7.1) - simply copy the dll file
2008-02-22 23:09:43 +00:00
!echo "IF YOU GET AN ERROR HERE, check the MSVC_VARIANT setting in config.nmake: MSVC2005 vs. MSVC2005EE!"
2007-01-13 00:59:39 +00:00
File "${MSVCR_DLL}"
!else
!if ${MSVC_VARIANT} != "MSVC6"
!error "C-Runtime redistributable for this package not available / not redistributable!"
!endif
!endif ; MSVCR_DLL
!endif ; VCREDIST_EXE
2007-03-26 04:02:05 +00:00
; global config files - don't overwrite if already existing
2005-08-26 00:01:49 +00:00
;IfFileExists cfilters dont_overwrite_cfilters
2005-06-09 07:43:32 +00:00
File "..\..\cfilters"
2005-08-26 00:01:49 +00:00
;dont_overwrite_cfilters:
;IfFileExists colorfilters dont_overwrite_colorfilters
2005-06-09 07:43:32 +00:00
File "..\..\colorfilters"
2005-08-26 00:01:49 +00:00
;dont_overwrite_colorfilters:
;IfFileExists dfilters dont_overwrite_dfilters
2005-06-09 07:43:32 +00:00
File "..\..\dfilters"
2005-08-26 00:01:49 +00:00
;dont_overwrite_dfilters:
2008-10-27 04:38:21 +00:00
;IfFileExists smi_modules dont_overwrite_smi_modules
2007-08-27 22:06:47 +00:00
File "..\..\smi_modules"
;dont_overwrite_smi_modules:
2005-06-09 07:43:32 +00:00
2002-06-01 22:17:22 +00:00
;
; Install the Diameter DTD and XML files in the "diameter" subdirectory
; of the installation directory.
2007-03-26 04:02:05 +00:00
;
2002-06-01 22:17:22 +00:00
SetOutPath $INSTDIR\diameter
2005-12-16 20:58:50 +00:00
File "..\..\diameter\chargecontrol.xml"
2005-09-29 02:20:29 +00:00
File "..\..\diameter\dictionary.dtd"
File "..\..\diameter\dictionary.xml"
2009-06-26 05:48:03 +00:00
File "..\..\diameter\eap.xml"
2008-01-07 22:00:26 +00:00
File "..\..\diameter\Ericsson.xml"
2007-07-10 13:20:37 +00:00
File "..\..\diameter\etsie2e4.xml"
2007-06-12 15:29:23 +00:00
File "..\..\diameter\gqpolicy.xml"
2005-09-29 02:20:29 +00:00
File "..\..\diameter\imscxdx.xml"
File "..\..\diameter\mobileipv4.xml"
2010-03-18 21:29:58 +00:00
File "..\..\diameter\mobileipv6.xml"
2005-09-29 02:20:29 +00:00
File "..\..\diameter\nasreq.xml"
2006-11-14 06:31:47 +00:00
File "..\..\diameter\sip.xml"
2005-09-29 02:20:29 +00:00
File "..\..\diameter\sunping.xml"
2008-01-31 21:52:47 +00:00
File "..\..\diameter\TGPPGmb.xml"
2008-09-09 03:23:13 +00:00
File "..\..\diameter\TGPPRx.xml"
2005-12-16 20:58:50 +00:00
File "..\..\diameter\TGPPSh.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
2009-07-09 20:31:22 +00:00
File "..\..\radius\README.radius_dictionary"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary"
File "..\..\radius\dictionary.3com"
File "..\..\radius\dictionary.3gpp"
File "..\..\radius\dictionary.3gpp2"
File "..\..\radius\dictionary.acc"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.airespace"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.alcatel"
File "..\..\radius\dictionary.alteon"
File "..\..\radius\dictionary.altiga"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.alvarion"
File "..\..\radius\dictionary.apc"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.aptis"
2008-12-09 13:57:55 +00:00
File "..\..\radius\dictionary.aruba"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.ascend"
File "..\..\radius\dictionary.asn"
File "..\..\radius\dictionary.avaya"
File "..\..\radius\dictionary.azaire"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.bay"
File "..\..\radius\dictionary.bintec"
File "..\..\radius\dictionary.bristol"
File "..\..\radius\dictionary.cablelabs"
File "..\..\radius\dictionary.cabletron"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.chillispot"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.cisco"
File "..\..\radius\dictionary.cisco.bbsm"
File "..\..\radius\dictionary.cisco.vpn3000"
File "..\..\radius\dictionary.cisco.vpn5000"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.clavister"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.colubris"
File "..\..\radius\dictionary.columbia_university"
File "..\..\radius\dictionary.compat"
File "..\..\radius\dictionary.cosine"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.dhcp"
File "..\..\radius\dictionary.digium"
2010-11-18 09:51:50 +00:00
File "..\..\radius\dictionary.eltex"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.epygi"
2005-09-28 16:39:20 +00:00
File "..\..\radius\dictionary.ericsson"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.erx"
File "..\..\radius\dictionary.extreme"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.fortinet"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.foundry"
File "..\..\radius\dictionary.freeradius"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.freeradius.internal"
File "..\..\radius\dictionary.freeswitch"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.gandalf"
File "..\..\radius\dictionary.garderos"
File "..\..\radius\dictionary.gemtek"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.h3c"
File "..\..\radius\dictionary.hp"
File "..\..\radius\dictionary.huawei"
File "..\..\radius\dictionary.infonet"
File "..\..\radius\dictionary.ipunplugged"
File "..\..\radius\dictionary.issanni"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.itk"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.jradius"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.juniper"
File "..\..\radius\dictionary.karlnet"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.lancom"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.livingston"
File "..\..\radius\dictionary.localweb"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.lucent"
File "..\..\radius\dictionary.manzara"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.merit"
File "..\..\radius\dictionary.microsoft"
File "..\..\radius\dictionary.mikrotik"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.motorola"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.navini"
File "..\..\radius\dictionary.netscreen"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.networkphysics"
File "..\..\radius\dictionary.nexans"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.nokia"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.nokia.conflict"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.nomadix"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.nortel"
File "..\..\radius\dictionary.ntua"
File "..\..\radius\dictionary.openser"
File "..\..\radius\dictionary.packeteer"
File "..\..\radius\dictionary.patton"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.propel"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.prosoft"
File "..\..\radius\dictionary.quiconnect"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.quintum"
File "..\..\radius\dictionary.redback"
File "..\..\radius\dictionary.redcreek"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.rfc2865"
File "..\..\radius\dictionary.rfc2866"
File "..\..\radius\dictionary.rfc2867"
File "..\..\radius\dictionary.rfc2868"
File "..\..\radius\dictionary.rfc2869"
File "..\..\radius\dictionary.rfc3162"
File "..\..\radius\dictionary.rfc3576"
File "..\..\radius\dictionary.rfc3580"
File "..\..\radius\dictionary.rfc4072"
File "..\..\radius\dictionary.rfc4372"
File "..\..\radius\dictionary.rfc4675"
File "..\..\radius\dictionary.rfc4679"
File "..\..\radius\dictionary.rfc4818"
File "..\..\radius\dictionary.rfc4849"
File "..\..\radius\dictionary.rfc5090"
File "..\..\radius\dictionary.rfc5176"
File "..\..\radius\dictionary.riverstone"
File "..\..\radius\dictionary.roaringpenguin"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.shasta"
File "..\..\radius\dictionary.shiva"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.slipstream"
File "..\..\radius\dictionary.sofaware"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.sonicwall"
File "..\..\radius\dictionary.springtide"
2009-04-02 19:05:52 +00:00
File "..\..\radius\dictionary.starent"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.t_systems_nova"
File "..\..\radius\dictionary.telebit"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.telkom"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.trapeze"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.tropos"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.tunnel"
File "..\..\radius\dictionary.unisphere"
File "..\..\radius\dictionary.unix"
File "..\..\radius\dictionary.usr"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.utstarcom"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.valemount"
File "..\..\radius\dictionary.versanet"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.vqp"
File "..\..\radius\dictionary.walabi"
File "..\..\radius\dictionary.waverider"
2009-04-02 19:05:52 +00:00
File "..\..\radius\dictionary.wimax"
2005-07-15 21:18:32 +00:00
File "..\..\radius\dictionary.wispr"
File "..\..\radius\dictionary.xedia"
2009-07-09 20:31:22 +00:00
File "..\..\radius\dictionary.xylan"
File "..\..\radius\dictionary.zyxel"
2005-07-15 21:18:32 +00:00
SetOutPath $INSTDIR
2005-09-17 17:17:42 +00:00
;
; install the dtds in the dtds subdirectory
;
SetOutPath $INSTDIR\dtds
File "..\..\dtds\dc.dtd"
File "..\..\dtds\itunes.dtd"
2006-11-15 17:27:04 +00:00
File "..\..\dtds\mscml.dtd"
2006-06-08 05:56:34 +00:00
File "..\..\dtds\pocsettings.dtd"
File "..\..\dtds\presence.dtd"
2006-06-06 19:30:57 +00:00
File "..\..\dtds\reginfo.dtd"
2006-10-19 17:37:15 +00:00
File "..\..\dtds\rlmi.dtd"
2005-09-17 17:17:42 +00:00
File "..\..\dtds\rss.dtd"
File "..\..\dtds\smil.dtd"
2006-07-19 19:00:36 +00:00
File "..\..\dtds\xcap-caps.dtd"
2007-06-21 11:37:42 +00:00
File "..\..\dtds\xcap-error.dtd"
2006-06-08 05:56:34 +00:00
File "..\..\dtds\watcherinfo.dtd"
2005-09-17 17:17:42 +00:00
SetOutPath $INSTDIR
2007-11-11 13:23:17 +00:00
; Install the TPNCP DAT file in the "tpncp" subdirectory
; of the installation directory.
SetOutPath $INSTDIR\tpncp
File "..\..\tpncp\tpncp.dat"
2007-10-12 10:01:41 +00:00
;
; install the wimaxasncp TLV definitions in the wimaxasncp subdirectory
;
SetOutPath $INSTDIR\wimaxasncp
2007-10-15 12:32:19 +00:00
File "..\..\wimaxasncp\dictionary.xml"
File "..\..\wimaxasncp\dictionary.dtd"
2007-10-12 10:01:41 +00:00
SetOutPath $INSTDIR
2004-02-18 20:45:54 +00:00
SetOutPath $INSTDIR\help
2010-04-09 23:51:22 +00:00
File "..\..\wireshark-gtk2\help\toc"
File "..\..\wireshark-gtk2\help\overview.txt"
File "..\..\wireshark-gtk2\help\getting_started.txt"
File "..\..\wireshark-gtk2\help\capturing.txt"
File "..\..\wireshark-gtk2\help\capture_filters.txt"
File "..\..\wireshark-gtk2\help\display_filters.txt"
File "..\..\wireshark-gtk2\help\faq.txt"
2004-02-18 20:45:54 +00:00
2001-04-04 04:50:05 +00:00
; Write the uninstall keys for Windows
2006-05-30 13:19:30 +00:00
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "DisplayVersion" "${VERSION}"
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "DisplayName" "Wireshark ${VERSION}"
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "UninstallString" '"$INSTDIR\uninstall.exe"'
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "Publisher" "The Wireshark developer community, http://www.wireshark.org"
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "HelpLink" "mailto:wireshark-users@wireshark.org"
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "URLInfoAbout" "http://www.wireshark.org"
2006-07-25 13:45:54 +00:00
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "URLUpdateInfo" "http://www.wireshark.org/download/win32/"
2006-05-30 13:19:30 +00:00
WriteRegDWORD HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "NoModify" 1
WriteRegDWORD HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "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
2006-05-30 13:19:30 +00:00
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\wireshark.exe" "" '$INSTDIR\wireshark.exe'
WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\wireshark.exe" "Path" '$INSTDIR'
2004-10-21 02:06:37 +00:00
2005-07-23 20:34:43 +00:00
; Create start menu entries (depending on additional tasks page)
ReadINIStr $0 "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 2" "State"
StrCmp $0 "0" SecRequired_skip_StartMenu
SetOutPath $PROFILE
2008-12-08 18:39:20 +00:00
;CreateDirectory "$SMPROGRAMS\Wireshark"
2005-07-23 20:34:43 +00:00
; To qoute "http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwue/html/ch11d.asp":
; "Do not include Readme, Help, or Uninstall entries on the Programs menu."
2006-05-30 13:19:30 +00:00
Delete "$SMPROGRAMS\Wireshark\Wireshark Web Site.lnk"
;WriteINIStr "$SMPROGRAMS\Wireshark\Wireshark Web Site.url" "InternetShortcut" "URL" "http://www.wireshark.org/"
2008-12-08 18:39:20 +00:00
CreateShortCut "$SMPROGRAMS\Wireshark.lnk" "$INSTDIR\wireshark.exe" "" "$INSTDIR\wireshark.exe" 0 "" "" "The Wireshark Network Protocol Analyzer"
2006-05-31 19:12:15 +00:00
;CreateShortCut "$SMPROGRAMS\Wireshark\Wireshark Manual.lnk" "$INSTDIR\wireshark.html"
;CreateShortCut "$SMPROGRAMS\Wireshark\Display Filters Manual.lnk" "$INSTDIR\wireshark-filter.html"
2008-12-08 18:39:20 +00:00
;CreateShortCut "$SMPROGRAMS\Wireshark\Wireshark Program Directory.lnk" "$INSTDIR"
2006-05-30 13:19:30 +00:00
;CreateShortCut "$SMPROGRAMS\Wireshark\Uninstall Wireshark.lnk" "$INSTDIR\uninstall.exe"
2005-07-23 20:34:43 +00:00
SecRequired_skip_StartMenu:
2005-09-14 02:07:20 +00:00
; is command line option "/desktopicon" set?
${GetParameters} $R0
${GetOptions} $R0 "/desktopicon=" $R1
StrCmp $R1 "no" SecRequired_skip_DesktopIcon
StrCmp $R1 "yes" SecRequired_install_DesktopIcon
2005-07-23 20:34:43 +00:00
2005-09-14 02:07:20 +00:00
; Create desktop icon (depending on additional tasks page and command line option)
2005-07-23 20:34:43 +00:00
ReadINIStr $0 "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 3" "State"
StrCmp $0 "0" SecRequired_skip_DesktopIcon
2005-09-14 02:07:20 +00:00
SecRequired_install_DesktopIcon:
2006-05-30 13:19:30 +00:00
CreateShortCut "$DESKTOP\Wireshark.lnk" "$INSTDIR\wireshark.exe" "" "$INSTDIR\wireshark.exe" 0 "" "" "The Wireshark Network Protocol Analyzer"
2005-07-23 20:34:43 +00:00
SecRequired_skip_DesktopIcon:
2001-04-04 04:50:05 +00:00
2005-09-14 02:07:20 +00:00
; is command line option "/quicklaunchicon" set?
${GetParameters} $R0
${GetOptions} $R0 "/quicklaunchicon=" $R1
StrCmp $R1 "no" SecRequired_skip_QuickLaunchIcon
StrCmp $R1 "yes" SecRequired_install_QuickLaunchIcon
; Create quick launch icon (depending on additional tasks page and command line option)
2005-07-23 20:34:43 +00:00
ReadINIStr $0 "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 4" "State"
StrCmp $0 "0" SecRequired_skip_QuickLaunchIcon
2005-09-14 02:07:20 +00:00
SecRequired_install_QuickLaunchIcon:
2006-05-30 13:19:30 +00:00
CreateShortCut "$QUICKLAUNCH\Wireshark.lnk" "$INSTDIR\wireshark.exe" "" "$INSTDIR\wireshark.exe" 0 "" "" "The Wireshark Network Protocol Analyzer"
2005-07-23 20:34:43 +00:00
SecRequired_skip_QuickLaunchIcon:
; Create File Extensions (depending on additional tasks page)
ReadINIStr $0 "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 6" "State"
StrCmp $0 "0" SecRequired_skip_FileExtensions
2008-08-14 17:54:35 +00:00
WriteRegStr HKCR ${WIRESHARK_ASSOC} "" "Wireshark capture file"
2006-05-30 13:19:30 +00:00
WriteRegStr HKCR "${WIRESHARK_ASSOC}\Shell\open\command" "" '"$INSTDIR\wireshark.exe" "%1"'
2006-11-03 15:54:12 +00:00
WriteRegStr HKCR "${WIRESHARK_ASSOC}\DefaultIcon" "" '"$INSTDIR\wireshark.exe",1'
2005-07-23 20:34:43 +00:00
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
2009-04-15 18:10:30 +00:00
StrCpy $R0 ".pcapng"
Call Associate
2005-07-23 20:34:43 +00:00
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"
2007-03-26 04:02:05 +00:00
Call Associate
2005-07-23 20:34:43 +00:00
StrCpy $R0 ".wpc"
Call Associate
StrCpy $R0 ".wpz"
Call Associate
2008-01-11 19:25:51 +00:00
StrCpy $R0 ".rf5"
Call Associate
2005-07-23 20:34:43 +00:00
; if somethings added here, add it also to the uninstall section and the AdditionalTask page
pop $R0
!insertmacro UpdateIcons
SecRequired_skip_FileExtensions:
2005-08-26 00:59:07 +00:00
; if running as a silent installer, don't try to install winpcap
IfSilent SecRequired_skip_Winpcap
2005-07-23 20:34:43 +00:00
; Install WinPcap (depending on winpcap page setting)
ReadINIStr $0 "$PLUGINSDIR\WinPcapPage.ini" "Field 4" "State"
StrCmp $0 "0" SecRequired_skip_Winpcap
; Uinstall old WinPcap first
ReadRegStr $WINPCAP_UNINSTALL HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinPcapInst" "UninstallString"
IfErrors lbl_winpcap_notinstalled ;if RegKey is unavailable, WinPcap is not installed
2005-08-07 23:10:06 +00:00
; from released version 3.1, WinPcap will uninstall an old version by itself
;ExecWait '$WINPCAP_UNINSTALL' $0
;DetailPrint "WinPcap uninstaller returned $0"
2005-07-23 20:34:43 +00:00
lbl_winpcap_notinstalled:
SetOutPath $INSTDIR
2010-07-12 23:52:35 +00:00
File "WinPcap_4_1_2.exe"
ExecWait '"$INSTDIR\WinPcap_4_1_2.exe"' $0
2005-07-23 20:34:43 +00:00
DetailPrint "WinPcap installer returned $0"
SecRequired_skip_Winpcap:
2006-07-04 18:40:51 +00:00
; If no user profile exists for Wireshark but for Ethereal, copy it over
SetShellVarContext current
IfFileExists $APPDATA\Wireshark profile_done
IfFileExists $APPDATA\Ethereal 0 profile_done
;MessageBox MB_YESNO "This seems to be the first time you use Wireshark. Copy over the personal settings from Ethereal?" /SD IDYES IDNO profile_done
CreateDirectory $APPDATA\Wireshark
CopyFiles $APPDATA\Ethereal\*.* $APPDATA\Wireshark
profile_done:
SetShellVarContext all
2005-07-23 20:34:43 +00:00
SectionEnd ; "Required"
2008-04-09 03:48:16 +00:00
!ifdef GTK_DIR
Section "Wireshark" SecWireshark
2004-02-18 20:45:54 +00:00
;-------------------------------------------
SetOutPath $INSTDIR
2008-04-05 15:15:14 +00:00
File "..\..\wireshark.exe"
2008-04-09 03:48:16 +00:00
File "${GTK_DIR}\bin\libgdk-win32-2.0-0.dll"
File "${GTK_DIR}\bin\libgdk_pixbuf-2.0-0.dll"
File "${GTK_DIR}\bin\libgtk-win32-2.0-0.dll"
File "${GTK_DIR}\bin\libatk-1.0-0.dll"
File "${GTK_DIR}\bin\libpango-1.0-0.dll"
File "${GTK_DIR}\bin\libpangowin32-1.0-0.dll"
2005-12-15 03:36:17 +00:00
!ifdef NEED_CAIRO_DLL
2008-04-09 03:48:16 +00:00
File "${GTK_DIR}\bin\libcairo-2.dll"
File "${GTK_DIR}\bin\libpangocairo-1.0-0.dll"
2005-12-15 03:36:17 +00:00
!endif
2005-12-14 21:19:39 +00:00
!ifdef NEED_LIBPNG_DLL
2010-02-15 20:57:50 +00:00
File "${GTK_DIR}\bin\${PNG_DLL}"
2005-12-14 21:19:39 +00:00
!endif
2007-09-25 16:09:58 +00:00
!ifdef NEED_LIBTIFF_DLL
2009-04-17 17:32:48 +00:00
File "${GTK_DIR}\bin\${TIFF_DLL}"
2007-09-25 16:09:58 +00:00
!endif
!ifdef NEED_LIBJPEG_DLL
2009-04-17 17:32:48 +00:00
File "${GTK_DIR}\bin\${JPEG_DLL}"
2007-09-25 16:09:58 +00:00
!endif
2009-09-16 13:34:37 +00:00
!ifdef NEED_FREETYPE_DLL
File "${GTK_DIR}\bin\libpangoft2-1.0-0.dll"
2009-11-19 20:27:08 +00:00
File "${GTK_DIR}\bin\${FREETYPE_DLL}"
2009-09-16 13:34:37 +00:00
!endif
!ifdef NEED_FONTCONFIG_DLL
2009-11-19 20:27:08 +00:00
File "${GTK_DIR}\bin\${FONTCONFIG_DLL}"
2009-09-16 13:34:37 +00:00
!endif
!ifdef NEED_EXPAT_DLL
2009-11-19 20:27:08 +00:00
File "${GTK_DIR}\bin\${EXPAT_DLL}"
2009-09-16 13:34:37 +00:00
!endif
2003-07-22 22:00:38 +00:00
SetOutPath $INSTDIR\etc\gtk-2.0
2008-04-09 03:48:16 +00:00
File "${GTK_DIR}\etc\gtk-2.0\*.*"
2009-04-17 17:32:48 +00:00
!if ${WIRESHARK_TARGET_PLATFORM} == "win32"
2003-07-22 22:00:38 +00:00
SetOutPath $INSTDIR\etc\pango
2008-04-09 03:48:16 +00:00
File "${GTK_DIR}\etc\pango\pango.*"
2009-12-17 22:01:13 +00:00
; Not needed for GTK+ >= 2.18
;SetOutPath $INSTDIR\lib\gtk-2.0\${GTK_LIB_DIR}\loaders
;File "${GTK_DIR}\lib\gtk-2.0\${GTK_LIB_DIR}\loaders\libpixbufloader-*.dll"
2009-04-17 17:32:48 +00:00
!endif
Use GTK+ 2.14.1
What's new in GTK+ 2.14
=======================
GTK+ 2.14 adds new functionality while maintaining source and binary
compatibility with GTK+ 2.12. Highlights of new features and
improvements in GTK+ 2.14 are:
New widgets and objects
* GdkAppLaunchContext, provides startup notification with
g_app_info_launch()
* GtkMountOperation, can ask for passwords when mounting
volumes with g_volume_mount()
* GtkToolShell, an interface for containers of GtkToolItems
Noteworthy new APIs
* gtk_show_uri(), a replacement for gnome_vfs_url_show() and
gnome_url_show()
* gtk_widget_get_snapshot(), using pixmap redirection to render
snapshots of widgets
Changes in the file chooser
The file chooser uses GIO directly, loadable backends are no longer
supported. Autocompletion in the file chooser entry has been improved.
Changes in printing support
The print dialog displays printer status information. Support for
rearranging pages when printing multiple pages per sheet has been
added to the cups backend.
Accessibility support
The gail module is shipped with GTK+, GtkBuilder supports
accessibility attributes and GtkStatusIcon supports keyboard
navigation.
Internationalization support
The compose sequences understood by GTK+'s builtin input method
have been synchronized with recent X.org compose sequences, adding
a large number of new sequences. GTK+ no longer uses translations
when an application is not translated to the current locale.
gdk-pixbuf changes
* Support loading OS X icns format
* Support loading JPEG 2000 images
* Support loading and saving to GIO streams
* Use GIO for mime information
GDK changes
GDK uses Xrandr instead of Xinerama to provide more (and dynamic)
monitor information. Font configuration changes are now picked up
at runtime, without an application restart.
For more details and lists of fixed bugs, see the
announcements for the 2.13.x development releases:
http://mail.gnome.org/archives/gtk-devel-list/2008-February/msg00079.html
http://mail.gnome.org/archives/gtk-devel-list/2008-May/msg00112.html
http://mail.gnome.org/archives/gtk-devel-list/2008-June/msg00033.html
http://mail.gnome.org/archives/gtk-devel-list/2008-June/msg00158.html
http://mail.gnome.org/archives/gtk-devel-list/2008-July/msg00044.html
http://mail.gnome.org/archives/gtk-devel-list/2008-July/msg00182.html
http://mail.gnome.org/archives/gtk-devel-list/2008-August/msg00023.html
http://mail.gnome.org/archives/gtk-devel-list/2008-August/msg00153.html
svn path=/trunk/; revision=26148
2008-09-06 15:25:23 +00:00
SetOutPath $INSTDIR\lib\gtk-2.0\${GTK_LIB_DIR}\engines
File "${GTK_DIR}\lib\gtk-2.0\${GTK_LIB_DIR}\engines\libpixmap.dll"
2008-09-08 07:14:52 +00:00
SetOutPath $INSTDIR\lib\gtk-2.0\modules
File "${GTK_DIR}\lib\gtk-2.0\modules\libgail.dll"
2006-07-04 18:40:51 +00:00
2008-06-26 16:42:07 +00:00
; GTK MS-Windows Engine (GTK-Wimp)
2006-10-27 12:06:13 +00:00
SetOutPath $INSTDIR\${GTK_WIMP_DLLDST_DIR}
File "${GTK_WIMP_DLLSRC_DIR}\libwimp.dll"
SetOutPath $INSTDIR\${GTK_WIMP_RCDST_DIR}
File "${GTK_WIMP_RCSRC_DIR}\gtkrc"
2004-02-24 18:51:40 +00:00
2008-06-26 16:42:07 +00:00
SectionEnd ; "Wireshark"
!endif
2005-07-21 20:05:37 +00:00
2006-05-31 17:38:42 +00:00
Section "TShark" SecTShark
2001-04-04 04:50:05 +00:00
;-------------------------------------------
SetOutPath $INSTDIR
2006-05-31 17:38:42 +00:00
File "..\..\tshark.exe"
File "..\..\doc\tshark.html"
2001-07-12 22:45:23 +00:00
SectionEnd
2001-04-04 04:50:05 +00:00
2005-07-23 20:34:43 +00:00
SectionGroup "Plugins / Extensions" SecPluginsGroup
2001-04-04 04:50:05 +00:00
2005-03-07 22:31:13 +00:00
Section "Dissector Plugins" SecPlugins
2001-04-04 04:50:05 +00:00
;-------------------------------------------
2009-05-17 18:46:50 +00:00
SetOutPath '$INSTDIR\plugins\${VERSION}'
2003-10-28 07:02:38 +00:00
File "..\..\plugins\asn1\asn1.dll"
2002-07-12 22:52:43 +00:00
File "..\..\plugins\docsis\docsis.dll"
2007-10-14 15:45:24 +00:00
File "..\..\plugins\ethercat\ethercat.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"
2010-03-16 06:58:25 +00:00
File "..\..\plugins\interlink\interlink.dll"
2003-12-18 19:07:14 +00:00
File "..\..\plugins\irda\irda.dll"
2007-05-25 23:40:42 +00:00
File "..\..\plugins\m2m\m2m.dll"
2009-04-22 12:19:59 +00:00
File "..\..\plugins\opcua\opcua.dll"
2005-05-20 21:40:03 +00:00
File "..\..\plugins\profinet\profinet.dll"
2008-05-10 14:44:32 +00:00
File "..\..\plugins\sercosiii\sercosiii.dll"
2007-08-21 17:49:54 +00:00
File "..\..\plugins\unistim\unistim.dll"
2007-05-25 23:40:42 +00:00
File "..\..\plugins\wimax\wimax.dll"
2007-09-07 15:24:43 +00:00
File "..\..\plugins\wimaxasncp\wimaxasncp.dll"
2010-01-11 14:48:28 +00:00
!include "custom_plugins.txt"
2005-03-07 22:31:13 +00:00
SectionEnd
2005-07-26 17:58:17 +00:00
Section "Tree Statistics Plugin" SecStatsTree
2005-03-07 22:31:13 +00:00
;-------------------------------------------
2009-05-17 18:46:50 +00:00
SetOutPath '$INSTDIR\plugins\${VERSION}'
2005-03-07 22:31:13 +00:00
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
;-------------------------------------------
2009-05-17 18:46:50 +00:00
SetOutPath '$INSTDIR\plugins\${VERSION}'
2005-01-21 19:16:05 +00:00
File "..\..\plugins\mate\mate.dll"
SectionEnd
2006-02-07 09:12:43 +00:00
2006-10-20 20:06:44 +00:00
!ifdef NET_SNMP_DIR
2003-12-26 12:27:47 +00:00
Section "SNMP MIBs" SecMIBs
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
2006-10-20 20:06:44 +00:00
!endif
2002-12-07 21:10:22 +00:00
2007-08-27 06:40:36 +00:00
!ifdef SMI_DIR
Section "SNMP MIBs" SecMIBs
;-------------------------------------------
SetOutPath $INSTDIR\snmp\mibs
File "${SMI_DIR}\mibs\*"
SectionEnd
!endif
2005-07-21 20:05:37 +00:00
SectionGroupEnd ; "Plugins / Extensions"
2005-07-23 20:34:43 +00:00
SectionGroup "Tools" SecToolsGroup
2005-07-21 20:05:37 +00:00
Section "Editcap" SecEditcap
;-------------------------------------------
SetOutPath $INSTDIR
File "..\..\editcap.exe"
File "..\..\doc\editcap.html"
SectionEnd
Section "Text2Pcap" SecText2Pcap
;-------------------------------------------
SetOutPath $INSTDIR
File "..\..\text2pcap.exe"
File "..\..\doc\text2pcap.html"
SectionEnd
Section "Mergecap" SecMergecap
;-------------------------------------------
SetOutPath $INSTDIR
File "..\..\mergecap.exe"
File "..\..\doc\mergecap.html"
SectionEnd
Section "Capinfos" SecCapinfos
;-------------------------------------------
SetOutPath $INSTDIR
File "..\..\capinfos.exe"
File "..\..\doc\capinfos.html"
SectionEnd
2008-06-26 16:42:07 +00:00
Section "Rawshark" SecRawshark
;-------------------------------------------
SetOutPath $INSTDIR
File "..\..\rawshark.exe"
File "..\..\doc\rawshark.html"
SectionEnd
2005-07-21 20:05:37 +00:00
SectionGroupEnd ; "Tools"
2006-04-20 20:33:04 +00:00
!ifdef HHC_DIR
Section "User's Guide" SecUsersGuide
;-------------------------------------------
SetOutPath $INSTDIR
2007-01-19 00:10:22 +00:00
File "user-guide.chm"
2006-04-20 20:33:04 +00:00
SectionEnd
!endif
2005-07-21 20:05:37 +00:00
2005-07-23 20:34:43 +00:00
Section "Uninstall" un.SecUinstall
2001-04-04 04:50:05 +00:00
;-------------------------------------------
2003-04-09 18:58:37 +00:00
2003-06-03 02:32:56 +00:00
;
; UnInstall for every user
;
2005-07-23 20:34:43 +00:00
SectionIn 1 2
2003-06-03 02:32:56 +00:00
SetShellVarContext all
2008-02-15 23:20:32 +00:00
Delete "$INSTDIR\rawshark.exe"
IfErrors 0 NoRawsharkErrorMsg
MessageBox MB_OK "Please note: rawshark.exe could not be removed, it's probably in use!" IDOK 0 ;skipped if rawshark.exe removed
Abort "Please note: rawshark.exe could not be removed, it's probably in use! Abort uninstall process!"
NoRawsharkErrorMsg:
2006-05-31 17:38:42 +00:00
Delete "$INSTDIR\tshark.exe"
IfErrors 0 NoTSharkErrorMsg
MessageBox MB_OK "Please note: tshark.exe could not be removed, it's probably in use!" IDOK 0 ;skipped if tshark.exe removed
Abort "Please note: tshark.exe could not be removed, it's probably in use! Abort uninstall process!"
NoTSharkErrorMsg:
2004-02-03 20:03:40 +00:00
2006-05-30 13:19:30 +00:00
Delete "$INSTDIR\wireshark.exe"
IfErrors 0 NoWiresharkErrorMsg
MessageBox MB_OK "Please note: wireshark.exe could not be removed, it's probably in use!" IDOK 0 ;skipped if wireshark.exe removed
Abort "Please note: wireshark.exe could not be removed, it's probably in use! Abort uninstall process!"
NoWiresharkErrorMsg:
2004-02-03 20:03:40 +00:00
2006-05-30 13:19:30 +00:00
DeleteRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark"
DeleteRegKey HKEY_LOCAL_MACHINE "Software\Wireshark"
DeleteRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\App Paths\wireshark.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"
2007-03-26 04:02:05 +00:00
Call un.unlink
2004-06-10 10:12:30 +00:00
StrCpy $R0 ".wpc"
Call un.unlink
StrCpy $R0 ".wpz"
Call un.unlink
2008-01-11 19:25:51 +00:00
StrCpy $R0 ".rf5"
Call un.unlink
2004-06-10 10:12:30 +00:00
pop $R0
2007-03-26 04:02:05 +00:00
DeleteRegKey HKCR ${WIRESHARK_ASSOC}
2006-05-30 13:19:30 +00:00
DeleteRegKey HKCR "${WIRESHARK_ASSOC}\Shell\open\command"
DeleteRegKey HKCR "${WIRESHARK_ASSOC}\DefaultIcon"
2004-06-10 10:12:30 +00:00
!insertmacro UpdateIcons
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\*.*"
2007-01-03 03:42:33 +00:00
Delete "$INSTDIR\lib\gtk-2.0\2.10.0\engines\*.*"
Delete "$INSTDIR\lib\gtk-2.0\2.10.0\loaders\*.*"
Delete "$INSTDIR\lib\gtk-2.0\2.10.0\immodules\*.*"
2008-09-16 00:57:46 +00:00
Delete "$INSTDIR\lib\gtk-2.0\modules\*.*"
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\*.*"
2006-11-03 22:12:57 +00:00
Delete "$INSTDIR\lib\pango\1.5.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\diameter\*.*"
2002-12-07 21:10:22 +00:00
Delete "$INSTDIR\snmp\mibs\*.*"
Delete "$INSTDIR\snmp\*.*"
2007-11-19 16:29:41 +00:00
Delete "$INSTDIR\tpncp\*.*"
Delete "$INSTDIR\wimaxasncp\*.*"
2004-02-18 20:45:54 +00:00
Delete "$INSTDIR\*.exe"
Delete "$INSTDIR\*.dll"
Delete "$INSTDIR\*.html"
2008-02-22 22:22:13 +00:00
Delete "$INSTDIR\ws.css"
2010-04-09 21:42:51 +00:00
Delete "$INSTDIR\COPYING*"
2004-05-21 17:31:16 +00:00
Delete "$INSTDIR\AUTHORS-SHORT"
2007-11-22 09:04:32 +00:00
; previous versions installed these files
2007-01-03 03:46:48 +00:00
Delete "$INSTDIR\*.manifest"
2006-09-23 22:08:39 +00:00
; previous versions installed this file
2004-10-17 23:03:11 +00:00
Delete "$INSTDIR\AUTHORS-SHORT-FORMAT"
2004-02-18 20:45:54 +00:00
Delete "$INSTDIR\README*"
2004-08-26 22:48:29 +00:00
Delete "$INSTDIR\NEWS.txt"
2004-02-18 20:45:54 +00:00
Delete "$INSTDIR\manuf"
2007-08-12 20:54:30 +00:00
Delete "$INSTDIR\services"
2004-02-18 20:45:54 +00:00
Delete "$INSTDIR\pcrepattern.3.txt"
2006-04-20 20:33:04 +00:00
Delete "$INSTDIR\user-guide.chm"
2007-01-23 08:20:59 +00:00
Delete "$INSTDIR\example_snmp_users_file"
2009-02-16 18:27:29 +00:00
Delete "$INSTDIR\ipmap.html"
2005-07-21 20:17:52 +00:00
Delete "$INSTDIR\radius\*.*"
2005-09-17 17:17:42 +00:00
Delete "$INSTDIR\dtds\*.*"
2006-05-30 13:19:30 +00:00
Delete "$SMPROGRAMS\Wireshark\*.*"
2008-12-08 18:39:20 +00:00
Delete "$SMPROGRAMS\Wireshark.lnk"
2006-05-30 13:19:30 +00:00
Delete "$DESKTOP\Wireshark.lnk"
Delete "$QUICKLAUNCH\Wireshark.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"
2007-01-03 03:42:33 +00:00
RMDir "$INSTDIR\lib\gtk-2.0\2.10.0\engines"
RMDir "$INSTDIR\lib\gtk-2.0\2.10.0\loaders"
RMDir "$INSTDIR\lib\gtk-2.0\2.10.0\immodules"
RMDir "$INSTDIR\lib\gtk-2.0\2.10.0"
2008-09-16 00:57:46 +00:00
RMDir "$INSTDIR\lib\gtk-2.0\modules"
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"
2006-11-03 22:12:57 +00:00
RMDir "$INSTDIR\lib\pango\1.5.0\modules"
RMDir "$INSTDIR\lib\pango\1.5.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"
2006-05-30 13:19:30 +00:00
RMDir "$SMPROGRAMS\Wireshark"
2003-12-26 11:36:43 +00:00
RMDir "$INSTDIR\help"
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"
2005-07-21 20:17:52 +00:00
RMDir "$INSTDIR\radius"
2005-09-17 17:17:42 +00:00
RMDir "$INSTDIR\dtds"
2007-11-19 16:29:41 +00:00
RMDir "$INSTDIR\tpncp"
RMDir "$INSTDIR\wimaxasncp"
2001-04-04 04:50:05 +00:00
RMDir "$INSTDIR"
2005-07-23 20:34:43 +00:00
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 Settings" un.SecGlobalSettings
;-------------------------------------------
SectionIn 1 2
Delete "$INSTDIR\cfilters"
Delete "$INSTDIR\colorfilters"
Delete "$INSTDIR\dfilters"
2006-03-30 19:56:33 +00:00
Delete "$INSTDIR\init.lua"
2006-10-17 18:21:49 +00:00
Delete "$INSTDIR\console.lua"
Delete "$INSTDIR\dtd_gen.lua"
2007-08-27 22:06:47 +00:00
Delete "$INSTDIR\smi_modules"
2005-07-23 20:34:43 +00:00
RMDir "$INSTDIR"
SectionEnd
Section /o "Un.Personal Settings" un.SecPersonalSettings
;-------------------------------------------
SectionIn 2
SetShellVarContext current
2006-05-30 13:19:30 +00:00
Delete "$APPDATA\Wireshark\*.*"
RMDir "$APPDATA\Wireshark"
2005-07-23 20:34:43 +00:00
SectionEnd
;VAR un.WINPCAP_UNINSTALL
Section /o "Un.WinPcap" un.SecWinPcap
;-------------------------------------------
SectionIn 2
ReadRegStr $1 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinPcapInst" "UninstallString"
;IfErrors un.lbl_winpcap_notinstalled ;if RegKey is unavailable, WinPcap is not installed
;MessageBox MB_OK "WinPcap $1"
ExecWait '$1' $0
DetailPrint "WinPcap uninstaller returned $0"
;SetRebootFlag true
;un.lbl_winpcap_notinstalled:
SectionEnd
Section "-Un.Finally"
;-------------------------------------------
SectionIn 1 2
; this test must be done after all other things uninstalled (e.g. Global Settings)
2004-02-03 20:03:40 +00:00
IfFileExists "$INSTDIR" 0 NoFinalErrorMsg
2005-07-23 20:34:43 +00:00
MessageBox MB_OK "Please note: The directory $INSTDIR could not be removed!" IDOK 0 ; skipped if dir doesn't exist
2007-03-26 04:02:05 +00:00
NoFinalErrorMsg:
2002-01-04 06:57:10 +00:00
SectionEnd
2003-12-26 12:27:47 +00:00
2005-07-23 20:34:43 +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
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
2008-04-09 03:48:16 +00:00
!ifdef GTK_DIR
2008-06-26 16:42:07 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecWireshark} "${PROGRAM_NAME} is a GUI network protocol analyzer."
2004-08-26 22:48:29 +00:00
!endif
2006-05-31 17:38:42 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecTShark} "TShark is a text based network protocol analyzer."
!insertmacro MUI_DESCRIPTION_TEXT ${SecPluginsGroup} "Some plugins and extensions for both Wireshark and TShark."
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)."
2007-01-02 22:19:48 +00:00
!ifdef NET_SNMP_DIR
2003-12-26 12:27:47 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecMIBs} "SNMP MIBs for better SNMP dissection."
2007-08-27 06:40:36 +00:00
!endif
!ifdef SMI_DIR
!insertmacro MUI_DESCRIPTION_TEXT ${SecMIBs} "SNMP MIBs for better SNMP dissection."
2007-01-02 22:19:48 +00:00
!endif
2005-07-23 20:34:43 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecToolsGroup} "Additional command line based tools."
!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"
!insertmacro MUI_DESCRIPTION_TEXT ${SecCapinfos} "Capinfos is a program that provides information on capture files."
2008-06-26 16:42:07 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecRawshark} "Rawshark is a raw packet filter."
2006-10-21 09:40:18 +00:00
!ifdef HHC_DIR
2007-01-31 06:45:46 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${SecUsersGuide} "Install the user's guide, so an internet connection is not required to read the help pages."
2006-10-21 09:40:18 +00:00
!endif
2003-12-26 12:27:47 +00:00
!insertmacro MUI_FUNCTION_DESCRIPTION_END
2005-07-23 20:34:43 +00:00
2007-03-26 04:02:05 +00:00
!insertmacro MUI_UNFUNCTION_DESCRIPTION_BEGIN
2006-05-30 13:19:30 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${un.SecUinstall} "Uninstall all Wireshark components."
!insertmacro MUI_DESCRIPTION_TEXT ${un.SecPlugins} "Uninstall all Plugins (even from previous Wireshark versions)."
2005-07-23 20:34:43 +00:00
!insertmacro MUI_DESCRIPTION_TEXT ${un.SecGlobalSettings} "Uninstall global settings like: $INSTDIR\cfilters"
!insertmacro MUI_DESCRIPTION_TEXT ${un.SecPersonalSettings} "Uninstall personal settings like your preferences file from your profile: $PROFILE."
!insertmacro MUI_DESCRIPTION_TEXT ${un.SecWinPcap} "Call WinPcap's uninstall program."
!insertmacro MUI_UNFUNCTION_DESCRIPTION_END
2007-03-26 04:02:05 +00:00
2004-06-10 10:12:30 +00:00
; ============================================================================
; Callback functions
; ============================================================================
2008-04-09 03:48:16 +00:00
!ifdef GTK_DIR
2008-08-14 17:54:35 +00:00
; Disable File extensions if Wireshark isn't selected
2004-06-10 10:12:30 +00:00
Function .onSelChange
Push $0
2008-04-09 03:48:16 +00:00
SectionGetFlags ${SecWireshark} $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
2008-08-14 17:54:35 +00:00
WriteINIStr "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 6" "State" 1
WriteINIStr "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 6" "Flags" ""
WriteINIStr "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 7" "Flags" ""
2007-03-26 04:02:05 +00:00
Goto onSelChange.end
2008-08-14 17:54:35 +00:00
2007-03-26 04:02:05 +00:00
onSelChange.unselect:
2008-08-14 17:54:35 +00:00
WriteINIStr "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 6" "State" 0
WriteINIStr "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 6" "Flags" "DISABLED"
WriteINIStr "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 7" "Flags" "DISABLED"
2004-06-29 07:14:39 +00:00
Goto onSelChange.end
2008-08-14 17:54:35 +00:00
2004-06-10 10:12:30 +00:00
onSelChange.end:
Pop $0
FunctionEnd
2004-06-29 07:14:39 +00:00
!endif
2005-02-03 02:35:20 +00:00
!include "GetWindowsVersion.nsh"
2005-07-23 20:34:43 +00:00
!include WinMessages.nsh
2007-11-06 20:32:30 +00:00
!include "VersionCompare.nsh"
2005-02-03 02:35:20 +00:00
2007-11-06 20:32:30 +00:00
Var WINPCAP_NAME ; DisplayName from WinPcap installation
Var WINPCAP_VERSION ; DisplayVersion from WinPcap installation
2005-02-03 02:35:20 +00:00
Function myShowCallback
2005-07-23 20:34:43 +00:00
2005-02-08 02:34:15 +00:00
; Get the Windows version
Call GetWindowsVersion
Pop $R0 ; Windows Version
2006-11-02 09:36:47 +00:00
; Check if we're able to run with this version
StrCmp $R0 '95' lbl_winversion_unsupported
StrCmp $R0 '98' lbl_winversion_unsupported
StrCmp $R0 'ME' lbl_winversion_unsupported
2007-02-23 19:48:59 +00:00
StrCmp $R0 'NT 4.0' lbl_winversion_unsupported_nt4
2010-02-09 19:13:57 +00:00
StrCmp $R0 '2000' lbl_winversion_unsupported_2000
2006-11-02 09:36:47 +00:00
Goto lbl_winversion_supported
lbl_winversion_unsupported:
2009-02-18 20:27:16 +00:00
MessageBox MB_OK \
2009-10-21 03:13:42 +00:00
"Windows $R0 is no longer supported. The last known version working with 98/ME was Ethereal 0.99.0." \
2009-02-18 20:27:16 +00:00
/SD IDOK
2006-11-02 09:36:47 +00:00
Quit
2007-02-23 19:48:59 +00:00
lbl_winversion_unsupported_nt4:
2009-02-18 20:27:16 +00:00
MessageBox MB_OK \
2009-10-21 03:13:42 +00:00
"Windows $R0 is no longer supported. The last known version working with NT 4.0 was Wireshark 0.99.4." \
2009-02-18 20:27:16 +00:00
/SD IDOK
2007-02-23 19:48:59 +00:00
Quit
2010-02-09 19:13:57 +00:00
lbl_winversion_unsupported_2000:
MessageBox MB_OK \
"Windows $R0 is no longer supported. Please install Wireshark 1.2 or 1.0." \
/SD IDOK
Quit
2005-08-26 00:59:07 +00:00
2010-02-09 19:13:57 +00:00
lbl_winversion_supported:
2005-07-23 20:34:43 +00:00
; detect if WinPcap should be installed
2010-07-12 23:52:35 +00:00
WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 4" "Text" "Install WinPcap 4.1.2"
2007-11-06 20:32:30 +00:00
ReadRegStr $WINPCAP_NAME HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinPcapInst" "DisplayName"
2005-07-23 20:34:43 +00:00
IfErrors 0 lbl_winpcap_installed ;if RegKey is available, WinPcap is already installed
WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 2" "Text" "WinPcap is currently not installed"
WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 2" "Flags" "DISABLED"
WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 5" "Text" "(Use Add/Remove Programs first to uninstall any undetected old WinPcap versions)"
Goto lbl_winpcap_done
lbl_winpcap_installed:
2007-11-06 20:32:30 +00:00
WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 2" "Text" "$WINPCAP_NAME"
; Compare the installed build against the one we have.
2007-07-06 20:34:20 +00:00
ReadRegStr $WINPCAP_VERSION HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinPcapInst" "DisplayVersion"
2007-11-06 20:32:30 +00:00
StrCmp $WINPCAP_VERSION "" lbl_winpcap_do_install ; WinPcap is really old(?) or installed improperly.
2010-07-12 23:52:35 +00:00
${VersionCompare} $WINPCAP_VERSION "4.1.0.2001" $1 ; WinPcap 4.1.2
2007-11-06 20:32:30 +00:00
StrCmp $1 "2" lbl_winpcap_do_install
2005-07-26 17:58:17 +00:00
2005-09-09 21:04:19 +00:00
;lbl_winpcap_dont_install:
2007-11-06 20:32:30 +00:00
; The installed version is >= to what we have, so don't install
2005-07-26 17:58:17 +00:00
WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 4" "State" "0"
2007-11-06 20:32:30 +00:00
WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 5" "Text" "If selected, the currently installed $WINPCAP_NAME will be uninstalled first."
2005-07-26 17:58:17 +00:00
Goto lbl_winpcap_done
2007-02-16 06:38:59 +00:00
;lbl_winpcap_dont_upgrade:
2006-10-16 22:47:32 +00:00
; force the user to upgrade by hand
WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 4" "State" "0"
WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 4" "Flags" "DISABLED"
2010-07-12 23:52:35 +00:00
WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 5" "Text" "If you wish to install WinPcap 4.1.2, please uninstall $WINPCAP_NAME manually first."
2006-10-16 22:47:32 +00:00
WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 5" "Flags" "DISABLED"
Goto lbl_winpcap_done
2005-07-26 17:58:17 +00:00
lbl_winpcap_do_install:
; seems to be an old version, install newer one
2005-07-23 20:34:43 +00:00
WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 4" "State" "1"
2007-11-06 20:32:30 +00:00
WriteINIStr "$PLUGINSDIR\WinPcapPage.ini" "Field 5" "Text" "The currently installed $WINPCAP_NAME will be uninstalled first."
2005-07-23 20:34:43 +00:00
lbl_winpcap_done:
2006-05-30 13:19:30 +00:00
; if Wireshark was previously installed, unselect previously not installed icons etc.
2007-03-26 04:02:05 +00:00
; detect if Wireshark is already installed ->
2006-05-30 13:19:30 +00:00
ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Wireshark" "UninstallString"
IfErrors lbl_wireshark_notinstalled ;if RegKey is unavailable, Wireshark is not installed
2005-07-25 17:56:19 +00:00
; only select Start Menu Group, if previously installed
; (we use the "all users" start menu, so select it first)
SetShellVarContext all
2006-05-30 13:19:30 +00:00
IfFileExists "$SMPROGRAMS\Wireshark\Wireshark.lnk" lbl_have_startmenu
2008-12-08 18:39:20 +00:00
IfFileExists "$SMPROGRAMS\Wireshark.lnk" lbl_have_startmenu
2005-07-25 17:56:19 +00:00
WriteINIStr "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 2" "State" "0"
lbl_have_startmenu:
; only select Desktop Icon, if previously installed
2006-05-30 13:19:30 +00:00
IfFileExists "$DESKTOP\Wireshark.lnk" lbl_have_desktopicon
2005-07-25 17:56:19 +00:00
WriteINIStr "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 3" "State" "0"
lbl_have_desktopicon:
; only select Quick Launch Icon, if previously installed
2006-05-30 13:19:30 +00:00
IfFileExists "$QUICKLAUNCH\Wireshark.lnk" lbl_have_quicklaunchicon
2005-07-25 17:56:19 +00:00
WriteINIStr "$PLUGINSDIR\AdditionalTasksPage.ini" "Field 4" "State" "0"
lbl_have_quicklaunchicon:
2006-05-30 13:19:30 +00:00
lbl_wireshark_notinstalled:
2005-07-25 17:56:19 +00:00
2005-02-03 02:35:20 +00:00
FunctionEnd