summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2014-09-02 12:18:20 -0700
committerGerald Combs <gerald@wireshark.org>2014-09-02 23:55:54 +0000
commit85eec7f603f63f1df357691bb558ad47fcc4a224 (patch)
tree37b82c3851217b5f36ad40a98fdb47a23e06cf7d
parent9555c24740540aff840605595919fa2f5e2a2c23 (diff)
downloadwireshark-85eec7f603f63f1df357691bb558ad47fcc4a224.tar.gz
Fix PortableApps packaging.
Our Windows portable packaging environment has a lot of cruft which is no longer relevant. We removed support for U3 packages and the method we use to generate PortableApps packages has been deprecated for a while. Create PortableApps packages using current file formats (AppInfo v3.0) and tools. Generate the PA launcher using the PortableApps.com Launcher generator. Copy files and directories from the top level instead of using a manifest derived from the NSIS installer. The manifest is a good idea, but we should create a central manifest and use that to generate the NSIS and PortableApps packages instead of trying to parse wireshark.nsi. The new package still needs a bit of work but it installs and runs in the current version of the PA Platform. Remove the define for MAKENSIS_UNICODE. It doesn't look like we were using it. Start tearing down makefiles and scripts that we no longer use. Ping-Bug: 4191 Change-Id: Ib7173eec887d0abf69bb176a1e3f943a5a63bee4 Reviewed-on: https://code.wireshark.org/review/3962 Reviewed-by: Gerald Combs <gerald@wireshark.org>
-rw-r--r--.gitignore1
-rw-r--r--config.nmake22
-rw-r--r--docbook/wsdg_src/WSDG_chapter_sources.asciidoc34
-rw-r--r--docbook/wsdg_src/WSDG_chapter_tools.asciidoc28
-rw-r--r--packaging/Makefile.nmake9
-rw-r--r--packaging/portableapps/win32/Makefile.nmake207
-rw-r--r--packaging/portableapps/win32/WiresharkPortable.ini3
-rwxr-xr-xpackaging/portableapps/win32/WiresharkPortable.nsi251
-rwxr-xr-xpackaging/portableapps/win32/appinfo.tmpl6
-rw-r--r--packaging/portableapps/win32/help.html8
-rwxr-xr-xpackaging/portableapps/win32/installer.ini0
-rwxr-xr-xpackaging/ws-manifest.pl7
-rw-r--r--ui/qt/Wireshark.pro2
13 files changed, 213 insertions, 365 deletions
diff --git a/.gitignore b/.gitignore
index 44adbf274c..361b3be135 100644
--- a/.gitignore
+++ b/.gitignore
@@ -211,7 +211,6 @@ packaging/macosx/osx-dmg.sh
packaging/macosx/Wireshark_package.pmdoc/index.xml
packaging/nsis/qt-dll-manifest.nsh
packaging/portableapps/win32/Files/
-packaging/portableapps/win32/WiresharkPortable.ini
packaging/portableapps/win32/appinfo.ini
packaging/portableapps/win32/distribution.nmake
packaging/rpm/SPECS/wireshark.spec
diff --git a/config.nmake b/config.nmake
index fddc6ff1a9..acd65615d8 100644
--- a/config.nmake
+++ b/config.nmake
@@ -355,7 +355,8 @@ QT5_BASE_DIR=$(WIRESHARK_LIB_DIR)\Qt5.1.1\5.1.1\msvc2010
# PCAP_DIR isn't defined.
#
PCAP_DIR=$(WIRESHARK_LIB_DIR)\WPdpack
-# This macro is used by the nsis installer script, by the u3/portable apps and by the setup target.
+# This macro is used by the NSIS installer script, PortableApps, and by the
+# setup target.
WINPCAP_VERSION=4_1_3
WPD_VERSION=4_1_2
@@ -603,7 +604,8 @@ QT5_BASE_DIR=$(WIRESHARK_LIB_DIR)\Qt5.1.1\5.1.1\msvc2010
# PCAP_DIR isn't defined.
#
PCAP_DIR=$(WIRESHARK_LIB_DIR)\WPdpack
-# This macro is used by the nsis installer script, by the u3/portable apps and by the setup target.
+# This macro is used by the NSIS installer script, PortableApps, and by the
+# setup target.
WINPCAP_VERSION=4_1_3
WPD_VERSION=4_1_2
@@ -866,14 +868,17 @@ MAKENSIS="$(PROGRAM_FILES_W6432)\NSIS\makensis.exe"
!ENDIF
#
-# Optional: To build the NSIS PortableApps installer.
+# Optional: Build the PortableApps package (WiresharkPortable).
#
-# If you have the NSIS Unicode package, set this to the NSIS Unicode executable.
+# If you have the PortableApps.com Platform installed set this to the main
+# PortableApps directory. In order to build packages you need to install
+# "PortableApps.com Launcher" and "NSIS Portable (Unicode)" *within* the
+# PortableApps environment.
#
-# If you don't have NSIS Unicode, comment this line out, so that
-# MAKENSIS_UNICODE isn't defined.
+# If you don't have the PortableApps.com Platform installed comment this line
+# out.
#
-MAKENSIS_UNICODE="$(PROGRAM_FILES)\NSIS\Unicode\makensis.exe"
+PORTABLEAPPS_DIR="C:\PortableApps"
#
# Optional: To build the developers API documentation with doxygen and dot.
@@ -901,7 +906,8 @@ MAKENSIS_UNICODE="$(PROGRAM_FILES)\NSIS\Unicode\makensis.exe"
HHC_DIR=$(PROGRAM_FILES)\HTML Help Workshop
#
-# Optional: To reduce the size of dlls and exes, which is especially useful for USB device distributions (U3, PortableApps)
+# Optional: To reduce the size of dlls and exes, which is especially useful for
+# USB device distributions (PortableApps)
#
# If you have the UPX package, set this to the upx.exe executable.
#
diff --git a/docbook/wsdg_src/WSDG_chapter_sources.asciidoc b/docbook/wsdg_src/WSDG_chapter_sources.asciidoc
index 17d525a8fb..cd6802d48b 100644
--- a/docbook/wsdg_src/WSDG_chapter_sources.asciidoc
+++ b/docbook/wsdg_src/WSDG_chapter_sources.asciidoc
@@ -1131,7 +1131,7 @@ You will probably have to modify the MAKENSIS setting in the
'config.nmake' file to specify where the NSIS binaries
are installed.
-In the wireshark directory, type:
+In the top-level source directory type:
----
> nmake -f makefile.nmake packaging
@@ -1139,8 +1139,8 @@ In the wireshark directory, type:
to build the installer.
-.This might take a while
[TIP]
+.This might take a while
====
Please be patient while the package is compressed.
It might take some time, even on fast machines.
@@ -1150,6 +1150,36 @@ If everything went well, you will now find something like:
'wireshark-setup-wireshark-version:[].exe' in
the 'packaging/nsis' directory.
+[[ChSrcPortableApps]]
+
+==== Win32: PortableApps .paf.exe package
+
+_PortableApps.com_ is an environment that lets users run popular applications
+from portable media such as flash drives and cloud drive services.
+
+You will probably have to modify the MAKENSIS setting in the
+'config.nmake' file to specify where the NSIS binaries
+are installed.
+
+In the top-level source directory type:
+
+----
+> nmake -f makefile.nmake packaging_papps
+----
+
+to build the installer.
+
+[TIP]
+.This might take a while
+====
+Please be patient while the package is compressed.
+It might take some time, even on fast machines.
+====
+
+If everything went well, you will now find something like:
+'WiresharkPortable-wireshark-major-minor-version:[].paf.exe' in
+the 'packaging/portableapps/win32' directory.
+
++++++++++++++++++++++++++++++++++++++
<!-- End of WSDG Chapter Sources -->
++++++++++++++++++++++++++++++++++++++
diff --git a/docbook/wsdg_src/WSDG_chapter_tools.asciidoc b/docbook/wsdg_src/WSDG_chapter_tools.asciidoc
index 6d533ed47e..e45276e2cb 100644
--- a/docbook/wsdg_src/WSDG_chapter_tools.asciidoc
+++ b/docbook/wsdg_src/WSDG_chapter_tools.asciidoc
@@ -1347,7 +1347,33 @@ To install it, simply download the latest released version (currently 2.46)
from http://nsis.sourceforge.net[] and start the downloaded installer. You will
need NSIS version 2. Version 3 is not yet supported.
-You will find more instructions in <<ChSrcNSIS>>on how to use the NSIS tool.
+You can find more instructions on using NSIS in <<ChSrcNSIS>>.
+
+=== Windows: PortableApps (optional)
+
+The PortableApps.com Installer is used to generate
+'WiresharkPortable-wireshark-major-minor-version:[].paf.exe' from all the files
+needed to be installed, including all required DLLs, plugins, and supporting
+files.
+
+To install it, do the following:
+
+* Download the latest PortableApps.com Platform release from
+ http://portableapps.com/[]. `config.nmake` uses the ``Local
+ All Users'' install location (`C:\`) by default.
+
+* Install the following applications in the PortableApps.com environment:
+
+** PortableApps.com Installer
+
+** PortableApps.com Launcher
+
+** NSIS Portable (Unicode)
+
+** PortableApps.com AppCompactor
+
+You can find more instructions on using the PortableApps.com Installer in
+<<ChSrcPortableApps>>.
++++++++++++++++++++++++++++++++++++++
<!-- End of WSDG Chapter Tools -->
diff --git a/packaging/Makefile.nmake b/packaging/Makefile.nmake
index 2506497323..ee72cdd164 100644
--- a/packaging/Makefile.nmake
+++ b/packaging/Makefile.nmake
@@ -1,14 +1,13 @@
-#
+# This is no longer used and can probably be removed.
include ../config.nmake
-wireshark.manifest: nsis/wireshark.nsi ws-manifest.pl
- $(PERL) ws-manifest.pl nsis/wireshark.nsi > $@
+#wireshark.manifest: nsis/wireshark.nsi ws-manifest.pl
+# $(PERL) ws-manifest.pl nsis/wireshark.nsi > $@
clean:
rm -rf wireshark.manifest
distclean: clean
-
+
maintainer-clean: distclean
-
diff --git a/packaging/portableapps/win32/Makefile.nmake b/packaging/portableapps/win32/Makefile.nmake
index 60dee968ba..b6cfe96a92 100644
--- a/packaging/portableapps/win32/Makefile.nmake
+++ b/packaging/portableapps/win32/Makefile.nmake
@@ -1,21 +1,29 @@
#
+TOPDIR = ..\..\..
+TOOLS_DIR = $(TOPDIR)\tools
+
include ../../../config.nmake
-FILES = Files
-APP = App
-DATA = Data
-OTHER = Other
-APPINFO = AppInfo
-WIRESHARK = Wireshark
-SOURCE = WiresharkPortableSource
+PROGRAM_PORTABLE = $(PROGRAM_NAME)Portable
+
+STAGING_DIR = $(PROGRAM_PORTABLE)
+APP = $(STAGING_DIR)\App
+APPINFO = $(APP)\AppInfo
+LAUNCHER_DIR = $(APPINFO)\Launcher
+WIRESHARK_DIR = $(APP)\$(PROGRAM_NAME)
+DATA = $(STAGING_DIR)\Data
+OTHER = $(STAGING_DIR)\Other
+SOURCE = $(OTHER)\Source
+
+APPINFO_INI = $(APPINFO)\appinfo.ini
+LAUNCHER_INI = $(LAUNCHER_DIR)\$(PROGRAM_PORTABLE).ini
WSMANIFEST = ../../wireshark.manifest
NSIS_PLUGINS = nsis-plugins
FINDPROCDLL = $(WIRESHARK_LIB_DIR)\$(NSIS_PLUGINS)\FindProcDLL.dll
-TOPDIR = ..\..\..
COPY = xcopy
MKDIR = mkdir
COPY_FLAGS = /d /y
@@ -23,6 +31,8 @@ COPY_FLAGS = /d /y
WIN32_SETUP_OPT = --download
!ENDIF
+NSIS_DIR = $(TOPDIR)\packaging\nsis
+
# XXX This should be defined in config.nmake.
!IF EXIST("..\..\wireshark-qt-release\wireshark.exe")
QT_DIR = "..\..\wireshark-qt-release"
@@ -34,107 +44,118 @@ NEED_QT5_DLL = USE
NEED_QT4_DLL = USE
!ENDIF
+#wireshark.nsi: qt-dll-manifest.nsh
+#qt-dll-manifest.nsh: windeployqt-to-nsis.ps1 Makefile.nmake
+#!IF EXIST("$(QT5_BASE_DIR)\bin\qmake.exe")
+# set PATH=%PATH%;$(QT5_BASE_DIR)\bin
+#!ENDIF
+# $(POWERSHELL) windeployqt-to-nsis.ps1 \
+# -Executable ..\..\wireshark-qt-release\wireshark.exe \
+# -FilePath $@
+
UPX_FLAGS = -q
PAPPS_VERSION=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_MICRO).0
-all: package
+all: package
-package: WiresharkPortable-$(VERSION).paf.exe
+package: $(PROGRAM_PORTABLE)-$(VERSION).paf.exe
dirs:
- if not exist $(FILES) $(MKDIR) $(FILES)
- if not exist $(FILES)\$(APP) $(MKDIR) $(FILES)\$(APP)
- if not exist $(FILES)\$(APP)\$(APPINFO) $(MKDIR) $(FILES)\$(APP)\$(APPINFO)
- if not exist $(FILES)\$(APP)\$(WIRESHARK) $(MKDIR) $(FILES)\$(APP)\$(WIRESHARK)
- if not exist $(FILES)\$(DATA) $(MKDIR) $(FILES)\$(DATA)
- if not exist $(FILES)\$(OTHER) $(MKDIR) $(FILES)\$(OTHER)
- if not exist $(FILES)\$(OTHER)\$(SOURCE) $(MKDIR) $(FILES)\$(OTHER)\$(SOURCE)
-
-nsis-bits:
- cd ../../nsis
- $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake user-guide.chm
- cd ../portableapps/win32
-
-$(WSMANIFEST):
- cd ../..
- $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake wireshark.manifest
- cd portableapps/win32
-
-distribution.nmake: makenmake.pl $(WSMANIFEST) ../../ws-manifest.pl
- $(PERL) makenmake.pl $(WSMANIFEST) > $@
-
-distribution: distribution.nmake
- nmake -f distribution.nmake
-
-pack: distribution
-!IFDEF UPX
- -$(UPX) $(UPX_FLAGS) $(FILES)\$(APP)\$(WIRESHARK)\[a-z]*.exe
- -$(UPX) $(UPX_FLAGS) $(FILES)\$(APP)\$(WIRESHARK)\*.dll
- -$(UPX) $(UPX_FLAGS) $(FILES)\$(APP)\$(WIRESHARK)\plugins\$(VERSION)\*.dll
- -$(UPX) $(UPX_FLAGS) $(FILES)\$(APP)\$(WIRESHARK)\lib\gtk-2.0\$(GTK_LIB_DIR)\loaders\*.dll
- -$(UPX) $(UPX_FLAGS) $(FILES)\$(APP)\$(WIRESHARK)\lib\gtk-2.0\$(GTK_LIB_DIR)\immodules\*.dll
- -$(UPX) $(UPX_FLAGS) $(FILES)\$(APP)\$(WIRESHARK)\$(GTK_WIMP_DLLDST_DIR)\*.dll
-!ENDIF
-
-
-appinfo.ini: appinfo.tmpl $(TOPDIR)\config.nmake
+ if not exist $(STAGING_DIR) $(MKDIR) $(STAGING_DIR)
+ if not exist $(APP) $(MKDIR) $(APP)
+ if not exist $(APPINFO) $(MKDIR) $(APPINFO)
+ if not exist $(LAUNCHER_DIR) $(MKDIR) $(LAUNCHER_DIR)
+ if not exist $(WIRESHARK_DIR) $(MKDIR) $(WIRESHARK_DIR)
+ if not exist $(DATA) $(MKDIR) $(DATA)
+ if not exist $(OTHER) $(MKDIR) $(OTHER)
+ if not exist $(SOURCE) $(MKDIR) $(SOURCE)
+
+#nsis-bits:
+# cd ../../nsis
+# $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake user-guide.chm
+# cd ../portableapps/win32
+
+#distribution.nmake: makenmake.pl $(WSMANIFEST) ../../ws-manifest.pl
+# $(PERL) makenmake.pl $(WSMANIFEST) > $@
+
+#distribution: distribution.nmake
+# nmake -f distribution.nmake
+
+#pack: distribution
+#!IFDEF UPX
+# -$(UPX) $(UPX_FLAGS) $(FILES)\$(APP)\$(WIRESHARK)\[a-z]*.exe
+# -$(UPX) $(UPX_FLAGS) $(FILES)\$(APP)\$(WIRESHARK)\*.dll
+# -$(UPX) $(UPX_FLAGS) $(FILES)\$(APP)\$(WIRESHARK)\plugins\$(VERSION)\*.dll
+# -$(UPX) $(UPX_FLAGS) $(FILES)\$(APP)\$(WIRESHARK)\lib\gtk-2.0\$(GTK_LIB_DIR)\loaders\*.dll
+# -$(UPX) $(UPX_FLAGS) $(FILES)\$(APP)\$(WIRESHARK)\lib\gtk-2.0\$(GTK_LIB_DIR)\immodules\*.dll
+# -$(UPX) $(UPX_FLAGS) $(FILES)\$(APP)\$(WIRESHARK)\$(GTK_WIMP_DLLDST_DIR)\*.dll
+#!ENDIF
+
+$(APPINFO_INI): dirs appinfo.tmpl $(TOPDIR)\config.nmake
sed -e 's/$$(PAPPS_VERSION)/$(PAPPS_VERSION)/g' \
-e 's/$$(VERSION_MAJOR)/$(VERSION_MAJOR)/g' \
-e 's/$$(VERSION_MINOR)/$(VERSION_MINOR)/g' \
- < appinfo.tmpl > appinfo.ini
-
-WiresharkPortable.ini: WiresharkPortable.tmpl $(TOPDIR)\config.nmake
- sed -e 's/$$(WINPCAP_VERSION)/$(WINPCAP_VERSION)/g' \
- -e 's/$$(TARGET_MACHINE)/$(TARGET_MACHINE)/g' \
- < WiresharkPortable.tmpl > WiresharkPortable.ini
-
-appinfo: appinfo.ini
- $(COPY) appinfo.ini $(FILES)\$(APP)\$(APPINFO) $(COPY_FLAGS)
- $(COPY) installer.ini $(FILES)\$(APP)\$(APPINFO) $(COPY_FLAGS)
- copy $(TOPDIR)\image\wireshark.ico $(FILES)\$(APP)\$(APPINFO)\appicon.ico /y
- copy $(TOPDIR)\image\wsicon16.png $(FILES)\$(APP)\$(APPINFO)\appicon_16.png /y
- copy $(TOPDIR)\image\wsicon32.png $(FILES)\$(APP)\$(APPINFO)\appicon_32.png /y
-
-source: WiresharkPortable.ini
- $(COPY) WiresharkPortable.ini $(FILES)\$(OTHER)\$(SOURCE) $(COPY_FLAGS)
- $(COPY) readme.txt $(FILES)\$(OTHER)\$(SOURCE) $(COPY_FLAGS)
- $(COPY) WiresharkPortable.nsi $(FILES)\$(OTHER)\$(SOURCE) $(COPY_FLAGS)
- $(COPY) Installer.nsi $(FILES)\$(OTHER)\$(SOURCE) $(COPY_FLAGS)
-
-findprocdll:
- if not exist $(FINDPROCDLL) \
- @$(SH) ../../../tools/win-setup.sh "$(WIN32_SETUP_OPT)" "$(WIRESHARK_LIB_DIR)" \
- $(NSIS_PLUGINS) FindProc.zip "$(DOWNLOAD_TAG)" "$(WIRESHARK_TARGET_PLATFORM)"
-
-
-WiresharkPortable-$(VERSION).paf.exe : dirs appinfo nsis-bits pack source Files/WiresharkPortable.exe Installer.nsi
- $(MAKENSIS) \
- /DVERSION=$(PAPPS_VERSION) \
- /DWSVERSION=$(VERSION) \
- /DQT_DIR=$(QT_DIR) \
- /DNEED_QT5_DLL=$(NEED_QT5_DLL) \
- /DNEED_QT4_DLL=$(NEED_QT4_DLL) \
- /DEXTRA_PLUGINS="$(WIRESHARK_LIB_DIR)\$(NSIS_PLUGINS)" \
- Installer.nsi
-
-Files/WiresharkPortable.exe : WiresharkPortable.nsi findprocdll
- $(MAKENSIS) \
- /DVERSION=$(PAPPS_VERSION) \
- /DWSVERSION=$(VERSION) \
- /DEXTRA_PLUGINS="$(WIRESHARK_LIB_DIR)\$(NSIS_PLUGINS)" \
- /DDEFAULTWINPCAP=WinPcap_$(WINPCAP_VERSION).exe \
- /DDEFAULTMSVCREDIST=vcredist_$(TARGET_MACHINE).exe \
- WiresharkPortable.nsi
+ < appinfo.tmpl > $@
+
+$(LAUNCHER_INI): dirs $(PROGRAM_PORTABLE).ini
+ copy $(PROGRAM_PORTABLE).ini $(LAUNCHER_INI) /y
+
+appinfo: $(APPINFO_INI) $(LAUNCHER_INI)
+ copy help.html $(STAGING_DIR)\help.html /y
+ copy $(TOPDIR)\image\wireshark.ico $(APPINFO)\appicon.ico /y
+ copy $(TOPDIR)\image\wsicon16.png $(APPINFO)\appicon_16.png /y
+ copy $(TOPDIR)\image\wsicon32.png $(APPINFO)\appicon_32.png /y
+ copy $(TOPDIR)\image\wsicon128.png $(APPINFO)\appicon_128.png /y
+
+# It'd be nice if we could get some sort of status or debugging output. For now
+# just cross our fingers.
+applauncher: appinfo
+ $(PORTABLEAPPS_DIR)\PortableApps.comLauncher\PortableApps.comLauncherGenerator.exe \
+ $(MAKEDIR)\$(PROGRAM_PORTABLE)
+
+appbinaries: applauncher
+ xcopy $(TOPDIR)\wireshark-qt-release $(WIRESHARK_DIR) /D /I /E /Y
+ xcopy $(TOPDIR)\capinfos.exe $(WIRESHARK_DIR) /d
+ xcopy $(TOPDIR)\captype.exe $(WIRESHARK_DIR) /d
+ xcopy $(TOPDIR)\dumpcap.exe $(WIRESHARK_DIR) /d
+ xcopy $(TOPDIR)\editcap.exe $(WIRESHARK_DIR) /d
+ xcopy $(TOPDIR)\mergecap.exe $(WIRESHARK_DIR) /d
+ xcopy $(TOPDIR)\randpkt.exe $(WIRESHARK_DIR) /d
+ xcopy $(TOPDIR)\reordercap.exe $(WIRESHARK_DIR) /d
+ xcopy $(TOPDIR)\rawshark.exe $(WIRESHARK_DIR) /d
+ xcopy $(TOPDIR)\text2pcap.exe $(WIRESHARK_DIR) /d
+ xcopy $(TOPDIR)\tfshark.exe $(WIRESHARK_DIR) /d
+ xcopy $(TOPDIR)\tshark.exe $(WIRESHARK_DIR) /d
+
+#WiresharkPortable.ini: WiresharkPortable.tmpl $(TOPDIR)\config.nmake
+# sed -e 's/$$(WINPCAP_VERSION)/$(WINPCAP_VERSION)/g' \
+# -e 's/$$(TARGET_MACHINE)/$(TARGET_MACHINE)/g' \
+# < WiresharkPortable.tmpl > WiresharkPortable.ini
+
+source: dirs
+ $(COPY) readme.txt $(SOURCE) $(COPY_FLAGS)
+ $(TEXTIFY) -Destination $(SOURCE) \
+ $(TOPDIR)/COPYING \
+ $(TOPDIR)/NEWS \
+ $(TOPDIR)/README.windows
+
+WiresharkPortable-$(VERSION).paf.exe : dirs appinfo appbinaries source
+!IFDEF PORTABLEAPPS_DIR
+ $(PORTABLEAPPS_DIR)\PortableApps.comInstaller\PortableApps.comInstaller.exe \
+ $(MAKEDIR)\$(PROGRAM_PORTABLE)
+!ELSE
+!MESSAGE PORTABLEAPPS_DIR not configured in config.nmake. Skipping.
+!ENDIF
clean:
cd ../../
$(MAKE) -f Makefile.nmake $@
cd portableapps/win32
- rm -rf $(FILES)
+ rm -rf $(STAGING_DIR)
rm -rf appinfo.ini
- rm -rf WiresharkPortable.ini
- rm -rf distribution.nmake
+ #rm -rf WiresharkPortable.ini
+ #rm -rf distribution.nmake
rm -rf WiresharkPortable-$(VERSION).paf.exe
rm -rf *~ *.*~
diff --git a/packaging/portableapps/win32/WiresharkPortable.ini b/packaging/portableapps/win32/WiresharkPortable.ini
new file mode 100644
index 0000000000..b9ea785d0d
--- /dev/null
+++ b/packaging/portableapps/win32/WiresharkPortable.ini
@@ -0,0 +1,3 @@
+[Launch]
+ProgramExecutable=Wireshark\Wireshark.exe
+WaitForProgram=false \ No newline at end of file
diff --git a/packaging/portableapps/win32/WiresharkPortable.nsi b/packaging/portableapps/win32/WiresharkPortable.nsi
deleted file mode 100755
index 50538ac646..0000000000
--- a/packaging/portableapps/win32/WiresharkPortable.nsi
+++ /dev/null
@@ -1,251 +0,0 @@
-
-; WiresharkPortable.nsi - runs Wireshark Portable from a PortableApps enabled device
-
-; $Id$
-
-;Copyright (C) 2004-2007 John T. Haller of PortableApps.com
-
-;Website: http://www.wireshark.org/
-
-;This software is OSI Certified Open Source Software.
-;OSI Certified is a certification mark of the Open Source Initiative.
-
-;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.
-
-!define NAME "WiresharkPortable"
-!define FULLNAME "Wireshark Portable"
-!define APP "Wireshark"
-!define WEBSITE "www.wireshark.org"
-!define DEFAULTEXE "wireshark.exe"
-!define DEFAULTAPPDIR "Wireshark"
-
-!addplugindir "${EXTRA_PLUGINS}"
-
-;=== Program Details
-Name "${FULLNAME}"
-OutFile "Files\${NAME}.exe"
-Caption "${FULLNAME} | PortableApps.com"
-VIProductVersion "${VERSION}"
-VIAddVersionKey ProductName "${FULLNAME}"
-VIAddVersionKey Comments "Allows ${APP} to be run from a removable drive. For additional details, visit ${WEBSITE}"
-VIAddVersionKey CompanyName "Wireshark.org"
-VIAddVersionKey LegalCopyright "Gerald Combs"
-VIAddVersionKey FileDescription "${FULLNAME}"
-VIAddVersionKey FileVersion "${VERSION}"
-VIAddVersionKey ProductVersion "${VERSION}"
-VIAddVersionKey InternalName "${FULLNAME}"
-VIAddVersionKey LegalTrademarks "Wireshark and the fin logo are registered trademarks of Gerald C. Combs"
-VIAddVersionKey OriginalFilename "${NAME}.exe"
-;VIAddVersionKey PrivateBuild ""
-;VIAddVersionKey SpecialBuild ""
-
-;=== Runtime Switches
-CRCCheck On
-WindowIcon Off
-SilentInstall Silent
-AutoCloseWindow True
-RequestExecutionLevel user
-XPStyle on
-
-;=== Include
-!include "FileFunc.nsh"
-!insertmacro GetParameters
-
-;=== Program Icon
-Icon "Files\App\AppInfo\appicon.ico"
-
-;=== Variables
-Var PROGRAMDIRECTORY
-Var ADDITIONALPARAMETERS
-Var EXECSTRING
-Var PROGRAMEXECUTABLE
-Var INIPATH
-Var DISABLEWINPCAPINSTALL
-Var WINPCAPINSTALLER
-Var WINPCAP_UNINSTALL ;declare variable for holding the value of a registry key
-Var MSVCREDIST
-Var MSVCREDIST_UNINSTALL ;declare variable for holding the value of a registry key
-Var PDRIVE
-
-Section "Main"
- ;=== Check if another WiresharkPortable already running
- ;System::Call 'kernel32::CreateMutexA(i 0, i 0, t "${NAME}") i .r1 ?e'
- ;Pop $0
- ;StrCmp $0 0 CheckINI
- ; Goto WarnAnotherInstance
-
- CheckINI:
- ;=== Find the INI file, if there is one
- IfFileExists "$EXEDIR\${NAME}.ini" "" CheckSubINI
- StrCpy "$INIPATH" "$EXEDIR"
- Goto ReadINI
-
- CheckSubINI:
- IfFileExists "$EXEDIR\${NAME}\${NAME}.ini" "" NoINI
- StrCpy "$INIPATH" "$EXEDIR\${NAME}"
- Goto ReadINI
-
- ReadINI:
- ;=== Read the parameters from the INI file
- ReadINIStr $0 "$INIPATH\${NAME}.ini" "${NAME}" "${APP}Directory"
- StrCpy "$PROGRAMDIRECTORY" "$EXEDIR\$0"
-
- ;=== Check that the above required parameters are present
- IfErrors NoINI
-
- ReadINIStr $PROGRAMEXECUTABLE "$INIPATH\${NAME}.ini" "${NAME}" "${APP}Executable"
- ReadINIStr $ADDITIONALPARAMETERS "$INIPATH\${NAME}.ini" "${NAME}" "AdditionalParameters"
-
- ReadINIStr $DISABLEWINPCAPINSTALL "$INIPATH\${NAME}.ini" "${NAME}" "DisableWinPcapInstall"
- ReadINIStr $WINPCAPINSTALLER "$INIPATH\${NAME}.ini" "${NAME}" "WinPcapInstaller"
- ReadINIStr $MSVCREDIST "$INIPATH\${NAME}.ini" "${NAME}" "MSVCRedist"
-
- ;CleanUpAnyErrors:
- ;=== Any missing unrequired INI entries will be an empty string, ignore associated errors
- ClearErrors
-
- ;=== Correct PROGRAMEXECUTABLE if blank
- StrCmp $PROGRAMEXECUTABLE "" "" EndINI
- StrCpy "$PROGRAMEXECUTABLE" "${DEFAULTEXE}"
- Goto EndINI
-
- ;=== Correct WINPCAPINSTALLER if blank
- StrCmp $WINPCAPINSTALLER "" "" EndINI
- StrCpy "$WINPCAPINSTALLER" "${DEFAULTWINPCAP}"
- Goto EndINI
-
- NoINI:
- ;=== No INI file, so we'll use the defaults
- StrCpy "$ADDITIONALPARAMETERS" ""
- StrCpy "$PROGRAMEXECUTABLE" "${DEFAULTEXE}"
- StrCpy "$WINPCAPINSTALLER" "${DEFAULTWINPCAP}"
- StrCpy "$MSVCREDIST" "${DEFAULTMSVCREDIST}"
-
- IfFileExists "$EXEDIR\App\${DEFAULTAPPDIR}\${DEFAULTEXE}" "" CheckPortableProgramDIR
- StrCpy "$PROGRAMDIRECTORY" "$EXEDIR\App\${DEFAULTAPPDIR}"
- GoTo EndINI
-
- CheckPortableProgramDIR:
- IfFileExists "$EXEDIR\${NAME}\App\${DEFAULTAPPDIR}\${DEFAULTEXE}" "" NoProgramEXE
- StrCpy "$PROGRAMDIRECTORY" "$EXEDIR\${NAME}\App\${DEFAULTAPPDIR}"
- GoTo EndINI
-
- EndINI:
- IfFileExists "$PROGRAMDIRECTORY\$PROGRAMEXECUTABLE" GetPassedParameters
-
- NoProgramEXE:
- ;=== Program executable not where expected
- MessageBox MB_OK|MB_ICONEXCLAMATION `$PROGRAMEXECUTABLE was not found. Please check your configuration`
- Abort
-
- FoundProgramEXE:
- ;=== Check if Wireshark running from somwehere else (e.g. U3 device)
- ; if the following step fails, you'll need the FindProcDLL plug-in from:
- ; http://nsis.sourceforge.net/Find_Process_By_Name
- ;FindProcDLL::FindProc "${PROGRAMEXECUTABLE}"
- ;StrCmp $R0 "1" WarnAnotherInstance GetPassedParameters
-
- ;WarnAnotherInstance:
- ; MessageBox MB_OK|MB_ICONINFORMATION `Another instance of ${APP} is already running. Please close other instances of ${APP} before launching ${FULLNAME}.`
- ; Abort
-
- GetPassedParameters:
- ;=== Get any passed parameters
- ${GetParameters} $0
- StrCmp "'$0'" "''" "" LaunchProgramParameters
-
- ;=== No parameters
- StrCpy $EXECSTRING `"$PROGRAMDIRECTORY\$PROGRAMEXECUTABLE"`
- Goto AdditionalParameters
-
- LaunchProgramParameters:
- StrCpy $EXECSTRING `"$PROGRAMDIRECTORY\$PROGRAMEXECUTABLE" $0`
-
- AdditionalParameters:
- StrCmp $ADDITIONALPARAMETERS "" CheckWinPcap
-
- ;=== Additional Parameters
- StrCpy $EXECSTRING `$EXECSTRING $ADDITIONALPARAMETERS`
-
- CheckWinPcap:
- StrCmp $DISABLEWINPCAPINSTALL "true" EnvironmentVariables
-
- ReadRegStr $WINPCAP_UNINSTALL HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinPcapInst" "UninstallString"
- IfErrors InstallWinPcap
-
- StrCpy $WINPCAP_UNINSTALL ""
-
- goto CheckRedist
-
- InstallWinPcap:
- MessageBox MB_YESNO "If you want to capture packets from the network you will need to install WinPcap.\nIt will be uninstalled when you exit Wireshark.\n\nDo you want to install WinPcap?" /SD IDYES IDNO CheckRedist
- ExecWait `"$PROGRAMDIRECTORY\$WINPCAPINSTALLER"`
- ;=== remember the uninstall string for when we are done
- ReadRegStr $WINPCAP_UNINSTALL HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinPcapInst" "UninstallString"
-
- CheckRedist:
-
- ReadRegStr $MSVCREDIST_UNINSTALL HKLM "SOFTWARE\Microsoft\CurrentVersion\Uninstall\{A49F249F-0C91-497F-86DF-B2585E8E76B7}" "UninstallString"
- IfErrors InstallRedist
-
- StrCpy $MSVCREDIST_UNINSTALL ""
-
- goto EnvironmentVariables
-
- InstallRedist:
- ExecWait `"$PROGRAMDIRECTORY\$MSVCREDIST" /q`
- ;=== remember the uninstall string for when we are done
-
- ReadRegStr $MSVCREDIST_UNINSTALL HKLM "SOFTWARE\Microsoft\CurrentVersion\Uninstall\{A49F249F-0C91-497F-86DF-B2585E8E76B7}" "UninstallString"
-
- EnvironmentVariables:
- ; set the U3 environment variables
- StrCpy $PDRIVE $EXEDIR 2
- System::Call 'Kernel32::SetEnvironmentVariableA(t,t) i("U3_DEVICE_SERIAL", "0000060414068917").r0'
- System::Call 'Kernel32::SetEnvironmentVariableA(t,t) i("U3_DEVICE_PATH", "$PDRIVE").r0'
- System::Call 'Kernel32::SetEnvironmentVariableA(t,t) i("U3_DOCUMENT_PATH", "$PDRIVE\Documents").r0'
- System::Call 'Kernel32::SetEnvironmentVariableA(t,t) i("U3_DEVICE_VENDOR", "Wireshark Developers").r0'
- System::Call 'Kernel32::SetEnvironmentVariableA(t,t) i("U3_DEVICE_PRODUCT", "PortableApps").r0'
- System::Call 'Kernel32::SetEnvironmentVariableA(t,t) i("U3_DEVICE_VENDOR_ID", "0000").r0'
- System::Call 'Kernel32::SetEnvironmentVariableA(t,t) i("U3_APP_DATA_PATH", "$EXEDIR\Data").r0'
- System::Call 'Kernel32::SetEnvironmentVariableA(t,t) i("U3_HOST_EXEC_PATH", "$EXEDIR\App\Wireshark").r0'
- System::Call 'Kernel32::SetEnvironmentVariableA(t,t) i("U3_DEVICE_EXEC_PATH", "$EXEDIR\App\Wireshark").r0'
- System::Call 'Kernel32::SetEnvironmentVariableA(t,t) i("U3_ENV_VERSION", "1.0").r0'
- System::Call 'Kernel32::SetEnvironmentVariableA(t,t) i("U3_ENV_LANGUAGE", "1033").r0'
- StrCmp $SECONDARYLAUNCH "true" LaunchAndExit
-
- ExecWait $EXECSTRING
-
- CheckRunning:
- Sleep 1000
- FindProcDLL::FindProc "${DEFAULTEXE}"
- StrCmp $R0 "1" CheckRunning
-
- StrCmp $WINPCAP_UNINSTALL "" UninstallRedist ;=== if we installed it, uninstall it
- ExecWait $WINPCAP_UNINSTALL
-
- UninstallRedist:
-
- StrCmp $MSVCREDIST_UNINSTALL "" TheEnd ;=== if we installed it, uninstall it
-
- ExecWait $MSVCREDIST_UNINSTALL
-
- Goto TheEnd
-
- LaunchAndExit:
- Exec $EXECSTRING
-
- TheEnd:
-SectionEnd
diff --git a/packaging/portableapps/win32/appinfo.tmpl b/packaging/portableapps/win32/appinfo.tmpl
index 5d7f2e7b24..4710115feb 100755
--- a/packaging/portableapps/win32/appinfo.tmpl
+++ b/packaging/portableapps/win32/appinfo.tmpl
@@ -1,16 +1,16 @@
[Format]
Type=PortableApps.comFormat
-Version=2.0
+Version=3.0
[Details]
Name=Wireshark Portable
AppID=WiresharkPortable
Publisher=Wireshark.org
-Homepage=www.wireshark.org
+Homepage=https://www.wireshark.org/
Category=Internet
Description=Wireshark is one of the world's foremost network protocol analyzers.
Language=Multilingual
-Trademarks=Wireshark and the fin logo are registered trademarks of Gerald C. Combs
+Trademarks=Wireshark and the fin logo are registered trademarks of the Wireshark Foundation
[License]
Shareable=true
diff --git a/packaging/portableapps/win32/help.html b/packaging/portableapps/win32/help.html
new file mode 100644
index 0000000000..35dae9b006
--- /dev/null
+++ b/packaging/portableapps/win32/help.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>Wireshark Portable ยท Help</title>
+</head>
+<body>
+Please see <a href="https://www.wireshark.org/docs/">the online documentation</a>.
+</body> \ No newline at end of file
diff --git a/packaging/portableapps/win32/installer.ini b/packaging/portableapps/win32/installer.ini
deleted file mode 100755
index e69de29bb2..0000000000
--- a/packaging/portableapps/win32/installer.ini
+++ /dev/null
diff --git a/packaging/ws-manifest.pl b/packaging/ws-manifest.pl
index 41a0fbba9e..793f5ef16d 100755
--- a/packaging/ws-manifest.pl
+++ b/packaging/ws-manifest.pl
@@ -1,3 +1,10 @@
+# This is no longer used and should probably be replaced. For example, we could
+# replace most of the copy/xcopy commands for the install-generated-files target
+# in ../Makefile.nmake with echo commands that append to a deployment manifest.
+# We could then use that manifest to fill in the section includes in
+# nsis\wireshark.nsi, copy files to wireshark-gtk2, and copy files to
+# portableapps\win32\WiresharkPortable\App\Wireshark.
+
#
# ws-manifest.pl - create a generic manifest file (including u3 information) from the wireshark.nsi
diff --git a/ui/qt/Wireshark.pro b/ui/qt/Wireshark.pro
index 9d142d91e0..5e626c822e 100644
--- a/ui/qt/Wireshark.pro
+++ b/ui/qt/Wireshark.pro
@@ -487,7 +487,7 @@ win32 {
# Currently the QT bin dir has to be on the path for windeployqt to work
isEqual(QT_MAJOR_VERSION, 5):isEqual(QT_MINOR_VERSION, 3) {
QMAKE_POST_LINK +=$$quote(set PATH=%PATH%;$${QT5_BASE_DIR}\\bin$$escape_expand(\\n\\t))
- QMAKE_POST_LINK +=$$quote(windeployqt --release $(DESTDIR)wireshark.exe)$$escape_expand(\\n\\t))
+ QMAKE_POST_LINK +=$$quote(windeployqt --release --no-compiler-runtime $(DESTDIR)wireshark.exe)$$escape_expand(\\n\\t))
}
}