summaryrefslogtreecommitdiff
path: root/packaging
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2015-01-06 15:07:50 -0800
committerGerald Combs <gerald@wireshark.org>2015-03-12 22:47:42 +0000
commit2ef72cb7aa87854037defa1fdb91979f01b925cb (patch)
treee694ac2bfe98f6c8f8c4f574eab5e9058b26a7f8 /packaging
parent436a0645138515480730f1e1679b47f30cc88f79 (diff)
downloadwireshark-2ef72cb7aa87854037defa1fdb91979f01b925cb.tar.gz
CMake: Add a top-level nsis_package target.
Add packaging/nsis/CMakeLists.txt and use it to generate each NSIS include file. Add macros to generate packaging-related targets and invoke them from the top-level CMakeLists.txt. Add a top-level "plugins" target. Copy plugins to "plugins" in each of our staging directories instead of "plugins/$VERSION". Add missing files to the copy_data_files and copy_cli_dlls targets. Add all files in the NSIS package from the staging directory. Drop a bunch of no-longer-needed defines, e.g. MSVC_VARIANT. Change-Id: Ib1079260d164c65118050f1431af8e582cd577fa Reviewed-on: https://code.wireshark.org/review/6459 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'packaging')
-rw-r--r--packaging/nsis/CMakeLists.txt234
-rw-r--r--packaging/nsis/Makefile.nmake32
-rwxr-xr-xpackaging/nsis/common.nsh4
-rw-r--r--packaging/nsis/config.nsh.in93
-rwxr-xr-xpackaging/nsis/uninstall.nsi2
-rw-r--r--packaging/nsis/wireshark.nsi566
6 files changed, 548 insertions, 383 deletions
diff --git a/packaging/nsis/CMakeLists.txt b/packaging/nsis/CMakeLists.txt
new file mode 100644
index 0000000000..4a08792cdb
--- /dev/null
+++ b/packaging/nsis/CMakeLists.txt
@@ -0,0 +1,234 @@
+# CMakeLists.txt
+#
+# Wireshark - Network traffic analyzer
+# By Gerald Combs <gerald@wireshark.org>
+# Copyright 1998 Gerald Combs
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+
+# We should use CPack to generate the NSIS package. Even better,
+# we should use CPack to create a .msi using WIX.
+
+set(NSIS_FILES
+ wireshark.nsi
+ uninstall.nsi
+ common.nsh
+ GetWindowsVersion.nsh
+ servicelib.nsh
+ AdditionalTasksPage.ini
+ WinPcapPage.ini
+ ${CMAKE_CURRENT_BINARY_DIR}/all-manifest.nsh
+ ${CMAKE_CURRENT_BINARY_DIR}/config.nsh
+ ${CMAKE_CURRENT_BINARY_DIR}/gtk-dll-manifest.nsh
+ ${CMAKE_CURRENT_BINARY_DIR}/qt-dll-manifest.nsh
+ PARENT_SCOPE
+)
+
+# Check for leftover NMake-generated files.
+foreach(_nsh_file all-manifest.nsh config.nsh gtk-dll-manifest.nsh qt-dll-manifest.nsh)
+ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_nsh_file})
+ message(FATAL_ERROR
+ "Found ${CMAKE_CURRENT_SOURCE_DIR}/${_nsh_file}.\n"
+ "Please run nmake -f Makefile.nmake distclean in ${CMAKE_SOURCE_DIR}."
+ )
+ endif()
+endforeach()
+
+# Variables required for config.nsh
+set(PROGRAM_NAME ${CMAKE_PROJECT_NAME})
+file(TO_NATIVE_PATH "${CMAKE_SOURCE_DIR}" TOP_SRC_DIR)
+# STAGING_DIR depends on the build configuration so we pass it
+# on the command line below.
+file(TO_NATIVE_PATH "${CMAKE_BINARY_DIR}/docbook" USER_GUIDE_DIR)
+if ("${WIRESHARK_TARGET_PLATFORM}" STREQUAL "win32")
+ set(TARGET_MACHINE x86)
+elseif ("${WIRESHARK_TARGET_PLATFORM}" STREQUAL "win64")
+ set(TARGET_MACHINE x64)
+else()
+ message(FATAL_ERROR "Your mysterious moon-man architecture \"${WIRESHARK_TARGET_PLATFORM}\" frightens and confuses us.")
+endif()
+
+# Path to the WinPcap installer.
+# XXX Come up with a better variable, e.g. cache WIRESHARK_LIB_DIR in FindWSWinLibs.
+file(TO_NATIVE_PATH "${GLIB2_DLL_DIR}/../.." _wireshark_lib_dir)
+set(WIRESHARK_LIB_DIR "${_wireshark_lib_dir}")
+
+# Must match ${WIRESHARK_LIB_DIR}/WinPcap_X_Y_Z.exe
+set(WINPCAP_PACKAGE_VERSION 4_1_3)
+string(REPLACE "_" "." PCAP_DISPLAY_VERSION "${WINPCAP_PACKAGE_VERSION}")
+
+set(PRODUCT_VERSION ${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_PATCH_VERSION}.${PROJECT_BUILD_VERSION})
+# XXX Shouldn't this reflect the API / ABI version?
+set(WTAP_VERSION ${PROJECT_VERSION})
+
+# To do:
+# - Sync the various version names between CMake, NMake, and NSIS.
+# - Set CMakeLists.txt version strings in make-version.pl
+# - Add a VERSION_EXTRA cmake option
+set (VERSION "${PROJECT_VERSION}")
+set (PRODUCT_VERSION=${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_MICRO}.${VERSION_BUILD})
+
+#add_custom_target(build_nsis_package
+# DEPENDS
+# wireshark-$(WIRESHARK_TARGET_PLATFORM)-$(VERSION).exe
+#)
+
+if(BUILD_wireshark AND QT_FOUND)
+ set (QT_DIR "\${STAGING_DIR}")
+endif()
+
+if(BUILD_wireshark_gtk AND GTK_FOUND)
+ set (GTK_DIR "\${STAGING_DIR}")
+endif()
+
+# CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS will likely give us a list of DLL
+# paths containing spaces. We'll assume that they're all in the same
+# directory and use it to create something that's easier to pass to
+# NSIS.
+set(MSVCR_DLL)
+list(GET CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS 0 _msvcr_dll)
+if(_msvcr_dll)
+ get_filename_component(_msvcr_dir ${_msvcr_dll} DIRECTORY)
+ set(MSVCR_DLL "${_msvcr_dir}/*.*")
+ file(TO_NATIVE_PATH "${MSVCR_DLL}" MSVCR_DLL)
+endif()
+
+# This *should* be compatible with the way we currently do things.
+if(MSVC12)
+ set(_vcredist_name "vcredist_${TARGET_MACHINE}.exe")
+ find_program(VCREDIST_EXE "${_vcredist_name}"
+ HINTS "${WIRESHARK_LIB_DIR}/vcredist_MSVC2013" "${WIRESHARK_LIB_DIR}"
+ )
+ file(TO_NATIVE_PATH "${VCREDIST_EXE}" VCREDIST_EXE)
+endif()
+
+if(NOT ENABLE_STATIC)
+ # XXX Replace ENABLE_LIBWIRESHARK with !ENABLE_STATIC everywhere.
+ set(ENABLE_LIBWIRESHARK 1)
+endif()
+
+# Ideally we would generate this at compile time using a separate cmake
+# module, e.g. cmake/modules/configure_nsis_file.cmake. However we would
+# have to figure out a clean way to pass in the variables above.
+file(READ "${CMAKE_CURRENT_SOURCE_DIR}/config.nsh.in" _config_nsh_contents)
+string(REPLACE "!define" "#cmakedefine" _config_nsh_contents "${_config_nsh_contents}")
+string(CONFIGURE "${_config_nsh_contents}" _config_nsh_contents)
+string(REPLACE "#define" "!define" _config_nsh_contents "${_config_nsh_contents}")
+string(REPLACE "#undef" "!undef" _config_nsh_contents "${_config_nsh_contents}")
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/config.nsh" "${_config_nsh_contents}")
+
+# all-manifest.nsh. Can be created at configure time.
+set(_all_manifest "${CMAKE_CURRENT_BINARY_DIR}/all-manifest.nsh")
+set(_all_manifest_contents "# Files required for all sections. Generated by CMake.\n")
+foreach(_dll ${GLIB2_DLLS} ${CARES_DLL} ${GCRYPT_DLLS} ${GEOIP_DLL}
+ ${GNUTLS_DLLS} ${KERBEROS_DLLS} ${LUA_DLL} ${SMI_DLL}
+ ${WINSPARKLE_DLL} ${ZLIB_DLL}
+ )
+ set(_all_manifest_contents "${_all_manifest_contents}File \"\${STAGING_DIR}\\${_dll}\"\n")
+endforeach()
+set(_all_manifest_contents "${_all_manifest_contents}File \"\${STAGING_DIR}\\gspawn-${WIRESHARK_TARGET_PLATFORM}-helper.exe\"\n")
+set(_all_manifest_contents "${_all_manifest_contents}File \"\${STAGING_DIR}\\gspawn-${WIRESHARK_TARGET_PLATFORM}-helper-console.exe\"\n")
+file(WRITE "${_all_manifest}" "${_all_manifest_contents}")
+
+# gtk-dll-manifest.nsh. Can be created at configure time.
+set(_gtk_dll_manifest "${CMAKE_CURRENT_BINARY_DIR}/gtk-dll-manifest.nsh")
+set(_gtk_dll_manifest_contents "# Files required for the GTK+ section. Generated by CMake.\n")
+if(BUILD_wireshark_gtk AND GTK_FOUND)
+ foreach(_dll ${GTK2_DLLS} ${GTK3_DLLS})
+ set(_gtk_dll_manifest_contents "${_gtk_dll_manifest_contents}File \"\${STAGING_DIR}\\${_dll}\"\n")
+ endforeach()
+ set(_gtk_dll_manifest_contents "${_gtk_dll_manifest_contents}# Subdirectories\n")
+ if(GTK2_ETC_DIR)
+ set(_gtk_dll_manifest_contents "${_gtk_dll_manifest_contents}SetOutPath \$INSTDIR\\etc\\gtk-2.0\n")
+ set(_gtk_dll_manifest_contents "${_gtk_dll_manifest_contents}File \"\${STAGING_DIR}\\etc\\gtk-2.0\\*.*\"\n")
+ endif()
+ if(GTK2_ENGINES_DLL_DIR)
+ set(_gtk_dll_manifest_contents "${_gtk_dll_manifest_contents}SetOutPath \$INSTDIR\\lib\\gtk-2.0\\2.10.0\\engines\n")
+ set(_gtk_dll_manifest_contents "${_gtk_dll_manifest_contents}File \"\${STAGING_DIR}\\lib\\gtk-2.0\\2.10.0\\engines\\*.*\"\n")
+ endif()
+ set(_gtk_dll_manifest_contents "${_gtk_dll_manifest_contents}SetOutPath \$INSTDIR\\lib\\gtk-2.0\\modules\n")
+ set(_gtk_dll_manifest_contents "${_gtk_dll_manifest_contents}File \"\${STAGING_DIR}\\lib\\gtk-2.0\\modules\\*.*\"\n")
+ # XXX Schemas (GTK3)
+endif()
+file(WRITE "${_gtk_dll_manifest}" "${_gtk_dll_manifest_contents}")
+
+file(TO_NATIVE_PATH "${DATAFILE_DIR}" _staging_dir)
+file(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}" _nsis_include_dir)
+
+# Variables we can't set via config.nsh.
+set(NSIS_DEFINES
+ -DSTAGING_DIR=${_staging_dir}
+ -DNSIS_INCLUDE_DIR=${_nsis_include_dir}
+ PARENT_SCOPE
+)
+
+macro( ADD_NSIS_UNINSTALLER_TARGET )
+ set (_nsis_source_dir ${CMAKE_SOURCE_DIR}/packaging/nsis )
+ set (_nsis_binary_dir ${CMAKE_BINARY_DIR}/packaging/nsis )
+
+ add_custom_target(nsis_uninstaller
+ DEPENDS ${DATAFILE_DIR}/uninstall.exe
+ )
+ add_custom_command(OUTPUT ${DATAFILE_DIR}/uninstall.exe
+ DEPENDS ${_nsis_source_dir}/uninstall.nsi
+ ${_nsis_source_dir}/common.nsh
+ COMMAND ${MAKENSIS_EXECUTABLE} ${NSIS_DEFINES}
+ uninstall.nsi
+ COMMAND ${DATAFILE_DIR}/uninstall_installer.exe
+ COMMAND ${CMAKE_COMMAND} -E remove ${DATAFILE_DIR}/uninstall_installer.exe
+ WORKING_DIRECTORY ${_nsis_source_dir}
+ )
+endmacro( ADD_NSIS_UNINSTALLER_TARGET )
+
+macro( ADD_NSIS_PACKAGE_TARGET )
+ set (_nsis_package ${CMAKE_BINARY_DIR}/packaging/nsis/wireshark-$(WIRESHARK_TARGET_PLATFORM)-$(VERSION).exe)
+
+ add_custom_target(nsis_package
+ DEPENDS
+ ${PROGLIST}
+ plugins
+ copy_data_files
+ user_guides
+ ${CMAKE_BINARY_DIR}/docbook/user-guide.chm
+ ${_nsis_package}
+ )
+ # qt-dll-manifest.nsh. Created using Wireshark.exe.
+ add_custom_command(OUTPUT ${_nsis_binary_dir}/qt-dll-manifest.nsh
+ COMMAND set "PATH=%PATH%;${QT_BIN_PATH}"
+ COMMAND ${POWERSHELL_COMMAND} "${_nsis_source_dir}/windeployqt-to-nsis.ps1"
+ -Executable $<TARGET_FILE:wireshark>
+ -FilePath ${_nsis_binary_dir}/qt-dll-manifest.nsh
+ )
+ # Dump the installer into ${CMAKE_CURRENT_SOURCE_DIR}/packaging/nsis to match
+ # the NMake environment for now.
+ add_custom_command(OUTPUT ${_nsis_package}
+ DEPENDS ${NSIS_FILES} ${DATAFILE_DIR}/uninstall.exe
+ COMMAND ${MAKENSIS_EXECUTABLE} ${NSIS_DEFINES}
+ wireshark.nsi
+ WORKING_DIRECTORY ${_nsis_source_dir}
+ )
+endmacro( ADD_NSIS_PACKAGE_TARGET )
+
+set(CLEAN_FILES
+ all-manifest.nsh
+ config.nsh
+ gtk-dll-manifest.nsh
+ #NEWS.txt
+ qt-dll-manifest.nsh
+ #user-guide.chm
+ ${DATAFILE_DIR}/uninstall.exe
+ wireshark-$(WIRESHARK_TARGET_PLATFORM)-$(VERSION).exe
+)
diff --git a/packaging/nsis/Makefile.nmake b/packaging/nsis/Makefile.nmake
index 38478d2ee0..9e3880e511 100644
--- a/packaging/nsis/Makefile.nmake
+++ b/packaging/nsis/Makefile.nmake
@@ -9,8 +9,9 @@ include ../../config.nmake
# Contains a list of custom plugins(default empty)
include Custom.nmake
-
-STAGING_DIR=..\..\$(INSTALL_DIR)
+TOP_SRC_DIR=$(MAKEDIR)\..\..
+# Must be absolue for uninstall.nsi
+STAGING_DIR=$(MAKEDIR)\..\..\$(INSTALL_DIR)
EXE=../../tshark.exe ../../editcap.exe \
!IFDEF GTK_DIR
@@ -89,21 +90,19 @@ common.nsh: config.nsh
config.nsh: config.nsh.in ..\..\config.nmake
sed \
-e s/@PROGRAM_NAME@/$(PROGRAM_NAME)/ \
- -e 's/@MAKEDIR@/$(MAKEDIR:\=\\\\)/' \
+ -e 's/@TOP_SRC_DIR@/$(TOP_SRC_DIR:\=\\\\)/' \
-e 's/@STAGING_DIR@/$(STAGING_DIR:\=\\\\)/' \
+ -e s/@USER_GUIDE_DIR@/./ \
-e s/@WIRESHARK_TARGET_PLATFORM@/$(WIRESHARK_TARGET_PLATFORM)/ \
-e s/@TARGET_MACHINE@/$(TARGET_MACHINE)/ \
- -e s/@MSVC_VARIANT@/$(MSVC_VARIANT)/ \
-e s/@MSC_VER_REQUIRED@/$(MSC_VER_REQUIRED)/ \
-e 's/@WIRESHARK_LIB_DIR@/$(WIRESHARK_LIB_DIR:\=\\\\)/' \
- -e s/@WINPCAP_VERSION@/$(WINPCAP_VERSION)/ \
+ -e s/@WINPCAP_PACKAGE_VERSION@/$(WINPCAP_VERSION)/ \
-e s/@PCAP_DISPLAY_VERSION@/$(WINPCAP_VERSION:_=.)/ \
-e s/@INTL_DLL@/$(INTL_DLL)/ \
-e s/@VERSION@/$(VERSION)/ \
-e s/@VERSION_MAJOR@/$(VERSION_MAJOR)/ \
-e s/@VERSION_MINOR@/$(VERSION_MINOR)/ \
- -e s/@VERSION_MICRO@/$(VERSION_MICRO)/ \
- -e s/@VERSION_BUILD@/$(VERSION_BUILD)/ \
-e s/@PRODUCT_VERSION@/$(PRODUCT_VERSION)/ \
-e s/@WTAP_VERSION@/$(WTAP_VERSION)/ \
-e 's/@MSVCR_DLL@/$(MSVCR_DLL:\=\\\\)/' \
@@ -114,9 +113,6 @@ config.nsh: config.nsh.in ..\..\config.nmake
!IFDEF GTK_DIR
-e 's/@GTK_DIR@/$(GTK_DIR:\=\\\\)/' \
!ENDIF
-!IFDEF HHC_DIR
- -e 's/@HHC_DIR@/$(HHC_DIR:\=\\\\)/' \
-!ENDIF
!IF EXIST("..\..\wireshark-qt-release\wireshark.exe")
-e s/@QT_DIR@/..\\..\\wireshark-qt-release/ \
!ENDIF
@@ -133,6 +129,8 @@ all-manifest.nsh: Makefile.nmake ..\..\config.nmake
@echo File "$(STAGING_DIR)\libgobject-2.0-0.dll" >> $@
@echo File "$(STAGING_DIR)\libgmodule-2.0-0.dll" >> $@
@echo File "$(STAGING_DIR)\$(INTL_DLL)" >> $@
+ @echo File "$(STAGING_DIR)\gspawn-$(WIRESHARK_TARGET_PLATFORM)-helper.exe" >> $@
+ @echo File "$(STAGING_DIR)\gspawn-$(WIRESHARK_TARGET_PLATFORM)-helper-console.exe" >> $@
!IF "$(C_ARES_DIR)" != ""
@echo # C-Ares >> $@
@echo File "$(STAGING_DIR)\libcares-2.dll" >> $@
@@ -182,14 +180,12 @@ all-manifest.nsh: Makefile.nmake ..\..\config.nmake
gtk-dll-manifest.nsh: Makefile.nmake ..\..\config.nmake
@echo # Files required for the GTK+ section. Generated from Makefile.nmake > $@
@echo # Mandatory >> $@
- echo File "$(STAGING_DIR)\$(GDK_DLL)" >> $@
- echo File "$(STAGING_DIR)\libgdk_pixbuf-2.0-0.dll" >> $@
- echo File "$(STAGING_DIR)\gspawn-$(WIRESHARK_TARGET_PLATFORM)-helper.exe" >> $@
- echo File "$(STAGING_DIR)\gspawn-$(WIRESHARK_TARGET_PLATFORM)-helper-console.exe" >> $@
- echo File "$(STAGING_DIR)\$(GTK_DLL)" >> $@
- echo File "$(STAGING_DIR)\libatk-1.0-0.dll" >> $@
- echo File "$(STAGING_DIR)\libpango-1.0-0.dll" >> $@
- echo File "$(STAGING_DIR)\libpangowin32-1.0-0.dll" >> $@
+ @echo File "$(STAGING_DIR)\$(GDK_DLL)" >> $@
+ @echo File "$(STAGING_DIR)\libgdk_pixbuf-2.0-0.dll" >> $@
+ @echo File "$(STAGING_DIR)\$(GTK_DLL)" >> $@
+ @echo File "$(STAGING_DIR)\libatk-1.0-0.dll" >> $@
+ @echo File "$(STAGING_DIR)\libpango-1.0-0.dll" >> $@
+ @echo File "$(STAGING_DIR)\libpangowin32-1.0-0.dll" >> $@
@echo # Optional >> $@
!IFDEF NEED_CAIRO_DLL
@echo File "$(STAGING_DIR)\libcairo-2.dll" >> $@
diff --git a/packaging/nsis/common.nsh b/packaging/nsis/common.nsh
index 81a61f8eb3..d87d2009fd 100755
--- a/packaging/nsis/common.nsh
+++ b/packaging/nsis/common.nsh
@@ -3,6 +3,10 @@
; Name and version information
; ============================================================================
+!ifdef NSIS_INCLUDE_DIR
+!addincludedir ${NSIS_INCLUDE_DIR}
+!endif
+
!include "config.nsh"
!if ${WIRESHARK_TARGET_PLATFORM} == "win32"
diff --git a/packaging/nsis/config.nsh.in b/packaging/nsis/config.nsh.in
index d51c19c4ce..0dcc393165 100644
--- a/packaging/nsis/config.nsh.in
+++ b/packaging/nsis/config.nsh.in
@@ -1,26 +1,25 @@
-; ============================================================================
-; NSIS configuration definitions. Generated from config.nsh.in.
-; ============================================================================
+# ============================================================================
+# NSIS configuration definitions. Generated from config.nsh.in.
+# ============================================================================
-; XXX We might want to switch all of the "!define"s below to "#cmakedefine"
-; so that we can more easily integrate with CMake.
+# Do not prefix comments with ";". They will be removed by CMake.
!define PROGRAM_NAME "@PROGRAM_NAME@"
-!define MAKEDIR "@MAKEDIR@"
+!define TOP_SRC_DIR "@TOP_SRC_DIR@"
!define STAGING_DIR "@STAGING_DIR@"
!define WIRESHARK_TARGET_PLATFORM @WIRESHARK_TARGET_PLATFORM@
!define TARGET_MACHINE @TARGET_MACHINE@
-!define MSVC_VARIANT @MSVC_VARIANT@
!define MSC_VER_REQUIRED @MSC_VER_REQUIRED@
!define WIRESHARK_LIB_DIR "@WIRESHARK_LIB_DIR@"
-!define WINPCAP_VERSION @WINPCAP_VERSION@
+!define WINPCAP_PACKAGE_VERSION @WINPCAP_PACKAGE_VERSION@
!define PCAP_DISPLAY_VERSION @PCAP_DISPLAY_VERSION@
-!define INTL_DLL @INTL_DLL@
!define VERSION @VERSION@
!define VERSION_MAJOR @VERSION_MAJOR@
!define VERSION_MINOR @VERSION_MINOR@
-!define VERSION_MICRO @VERSION_MICRO@
-!define VERSION_BUILD @VERSION_BUILD@
+# CMake treats 0 as "false" and will undef zero values
+!ifndef VERSION_MINOR
+!define VERSION_MINOR 0
+!endif
!define PRODUCT_VERSION @PRODUCT_VERSION@
!define WTAP_VERSION @WTAP_VERSION@
@@ -29,74 +28,10 @@
!define ENABLE_LIBWIRESHARK @ENABLE_LIBWIRESHARK@
-; Qt
+!define USER_GUIDE_DIR "@USER_GUIDE_DIR@"
+
+# Qt
!define QT_DIR "@QT_DIR@"
-; GTK+
+# GTK+
!define GTK_DIR "@GTK_DIR@"
-!define GTK_LIB_DIR "@GTK_LIB_DIR@"
-!define PANGO_LIB_DIR "@PANGO_LIB_DIR@"
-!define GDK_DLL @GDK_DLL@
-!define GTK_DLL @GTK_DLL@
-!define GTK_NAME @GTK_NAME@
-!define GTK_ETC_DIR @GTK_ETC_DIR@
-!define GTK_ENGINES_DIR @GTK_ENGINES_DIR@
-!define GTK_MODULES_DIR @GTK_MODULES_DIR@
-!define GTK_SCHEMAS_DIR @GTK_SCHEMAS_DIR@
-!define NEED_CAIRO_GOBJECT_DLL @NEED_CAIRO_GOBJECT_DLL@
-!define NEED_CAIRO_DLL @NEED_CAIRO_DLL@
-!define NEED_EXPAT_DLL @NEED_EXPAT_DLL@
-!define EXPAT_DLL @EXPAT_DLL@
-!define NEED_FFI_DLL @NEED_FFI_DLL@
-!define FFI_DLL @FFI_DLL@
-!define NEED_FONTCONFIG_DLL @NEED_FONTCONFIG_DLL@
-!define FONTCONFIG_DLL @FONTCONFIG_DLL@
-!define NEED_FREETYPE_DLL @NEED_FREETYPE_DLL@
-!define FREETYPE_DLL @FREETYPE_DLL@
-!define NEED_HARFBUZZ_DLL @NEED_HARFBUZZ_DLL@
-!define HARFBUZZ_DLL @HARFBUZZ_DLL@
-!define NEED_JASPER_DLL @NEED_JASPER_DLL@
-!define JASPER_DLL @JASPER_DLL@
-!define NEED_JPEG_DLL @NEED_JPEG_DLL@
-!define JPEG_DLL @JPEG_DLL@
-!define NEED_LZMA_DLL @NEED_LZMA_DLL@
-!define LZMA_DLL @LZMA_DLL@
-!define NEED_PIXMAN_DLL @NEED_PIXMAN_DLL@
-!define PIXMAN_DLL @PIXMAN_DLL@
-!define NEED_PNG_DLL @NEED_PNG_DLL@
-!define PNG_DLL @PNG_DLL@
-!define NEED_SEH_DLL @NEED_SEH_DLL@
-!define SEH_DLL @SEH_DLL@
-!define NEED_SJLJ_DLL @NEED_SJLJ_DLL@
-!define SJLJ_DLL @SJLJ_DLL@
-!define NEED_TIFF_DLL @NEED_TIFF_DLL@
-!define TIFF_DLL @TIFF_DLL@
-!define NEED_XML_DLL @NEED_XML_DLL@
-!define XML_DLL @XML_DLL@
-
-; Common
-!define C_ARES_DIR @C_ARES_DIR@
-!define ADNS_DIR @ADNS_DIR@
-
-!define KFW_DIR @KFW_DIR@
-!define KFW_PATH @KFW_PATH@
-!define COMERR_DLL @COMERR_DLL@
-!define KRB5_DLL @KRB5_DLL@
-!define K5SPRT_DLL @K5SPRT_DLL@
-
-!define GPGERROR_DLL @GPGERROR_DLL@
-!define GNUTLS_DIR @GNUTLS_DIR@
-
-!define GCC_DLL @GCC_DLL@
-
-!define ZLIB_DIR @ZLIB_DIR@
-
-!define LUA_DIR @LUA_DIR@
-
-!define SMI_DIR @SMI_DIR@
-
-!define GEOIP_DIR @GEOIP_DIR@
-
-!define WINSPARKLE_DIR @WINSPARKLE_DIR@
-
-!define HHC_DIR "@HHC_DIR@"
diff --git a/packaging/nsis/uninstall.nsi b/packaging/nsis/uninstall.nsi
index 751367570a..d5d1e242eb 100755
--- a/packaging/nsis/uninstall.nsi
+++ b/packaging/nsis/uninstall.nsi
@@ -54,7 +54,7 @@ ShowUninstDetails show
Function .onInit
; MUST be the absolute path to our staging directory.
- WriteUninstaller "${MAKEDIR}\${STAGING_DIR}\${UNINSTALLER_NAME}"
+ WriteUninstaller "${STAGING_DIR}\${UNINSTALLER_NAME}"
SetErrorLevel 0
Quit
FunctionEnd
diff --git a/packaging/nsis/wireshark.nsi b/packaging/nsis/wireshark.nsi
index 138a67f69a..c7bc3ed501 100644
--- a/packaging/nsis/wireshark.nsi
+++ b/packaging/nsis/wireshark.nsi
@@ -20,7 +20,7 @@ SetCompressorDictSize 64 ; MB
; The file to write
OutFile "${PROGRAM_NAME}-${WIRESHARK_TARGET_PLATFORM}-${VERSION}.exe"
; Installer icon
-Icon "..\..\image\wiresharkinst.ico"
+Icon "${TOP_SRC_DIR}\image\wiresharkinst.ico"
; ============================================================================
; Modern UI
@@ -34,7 +34,7 @@ Icon "..\..\image\wiresharkinst.ico"
!include "MUI.nsh"
;!addplugindir ".\Plugins"
-!define MUI_ICON "..\..\image\wiresharkinst.ico"
+!define MUI_ICON "${TOP_SRC_DIR}\image\wiresharkinst.ico"
BrandingText "Wireshark Installer (tm)"
!define MUI_COMPONENTSPAGE_SMALLDESC
@@ -60,7 +60,7 @@ BrandingText "Wireshark Installer (tm)"
; ============================================================================
!insertmacro MUI_PAGE_WELCOME
-!insertmacro MUI_PAGE_LICENSE "..\..\COPYING"
+!insertmacro MUI_PAGE_LICENSE "${STAGING_DIR}\COPYING.txt"
!insertmacro MUI_PAGE_COMPONENTS
Page custom DisplayAdditionalTasksPage
!insertmacro MUI_PAGE_DIRECTORY
@@ -127,7 +127,7 @@ Page custom DisplayWinPcapPage
; License page configuration
; ============================================================================
LicenseText "Wireshark is distributed under the GNU General Public License."
-LicenseData "..\..\COPYING"
+LicenseData "${STAGING_DIR}\COPYING.txt"
; ============================================================================
; Component page configuration
@@ -332,16 +332,16 @@ File "${STAGING_DIR}\COPYING.txt"
File "${STAGING_DIR}\NEWS.txt"
File "${STAGING_DIR}\README.txt"
File "${STAGING_DIR}\README.windows.txt"
-File "..\..\doc\AUTHORS-SHORT"
-File "..\..\manuf"
-File "..\..\services"
-File "..\..\pdml2html.xsl"
-File "..\..\doc\ws.css"
-File "..\..\doc\wireshark.html"
-File "..\..\doc\wireshark-filter.html"
+File "${STAGING_DIR}\AUTHORS-SHORT"
+File "${STAGING_DIR}\manuf"
+File "${STAGING_DIR}\services"
+File "${STAGING_DIR}\pdml2html.xsl"
+File "${STAGING_DIR}\ws.css"
+File "${STAGING_DIR}\wireshark.html"
+File "${STAGING_DIR}\wireshark-filter.html"
File "${STAGING_DIR}\dumpcap.exe"
-File "..\..\doc\dumpcap.html"
-File "..\..\ipmap.html"
+File "${STAGING_DIR}\dumpcap.html"
+File "${STAGING_DIR}\ipmap.html"
; C-runtime redistributable
!ifdef VCREDIST_EXE
@@ -379,26 +379,22 @@ Delete "$INSTDIR\vcredist_${TARGET_MACHINE}.exe"
; msvcr*.dll (MSVC V7 or V7.1) - simply copy the dll file
!echo "IF YOU GET AN ERROR HERE, check the MSVC_VARIANT setting in config.nmake: MSVC2005 vs. MSVC2005EE."
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
; global config files - don't overwrite if already existing
;IfFileExists cfilters dont_overwrite_cfilters
-File "..\..\cfilters"
+File "${STAGING_DIR}\cfilters"
;dont_overwrite_cfilters:
;IfFileExists colorfilters dont_overwrite_colorfilters
-File "..\..\colorfilters"
+File "${STAGING_DIR}\colorfilters"
;dont_overwrite_colorfilters:
;IfFileExists dfilters dont_overwrite_dfilters
-File "..\..\dfilters"
+File "${STAGING_DIR}\dfilters"
;dont_overwrite_dfilters:
;IfFileExists smi_modules dont_overwrite_smi_modules
-File "..\..\smi_modules"
+File "${STAGING_DIR}\smi_modules"
;dont_overwrite_smi_modules:
@@ -407,30 +403,30 @@ File "..\..\smi_modules"
; of the installation directory.
;
SetOutPath $INSTDIR\diameter
-File "..\..\diameter\AlcatelLucent.xml"
-File "..\..\diameter\chargecontrol.xml"
-File "..\..\diameter\ChinaTelecom.xml"
-File "..\..\diameter\Cisco.xml"
-File "..\..\diameter\Custom.xml"
-File "..\..\diameter\dictionary.dtd"
-File "..\..\diameter\dictionary.xml"
-File "..\..\diameter\eap.xml"
-File "..\..\diameter\Ericsson.xml"
-File "..\..\diameter\etsie2e4.xml"
-File "..\..\diameter\SKT.xml"
-File "..\..\diameter\HP.xml"
-File "..\..\diameter\mobileipv4.xml"
-File "..\..\diameter\mobileipv6.xml"
-File "..\..\diameter\nasreq.xml"
-File "..\..\diameter\Nokia.xml"
-File "..\..\diameter\NokiaSolutionsAndNetworks.xml"
-File "..\..\diameter\sip.xml"
-File "..\..\diameter\Starent.xml"
-File "..\..\diameter\sunping.xml"
-File "..\..\diameter\TGPP.xml"
-File "..\..\diameter\TGPP2.xml"
-File "..\..\diameter\VerizonWireless.xml"
-File "..\..\diameter\Vodafone.xml"
+File "${STAGING_DIR}\diameter\AlcatelLucent.xml"
+File "${STAGING_DIR}\diameter\chargecontrol.xml"
+File "${STAGING_DIR}\diameter\ChinaTelecom.xml"
+File "${STAGING_DIR}\diameter\Cisco.xml"
+File "${STAGING_DIR}\diameter\Custom.xml"
+File "${STAGING_DIR}\diameter\dictionary.dtd"
+File "${STAGING_DIR}\diameter\dictionary.xml"
+File "${STAGING_DIR}\diameter\eap.xml"
+File "${STAGING_DIR}\diameter\Ericsson.xml"
+File "${STAGING_DIR}\diameter\etsie2e4.xml"
+File "${STAGING_DIR}\diameter\SKT.xml"
+File "${STAGING_DIR}\diameter\HP.xml"
+File "${STAGING_DIR}\diameter\mobileipv4.xml"
+File "${STAGING_DIR}\diameter\mobileipv6.xml"
+File "${STAGING_DIR}\diameter\nasreq.xml"
+File "${STAGING_DIR}\diameter\Nokia.xml"
+File "${STAGING_DIR}\diameter\NokiaSolutionsAndNetworks.xml"
+File "${STAGING_DIR}\diameter\sip.xml"
+File "${STAGING_DIR}\diameter\Starent.xml"
+File "${STAGING_DIR}\diameter\sunping.xml"
+File "${STAGING_DIR}\diameter\TGPP.xml"
+File "${STAGING_DIR}\diameter\TGPP2.xml"
+File "${STAGING_DIR}\diameter\VerizonWireless.xml"
+File "${STAGING_DIR}\diameter\Vodafone.xml"
!include "custom_diameter_xmls.txt"
SetOutPath $INSTDIR
@@ -439,204 +435,204 @@ SetOutPath $INSTDIR
; of the installation directory.
;
SetOutPath $INSTDIR\radius
-File "..\..\radius\README.radius_dictionary"
-File "..\..\radius\custom.includes"
-File "..\..\radius\dictionary"
-File "..\..\radius\dictionary.3com"
-File "..\..\radius\dictionary.3gpp"
-File "..\..\radius\dictionary.3gpp2"
-File "..\..\radius\dictionary.acc"
-File "..\..\radius\dictionary.acme"
-File "..\..\radius\dictionary.airespace"
-File "..\..\radius\dictionary.actelis"
-File "..\..\radius\dictionary.aerohive"
-File "..\..\radius\dictionary.alcatel"
-File "..\..\radius\dictionary.alcatel.esam"
-File "..\..\radius\dictionary.alcatel.sr"
-File "..\..\radius\dictionary.alcatel-lucent.aaa"
-File "..\..\radius\dictionary.alteon"
-File "..\..\radius\dictionary.altiga"
-File "..\..\radius\dictionary.alvarion"
-File "..\..\radius\dictionary.alvarion.wimax.v2_2"
-File "..\..\radius\dictionary.apc"
-File "..\..\radius\dictionary.aptis"
-File "..\..\radius\dictionary.aruba"
-File "..\..\radius\dictionary.arbor"
-File "..\..\radius\dictionary.ascend"
-File "..\..\radius\dictionary.asn"
-File "..\..\radius\dictionary.audiocodes"
-File "..\..\radius\dictionary.avaya"
-File "..\..\radius\dictionary.azaire"
-File "..\..\radius\dictionary.bay"
-File "..\..\radius\dictionary.bluecoat"
-File "..\..\radius\dictionary.bintec"
-File "..\..\radius\dictionary.broadsoft"
-File "..\..\radius\dictionary.brocade"
-File "..\..\radius\dictionary.bskyb"
-File "..\..\radius\dictionary.bristol"
-File "..\..\radius\dictionary.bt"
-File "..\..\radius\dictionary.camiant"
-File "..\..\radius\dictionary.cablelabs"
-File "..\..\radius\dictionary.cabletron"
-File "..\..\radius\dictionary.chillispot"
-File "..\..\radius\dictionary.cisco"
-File "..\..\radius\dictionary.cisco.asa"
-File "..\..\radius\dictionary.cisco.bbsm"
-File "..\..\radius\dictionary.cisco.vpn3000"
-File "..\..\radius\dictionary.cisco.vpn5000"
-File "..\..\radius\dictionary.citrix"
-File "..\..\radius\dictionary.clavister"
-File "..\..\radius\dictionary.colubris"
-File "..\..\radius\dictionary.columbia_university"
-File "..\..\radius\dictionary.compatible"
-File "..\..\radius\dictionary.compat"
-File "..\..\radius\dictionary.cosine"
-File "..\..\radius\dictionary.dante"
-File "..\..\radius\dictionary.dhcp"
-File "..\..\radius\dictionary.dlink"
-File "..\..\radius\dictionary.digium"
-File "..\..\radius\dictionary.dragonwave"
-File "..\..\radius\dictionary.efficientip"
-File "..\..\radius\dictionary.eltex"
-File "..\..\radius\dictionary.epygi"
-File "..\..\radius\dictionary.equallogic"
-File "..\..\radius\dictionary.ericsson"
-File "..\..\radius\dictionary.ericsson.ab"
-File "..\..\radius\dictionary.ericsson.packet.core.networks"
-File "..\..\radius\dictionary.erx"
-File "..\..\radius\dictionary.extreme"
-File "..\..\radius\dictionary.f5"
-File "..\..\radius\dictionary.fdxtended"
-File "..\..\radius\dictionary.fortinet"
-File "..\..\radius\dictionary.foundry"
-File "..\..\radius\dictionary.freedhcp"
-File "..\..\radius\dictionary.freeradius"
-File "..\..\radius\dictionary.freeradius.internal"
-File "..\..\radius\dictionary.freeswitch"
-File "..\..\radius\dictionary.gandalf"
-File "..\..\radius\dictionary.garderos"
-File "..\..\radius\dictionary.gemtek"
-File "..\..\radius\dictionary.h3c"
-File "..\..\radius\dictionary.hp"
-File "..\..\radius\dictionary.huawei"
-File "..\..\radius\dictionary.iana"
-File "..\..\radius\dictionary.iea"
-File "..\..\radius\dictionary.infoblox"
-File "..\..\radius\dictionary.infonet"
-File "..\..\radius\dictionary.ipunplugged"
-File "..\..\radius\dictionary.issanni"
-File "..\..\radius\dictionary.itk"
-File "..\..\radius\dictionary.jradius"
-File "..\..\radius\dictionary.juniper"
-File "..\..\radius\dictionary.kineto"
-File "..\..\radius\dictionary.karlnet"
-File "..\..\radius\dictionary.lancom"
-File "..\..\radius\dictionary.livingston"
-File "..\..\radius\dictionary.localweb"
-File "..\..\radius\dictionary.lucent"
-File "..\..\radius\dictionary.manzara"
-File "..\..\radius\dictionary.meinberg"
-File "..\..\radius\dictionary.merit"
-File "..\..\radius\dictionary.meru"
-File "..\..\radius\dictionary.microsoft"
-File "..\..\radius\dictionary.mikrotik"
-File "..\..\radius\dictionary.motorola"
-File "..\..\radius\dictionary.motorola.wimax"
-File "..\..\radius\dictionary.navini"
-File "..\..\radius\dictionary.netscreen"
-File "..\..\radius\dictionary.networkphysics"
-File "..\..\radius\dictionary.nexans"
-File "..\..\radius\dictionary.nokia"
-File "..\..\radius\dictionary.nokia.conflict"
-File "..\..\radius\dictionary.nomadix"
-File "..\..\radius\dictionary.nortel"
-File "..\..\radius\dictionary.ntua"
-File "..\..\radius\dictionary.openser"
-File "..\..\radius\dictionary.packeteer"
-File "..\..\radius\dictionary.paloalto"
-File "..\..\radius\dictionary.patton"
-File "..\..\radius\dictionary.perle"
-File "..\..\radius\dictionary.propel"
-File "..\..\radius\dictionary.prosoft"
-File "..\..\radius\dictionary.proxim"
-File "..\..\radius\dictionary.purewave"
-File "..\..\radius\dictionary.quiconnect"
-File "..\..\radius\dictionary.quintum"
-File "..\..\radius\dictionary.redcreek"
-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.rfc4603"
-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.rfc5447"
-File "..\..\radius\dictionary.rfc5580"
-File "..\..\radius\dictionary.rfc5607"
-File "..\..\radius\dictionary.rfc5904"
-File "..\..\radius\dictionary.rfc6519"
-File "..\..\radius\dictionary.rfc6572"
-File "..\..\radius\dictionary.rfc6677"
-File "..\..\radius\dictionary.rfc6911"
-File "..\..\radius\dictionary.rfc6929"
-File "..\..\radius\dictionary.rfc6930"
-File "..\..\radius\dictionary.rfc7055"
-File "..\..\radius\dictionary.rfc7155"
-File "..\..\radius\dictionary.rfc7268"
-File "..\..\radius\dictionary.riverbed"
-File "..\..\radius\dictionary.riverstone"
-File "..\..\radius\dictionary.roaringpenguin"
-File "..\..\radius\dictionary.ruckus"
-File "..\..\radius\dictionary.ruggedcom"
-File "..\..\radius\dictionary.sg"
-File "..\..\radius\dictionary.shasta"
-File "..\..\radius\dictionary.shiva"
-File "..\..\radius\dictionary.siemens"
-File "..\..\radius\dictionary.slipstream"
-File "..\..\radius\dictionary.sofaware"
-File "..\..\radius\dictionary.sonicwall"
-File "..\..\radius\dictionary.springtide"
-File "..\..\radius\dictionary.starent"
-File "..\..\radius\dictionary.starent.vsa1"
-File "..\..\radius\dictionary.surfnet"
-File "..\..\radius\dictionary.symbol"
-File "..\..\radius\dictionary.t_systems_nova"
-File "..\..\radius\dictionary.telebit"
-File "..\..\radius\dictionary.telkom"
-File "..\..\radius\dictionary.terena"
-File "..\..\radius\dictionary.trapeze"
-File "..\..\radius\dictionary.travelping"
-File "..\..\radius\dictionary.tropos"
-File "..\..\radius\dictionary.ukerna"
-File "..\..\radius\dictionary.unix"
-File "..\..\radius\dictionary.usr"
-File "..\..\radius\dictionary.utstarcom"
-File "..\..\radius\dictionary.valemount"
-File "..\..\radius\dictionary.versanet"
-File "..\..\radius\dictionary.vqp"
-File "..\..\radius\dictionary.walabi"
-File "..\..\radius\dictionary.waverider"
-File "..\..\radius\dictionary.wichorus"
-File "..\..\radius\dictionary.wimax"
-File "..\..\radius\dictionary.wimax.alvarion"
-File "..\..\radius\dictionary.wimax.wichorus"
-File "..\..\radius\dictionary.wispr"
-File "..\..\radius\dictionary.xedia"
-File "..\..\radius\dictionary.xylan"
-File "..\..\radius\dictionary.yubico"
-File "..\..\radius\dictionary.zeus"
-File "..\..\radius\dictionary.zte"
-File "..\..\radius\dictionary.zyxel"
+File "${STAGING_DIR}\radius\README.radius_dictionary"
+File "${STAGING_DIR}\radius\custom.includes"
+File "${STAGING_DIR}\radius\dictionary"
+File "${STAGING_DIR}\radius\dictionary.3com"
+File "${STAGING_DIR}\radius\dictionary.3gpp"
+File "${STAGING_DIR}\radius\dictionary.3gpp2"
+File "${STAGING_DIR}\radius\dictionary.acc"
+File "${STAGING_DIR}\radius\dictionary.acme"
+File "${STAGING_DIR}\radius\dictionary.airespace"
+File "${STAGING_DIR}\radius\dictionary.actelis"
+File "${STAGING_DIR}\radius\dictionary.aerohive"
+File "${STAGING_DIR}\radius\dictionary.alcatel"
+File "${STAGING_DIR}\radius\dictionary.alcatel.esam"
+File "${STAGING_DIR}\radius\dictionary.alcatel.sr"
+File "${STAGING_DIR}\radius\dictionary.alcatel-lucent.aaa"
+File "${STAGING_DIR}\radius\dictionary.alteon"
+File "${STAGING_DIR}\radius\dictionary.altiga"
+File "${STAGING_DIR}\radius\dictionary.alvarion"
+File "${STAGING_DIR}\radius\dictionary.alvarion.wimax.v2_2"
+File "${STAGING_DIR}\radius\dictionary.apc"
+File "${STAGING_DIR}\radius\dictionary.aptis"
+File "${STAGING_DIR}\radius\dictionary.aruba"
+File "${STAGING_DIR}\radius\dictionary.arbor"
+File "${STAGING_DIR}\radius\dictionary.ascend"
+File "${STAGING_DIR}\radius\dictionary.asn"
+File "${STAGING_DIR}\radius\dictionary.audiocodes"
+File "${STAGING_DIR}\radius\dictionary.avaya"
+File "${STAGING_DIR}\radius\dictionary.azaire"
+File "${STAGING_DIR}\radius\dictionary.bay"
+File "${STAGING_DIR}\radius\dictionary.bluecoat"
+File "${STAGING_DIR}\radius\dictionary.bintec"
+File "${STAGING_DIR}\radius\dictionary.broadsoft"
+File "${STAGING_DIR}\radius\dictionary.brocade"
+File "${STAGING_DIR}\radius\dictionary.bskyb"
+File "${STAGING_DIR}\radius\dictionary.bristol"
+File "${STAGING_DIR}\radius\dictionary.bt"
+File "${STAGING_DIR}\radius\dictionary.camiant"
+File "${STAGING_DIR}\radius\dictionary.cablelabs"
+File "${STAGING_DIR}\radius\dictionary.cabletron"
+File "${STAGING_DIR}\radius\dictionary.chillispot"
+File "${STAGING_DIR}\radius\dictionary.cisco"
+File "${STAGING_DIR}\radius\dictionary.cisco.asa"
+File "${STAGING_DIR}\radius\dictionary.cisco.bbsm"
+File "${STAGING_DIR}\radius\dictionary.cisco.vpn3000"
+File "${STAGING_DIR}\radius\dictionary.cisco.vpn5000"
+File "${STAGING_DIR}\radius\dictionary.citrix"
+File "${STAGING_DIR}\radius\dictionary.clavister"
+File "${STAGING_DIR}\radius\dictionary.colubris"
+File "${STAGING_DIR}\radius\dictionary.columbia_university"
+File "${STAGING_DIR}\radius\dictionary.compatible"
+File "${STAGING_DIR}\radius\dictionary.compat"
+File "${STAGING_DIR}\radius\dictionary.cosine"
+File "${STAGING_DIR}\radius\dictionary.dante"
+File "${STAGING_DIR}\radius\dictionary.dhcp"
+File "${STAGING_DIR}\radius\dictionary.dlink"
+File "${STAGING_DIR}\radius\dictionary.digium"
+File "${STAGING_DIR}\radius\dictionary.dragonwave"
+File "${STAGING_DIR}\radius\dictionary.efficientip"
+File "${STAGING_DIR}\radius\dictionary.eltex"
+File "${STAGING_DIR}\radius\dictionary.epygi"
+File "${STAGING_DIR}\radius\dictionary.equallogic"
+File "${STAGING_DIR}\radius\dictionary.ericsson"
+File "${STAGING_DIR}\radius\dictionary.ericsson.ab"
+File "${STAGING_DIR}\radius\dictionary.ericsson.packet.core.networks"
+File "${STAGING_DIR}\radius\dictionary.erx"
+File "${STAGING_DIR}\radius\dictionary.extreme"
+File "${STAGING_DIR}\radius\dictionary.f5"
+File "${STAGING_DIR}\radius\dictionary.fdxtended"
+File "${STAGING_DIR}\radius\dictionary.fortinet"
+File "${STAGING_DIR}\radius\dictionary.foundry"
+File "${STAGING_DIR}\radius\dictionary.freedhcp"
+File "${STAGING_DIR}\radius\dictionary.freeradius"
+File "${STAGING_DIR}\radius\dictionary.freeradius.internal"
+File "${STAGING_DIR}\radius\dictionary.freeswitch"
+File "${STAGING_DIR}\radius\dictionary.gandalf"
+File "${STAGING_DIR}\radius\dictionary.garderos"
+File "${STAGING_DIR}\radius\dictionary.gemtek"
+File "${STAGING_DIR}\radius\dictionary.h3c"
+File "${STAGING_DIR}\radius\dictionary.hp"
+File "${STAGING_DIR}\radius\dictionary.huawei"
+File "${STAGING_DIR}\radius\dictionary.iana"
+File "${STAGING_DIR}\radius\dictionary.iea"
+File "${STAGING_DIR}\radius\dictionary.infoblox"
+File "${STAGING_DIR}\radius\dictionary.infonet"
+File "${STAGING_DIR}\radius\dictionary.ipunplugged"
+File "${STAGING_DIR}\radius\dictionary.issanni"
+File "${STAGING_DIR}\radius\dictionary.itk"
+File "${STAGING_DIR}\radius\dictionary.jradius"
+File "${STAGING_DIR}\radius\dictionary.juniper"
+File "${STAGING_DIR}\radius\dictionary.kineto"
+File "${STAGING_DIR}\radius\dictionary.karlnet"
+File "${STAGING_DIR}\radius\dictionary.lancom"
+File "${STAGING_DIR}\radius\dictionary.livingston"
+File "${STAGING_DIR}\radius\dictionary.localweb"
+File "${STAGING_DIR}\radius\dictionary.lucent"
+File "${STAGING_DIR}\radius\dictionary.manzara"
+File "${STAGING_DIR}\radius\dictionary.meinberg"
+File "${STAGING_DIR}\radius\dictionary.merit"
+File "${STAGING_DIR}\radius\dictionary.meru"
+File "${STAGING_DIR}\radius\dictionary.microsoft"
+File "${STAGING_DIR}\radius\dictionary.mikrotik"
+File "${STAGING_DIR}\radius\dictionary.motorola"
+File "${STAGING_DIR}\radius\dictionary.motorola.wimax"
+File "${STAGING_DIR}\radius\dictionary.navini"
+File "${STAGING_DIR}\radius\dictionary.netscreen"
+File "${STAGING_DIR}\radius\dictionary.networkphysics"
+File "${STAGING_DIR}\radius\dictionary.nexans"
+File "${STAGING_DIR}\radius\dictionary.nokia"
+File "${STAGING_DIR}\radius\dictionary.nokia.conflict"
+File "${STAGING_DIR}\radius\dictionary.nomadix"
+File "${STAGING_DIR}\radius\dictionary.nortel"
+File "${STAGING_DIR}\radius\dictionary.ntua"
+File "${STAGING_DIR}\radius\dictionary.openser"
+File "${STAGING_DIR}\radius\dictionary.packeteer"
+File "${STAGING_DIR}\radius\dictionary.paloalto"
+File "${STAGING_DIR}\radius\dictionary.patton"
+File "${STAGING_DIR}\radius\dictionary.perle"
+File "${STAGING_DIR}\radius\dictionary.propel"
+File "${STAGING_DIR}\radius\dictionary.prosoft"
+File "${STAGING_DIR}\radius\dictionary.proxim"
+File "${STAGING_DIR}\radius\dictionary.purewave"
+File "${STAGING_DIR}\radius\dictionary.quiconnect"
+File "${STAGING_DIR}\radius\dictionary.quintum"
+File "${STAGING_DIR}\radius\dictionary.redcreek"
+File "${STAGING_DIR}\radius\dictionary.rfc2865"
+File "${STAGING_DIR}\radius\dictionary.rfc2866"
+File "${STAGING_DIR}\radius\dictionary.rfc2867"
+File "${STAGING_DIR}\radius\dictionary.rfc2868"
+File "${STAGING_DIR}\radius\dictionary.rfc2869"
+File "${STAGING_DIR}\radius\dictionary.rfc3162"
+File "${STAGING_DIR}\radius\dictionary.rfc3576"
+File "${STAGING_DIR}\radius\dictionary.rfc3580"
+File "${STAGING_DIR}\radius\dictionary.rfc4072"
+File "${STAGING_DIR}\radius\dictionary.rfc4372"
+File "${STAGING_DIR}\radius\dictionary.rfc4603"
+File "${STAGING_DIR}\radius\dictionary.rfc4675"
+File "${STAGING_DIR}\radius\dictionary.rfc4679"
+File "${STAGING_DIR}\radius\dictionary.rfc4818"
+File "${STAGING_DIR}\radius\dictionary.rfc4849"
+File "${STAGING_DIR}\radius\dictionary.rfc5090"
+File "${STAGING_DIR}\radius\dictionary.rfc5176"
+File "${STAGING_DIR}\radius\dictionary.rfc5447"
+File "${STAGING_DIR}\radius\dictionary.rfc5580"
+File "${STAGING_DIR}\radius\dictionary.rfc5607"
+File "${STAGING_DIR}\radius\dictionary.rfc5904"
+File "${STAGING_DIR}\radius\dictionary.rfc6519"
+File "${STAGING_DIR}\radius\dictionary.rfc6572"
+File "${STAGING_DIR}\radius\dictionary.rfc6677"
+File "${STAGING_DIR}\radius\dictionary.rfc6911"
+File "${STAGING_DIR}\radius\dictionary.rfc6929"
+File "${STAGING_DIR}\radius\dictionary.rfc6930"
+File "${STAGING_DIR}\radius\dictionary.rfc7055"
+File "${STAGING_DIR}\radius\dictionary.rfc7155"
+File "${STAGING_DIR}\radius\dictionary.rfc7268"
+File "${STAGING_DIR}\radius\dictionary.riverbed"
+File "${STAGING_DIR}\radius\dictionary.riverstone"
+File "${STAGING_DIR}\radius\dictionary.roaringpenguin"
+File "${STAGING_DIR}\radius\dictionary.ruckus"
+File "${STAGING_DIR}\radius\dictionary.ruggedcom"
+File "${STAGING_DIR}\radius\dictionary.sg"
+File "${STAGING_DIR}\radius\dictionary.shasta"
+File "${STAGING_DIR}\radius\dictionary.shiva"
+File "${STAGING_DIR}\radius\dictionary.siemens"
+File "${STAGING_DIR}\radius\dictionary.slipstream"
+File "${STAGING_DIR}\radius\dictionary.sofaware"
+File "${STAGING_DIR}\radius\dictionary.sonicwall"
+File "${STAGING_DIR}\radius\dictionary.springtide"
+File "${STAGING_DIR}\radius\dictionary.starent"
+File "${STAGING_DIR}\radius\dictionary.starent.vsa1"
+File "${STAGING_DIR}\radius\dictionary.surfnet"
+File "${STAGING_DIR}\radius\dictionary.symbol"
+File "${STAGING_DIR}\radius\dictionary.t_systems_nova"
+File "${STAGING_DIR}\radius\dictionary.telebit"
+File "${STAGING_DIR}\radius\dictionary.telkom"
+File "${STAGING_DIR}\radius\dictionary.terena"
+File "${STAGING_DIR}\radius\dictionary.trapeze"
+File "${STAGING_DIR}\radius\dictionary.travelping"
+File "${STAGING_DIR}\radius\dictionary.tropos"
+File "${STAGING_DIR}\radius\dictionary.ukerna"
+File "${STAGING_DIR}\radius\dictionary.unix"
+File "${STAGING_DIR}\radius\dictionary.usr"
+File "${STAGING_DIR}\radius\dictionary.utstarcom"
+File "${STAGING_DIR}\radius\dictionary.valemount"
+File "${STAGING_DIR}\radius\dictionary.versanet"
+File "${STAGING_DIR}\radius\dictionary.vqp"
+File "${STAGING_DIR}\radius\dictionary.walabi"
+File "${STAGING_DIR}\radius\dictionary.waverider"
+File "${STAGING_DIR}\radius\dictionary.wichorus"
+File "${STAGING_DIR}\radius\dictionary.wimax"
+File "${STAGING_DIR}\radius\dictionary.wimax.alvarion"
+File "${STAGING_DIR}\radius\dictionary.wimax.wichorus"
+File "${STAGING_DIR}\radius\dictionary.wispr"
+File "${STAGING_DIR}\radius\dictionary.xedia"
+File "${STAGING_DIR}\radius\dictionary.xylan"
+File "${STAGING_DIR}\radius\dictionary.yubico"
+File "${STAGING_DIR}\radius\dictionary.zeus"
+File "${STAGING_DIR}\radius\dictionary.zte"
+File "${STAGING_DIR}\radius\dictionary.zyxel"
!include "custom_radius_dict.txt"
SetOutPath $INSTDIR
@@ -644,31 +640,31 @@ SetOutPath $INSTDIR
; install the dtds in the dtds subdirectory
;
SetOutPath $INSTDIR\dtds
-File "..\..\dtds\dc.dtd"
-File "..\..\dtds\itunes.dtd"
-File "..\..\dtds\mscml.dtd"
-File "..\..\dtds\pocsettings.dtd"
-File "..\..\dtds\presence.dtd"
-File "..\..\dtds\reginfo.dtd"
-File "..\..\dtds\rlmi.dtd"
-File "..\..\dtds\rss.dtd"
-File "..\..\dtds\smil.dtd"
-File "..\..\dtds\xcap-caps.dtd"
-File "..\..\dtds\xcap-error.dtd"
-File "..\..\dtds\watcherinfo.dtd"
+File "${STAGING_DIR}\dtds\dc.dtd"
+File "${STAGING_DIR}\dtds\itunes.dtd"
+File "${STAGING_DIR}\dtds\mscml.dtd"
+File "${STAGING_DIR}\dtds\pocsettings.dtd"
+File "${STAGING_DIR}\dtds\presence.dtd"
+File "${STAGING_DIR}\dtds\reginfo.dtd"
+File "${STAGING_DIR}\dtds\rlmi.dtd"
+File "${STAGING_DIR}\dtds\rss.dtd"
+File "${STAGING_DIR}\dtds\smil.dtd"
+File "${STAGING_DIR}\dtds\xcap-caps.dtd"
+File "${STAGING_DIR}\dtds\xcap-error.dtd"
+File "${STAGING_DIR}\dtds\watcherinfo.dtd"
SetOutPath $INSTDIR
; Install the TPNCP DAT file in the "tpncp" subdirectory
; of the installation directory.
SetOutPath $INSTDIR\tpncp
-File "..\..\tpncp\tpncp.dat"
+File "${STAGING_DIR}\tpncp\tpncp.dat"
;
; install the wimaxasncp TLV definitions in the wimaxasncp subdirectory
;
SetOutPath $INSTDIR\wimaxasncp
-File "..\..\wimaxasncp\dictionary.xml"
-File "..\..\wimaxasncp\dictionary.dtd"
+File "${STAGING_DIR}\wimaxasncp\dictionary.xml"
+File "${STAGING_DIR}\wimaxasncp\dictionary.dtd"
SetOutPath $INSTDIR
SetOutPath $INSTDIR\help
@@ -800,8 +796,8 @@ IfErrors lbl_winpcap_notinstalled ;if RegKey is unavailable, WinPcap is not inst
;DetailPrint "WinPcap uninstaller returned $0"
lbl_winpcap_notinstalled:
SetOutPath $INSTDIR
-File "${WIRESHARK_LIB_DIR}\WinPcap_${WINPCAP_VERSION}.exe"
-ExecWait '"$INSTDIR\WinPcap_${WINPCAP_VERSION}.exe"' $0
+File "${WIRESHARK_LIB_DIR}\WinPcap_${WINPCAP_PACKAGE_VERSION}.exe"
+ExecWait '"$INSTDIR\WinPcap_${WINPCAP_PACKAGE_VERSION}.exe"' $0
DetailPrint "WinPcap installer returned $0"
SecRequired_skip_Winpcap:
@@ -872,7 +868,7 @@ Section "TShark" SecTShark
;-------------------------------------------
SetOutPath $INSTDIR
File "${STAGING_DIR}\tshark.exe"
-File "..\..\doc\tshark.html"
+File "${STAGING_DIR}\tshark.html"
SectionEnd
@@ -892,31 +888,31 @@ SectionGroup "Plugins & Extensions" SecPluginsGroup
Section "Dissector Plugins" SecPlugins
;-------------------------------------------
-SetOutPath '$INSTDIR\plugins\${VERSION}'
-File "${STAGING_DIR}\plugins\${VERSION}\docsis.dll"
-File "${STAGING_DIR}\plugins\${VERSION}\ethercat.dll"
-File "${STAGING_DIR}\plugins\${VERSION}\gryphon.dll"
-File "${STAGING_DIR}\plugins\${VERSION}\irda.dll"
-File "${STAGING_DIR}\plugins\${VERSION}\m2m.dll"
-File "${STAGING_DIR}\plugins\${VERSION}\opcua.dll"
-File "${STAGING_DIR}\plugins\${VERSION}\profinet.dll"
-File "${STAGING_DIR}\plugins\${VERSION}\unistim.dll"
-File "${STAGING_DIR}\plugins\${VERSION}\wimax.dll"
-File "${STAGING_DIR}\plugins\${VERSION}\wimaxasncp.dll"
-File "${STAGING_DIR}\plugins\${VERSION}\wimaxmacphy.dll"
+SetOutPath '$INSTDIR\plugins'
+File "${STAGING_DIR}\plugins\docsis.dll"
+File "${STAGING_DIR}\plugins\ethercat.dll"
+File "${STAGING_DIR}\plugins\gryphon.dll"
+File "${STAGING_DIR}\plugins\irda.dll"
+File "${STAGING_DIR}\plugins\m2m.dll"
+File "${STAGING_DIR}\plugins\opcua.dll"
+File "${STAGING_DIR}\plugins\profinet.dll"
+File "${STAGING_DIR}\plugins\unistim.dll"
+File "${STAGING_DIR}\plugins\wimax.dll"
+File "${STAGING_DIR}\plugins\wimaxasncp.dll"
+File "${STAGING_DIR}\plugins\wimaxmacphy.dll"
!include "custom_plugins.txt"
SectionEnd
Section "Tree Statistics Plugin" SecStatsTree
;-------------------------------------------
-SetOutPath '$INSTDIR\plugins\${VERSION}'
-File "${STAGING_DIR}\plugins\${VERSION}\stats_tree.dll"
+SetOutPath '$INSTDIR\plugins'
+File "${STAGING_DIR}\plugins\stats_tree.dll"
SectionEnd
Section "Mate - Meta Analysis and Tracing Engine" SecMate
;-------------------------------------------
-SetOutPath '$INSTDIR\plugins\${VERSION}'
-File "${STAGING_DIR}\plugins\${VERSION}\mate.dll"
+SetOutPath '$INSTDIR\plugins'
+File "${STAGING_DIR}\plugins\mate.dll"
SectionEnd
Section "Configuration Profiles" SecProfiles
@@ -951,21 +947,21 @@ Section "Editcap" SecEditcap
;-------------------------------------------
SetOutPath $INSTDIR
File "${STAGING_DIR}\editcap.exe"
-File "..\..\doc\editcap.html"
+File "${STAGING_DIR}\editcap.html"
SectionEnd
Section "Text2Pcap" SecText2Pcap
;-------------------------------------------
SetOutPath $INSTDIR
File "${STAGING_DIR}\text2pcap.exe"
-File "..\..\doc\text2pcap.html"
+File "${STAGING_DIR}\text2pcap.html"
SectionEnd
Section "Mergecap" SecMergecap
;-------------------------------------------
SetOutPath $INSTDIR
File "${STAGING_DIR}\mergecap.exe"
-File "..\..\doc\mergecap.html"
+File "${STAGING_DIR}\mergecap.html"
SectionEnd
Section "Reordercap" SecReordercap
@@ -978,23 +974,23 @@ Section "Capinfos" SecCapinfos
;-------------------------------------------
SetOutPath $INSTDIR
File "${STAGING_DIR}\capinfos.exe"
-File "..\..\doc\capinfos.html"
+File "${STAGING_DIR}\capinfos.html"
SectionEnd
Section "Rawshark" SecRawshark
;-------------------------------------------
SetOutPath $INSTDIR
File "${STAGING_DIR}\rawshark.exe"
-File "..\..\doc\rawshark.html"
+File "${STAGING_DIR}\rawshark.html"
SectionEnd
SectionGroupEnd ; "Tools"
-!ifdef HHC_DIR
+!ifdef USER_GUIDE_DIR
Section "User's Guide" SecUsersGuide
;-------------------------------------------
SetOutPath $INSTDIR
-File "user-guide.chm"
+File "${USER_GUIDE_DIR}\user-guide.chm"
SectionEnd
!endif
@@ -1040,7 +1036,7 @@ SectionEnd
!insertmacro MUI_DESCRIPTION_TEXT ${SecCapinfos} "Pring information about capture files."
!insertmacro MUI_DESCRIPTION_TEXT ${SecRawshark} "Raw packet filter."
-!ifdef HHC_DIR
+!ifdef USER_GUIDE_DIR
!insertmacro MUI_DESCRIPTION_TEXT ${SecUsersGuide} "Install an offline copy of the User's Guide."
!endif
!insertmacro MUI_FUNCTION_DESCRIPTION_END