WSDG: Miscellaneous updates and fixes.
authorGerald Combs <gerald@wireshark.org>
Thu, 3 Jan 2019 20:01:19 +0000 (12:01 -0800)
committerGerald Combs <gerald@wireshark.org>
Thu, 3 Jan 2019 21:38:49 +0000 (21:38 +0000)
Update the Windows CRT text to mention the Universal CRT.

Replace references to WinPcap with Npcap.

Update the Qt LTS text.

Add a WiX / .msi section

Use curly quotes.

Use the {cpp} attribute so that the "++" in "C++" doesn't trigger
monospace formatting.

Make the various "Unix" and "Windows" subsection title names uniform.
Give them the "discrete" attribute so that they don't clutter up the
TOC.

Title-case section titles.

Remove the reference to m4. As far as I can tell we don't require it.

Change-Id: I73f851adae640f77205781d6c4962002c2d53f49
Reviewed-on: https://code.wireshark.org/review/31343
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Gerald Combs <gerald@wireshark.org>
docbook/attributes.asciidoc
docbook/developer-guide.asciidoc
docbook/wsdg_src/WSDG_chapter_build_intro.asciidoc
docbook/wsdg_src/WSDG_chapter_dissection.asciidoc
docbook/wsdg_src/WSDG_chapter_libraries.asciidoc
docbook/wsdg_src/WSDG_chapter_quick_setup.asciidoc
docbook/wsdg_src/WSDG_chapter_tools.asciidoc
docbook/wsdg_src/WSDG_chapter_userinterface.asciidoc
docbook/wsdg_src/WSDG_chapter_works.asciidoc

index 5bd515b82e107e0bf6b65e755bb09410738732ad..f6c354b3e80cea9814b8c7d69e0f8ac39be9a50d 100644 (file)
@@ -2,7 +2,9 @@
 
 :wireshark-version: 2.9.1
 
-// We're migrating from AsciiDoc.
+// We're migrating from AsciiDoc. This can be removed once we've migrated
+// from legacy markup to modern:
+// https://asciidoctor.org/docs/migration/#migration-cheatsheet
 :compat-mode:
 // Required for btn, kbd:, and menu: macros.
 :experimental:
@@ -44,6 +46,9 @@
 :pcap-filter-man-page-url: {tcpdump-main-url}manpages/pcap-filter.7.html
 :tcpdump-man-page-url: {tcpdump-main-url}manpages/tcpdump.1.html
 
+:npcap-main-url: https://nmap.org/npcap/
+:npcap-development-url: https://github.com/nmap/npcap
+:npcap-license-url: https://raw.githubusercontent.com/nmap/npcap/master/LICENSE
 :winpcap-main-url: https://www.winpcap.org/
 :winpcap-download-url: {winpcap-main-url}install/
 
index 1ed67b9f88f3541b0eb5fce8dba166994e5f3e5a..771e36395421ce1486a8f72829cf690d435a2ad9 100644 (file)
@@ -3,10 +3,11 @@
 include::attributes.asciidoc[]
 = Wireshark Developer’s Guide: Version {wireshark-version}
 
-// Convenience attribute.
+// Attributes
 // XXX This should be surrounded by single quotes in the text. It’s
 // currently surrounded by plus signs for AsciiDoc compatibility.
 :dlt-glob: DLT_*
+:qt-lts-version: 5.12
 
 [[Preface]]
 ["preface",id="Preface"]
index 9c55ebb14702ac54d6a3fa5072a3395b06a7723f..698f39cc41b65082acb6df780007281add752330 100644 (file)
 
 Wireshark consists of the following major parts:
 
-* Packet dissection - in the _/epan/dissector_ and _/plugin/\*_ directories
+* Packet dissection - in the _/epan/dissectors_ and
+_/plugins/epan/{asterisk}_ directories
 
 * File I/O - using Wireshark’s own wiretap library
 
-* Capture - using the libpcap/winpcap library, in _/wiretap_
+* Capture - using the libpcap and Npcap libraries, in _/wiretap_
 
 * User interface - using Qt and associated libraries
 
index 5d8cd34f092a8161b651acc8debdd86653614bce..f42dcd7c3b36d3eec4d95b3b8798f03f881f7a76 100644 (file)
@@ -1171,7 +1171,7 @@ was especially the case after seeing a lot of discussions about how particular
 IDL types are represented inside an octet stream.
 
 I have also had comments/feedback that this tool would be good for say a CORBA
-class when teaching students what CORBA traffic looks like ``on the wire''.
+class when teaching students what CORBA traffic looks like “on the wire”.
 
 It is also COOL to work on a great Open Source project such as the case with
 “Wireshark” ({wireshark-main-url})
index 2978e732c1f002c3bdefbc51b69b4673f1ee2f32..f3a502e487ca14a729bf6ad48aa7f523095db36c 100644 (file)
 Several libraries are needed to build and run Wireshark. Most of them
 are split into three packages:
 
-. _Runtime_. System and third party libraries such as _MSVCR110.dll_ and _libglib-2.0-0.dll_.
+. _Runtime_. System and third party libraries such as _vcruntime140.dll_
+and _libglib-2.0-0.dll_.
 
-. _Developer_. Documentation, header files, import libraries, and other files needed for compilation.
+. _Developer_. Documentation, header files, import libraries, and other
+files needed for compilation.
 
-. _Source_. Library sources, which are usually not required to
-build Wireshark.
+. _Source_. Library sources, which are usually not required to build
+Wireshark.
 
 [TIP]
 .Our libraries are freely available
@@ -29,7 +31,7 @@ See <<ChLibsSetup>> for an easier way to install them.
 
 [[ChLibsFormat]]
 
-=== Binary library formats
+=== Binary Library Formats
 
 Binary libraries are available in different formats, depending on the C
 compiler used to build it and of course the platform they were built for.
@@ -37,7 +39,7 @@ compiler used to build it and of course the platform they were built for.
 
 [[ChLibsFormatUnix]]
 
-
+[discrete]
 ==== Unix
 
 If you have installed unix binary libraries on your system, they will
@@ -48,8 +50,8 @@ and compile the source and then install the binaries.
 
 [[ChLibsFormatWin32]]
 
-
-==== Win32: MSVC
+[discrete]
+==== Windows
 
 Most of the Win32 binary libraries you will find on the web are in this
 format. You will recognize MSVC libraries by the .lib/.dll file extension.
@@ -57,8 +59,7 @@ format. You will recognize MSVC libraries by the .lib/.dll file extension.
 
 [[ChLibsSetup]]
 
-
-=== Win32: Automated Library Download
+=== Windows Automated Library Download
 
 The required libraries (apart from Qt) are automatically downloaded as part of
 the CMake generation step, and subsequently as required when libraries are updated.
@@ -83,6 +84,7 @@ For more information on the Qt libraries, see <<ChUIQt>>.
 
 [[ChLibsUnixQt]]
 
+[discrete]
 ==== Unix
 
 Most Linux distributions provide Qt and its development libraries as standard packages.
@@ -95,7 +97,8 @@ It is available at https://www.qt.io/download-open-source/#section-2[].
 
 [[ChLibsWin32Qt]]
 
-==== Win32 MSVC
+[discrete]
+==== Windows
 
 Qt5 must be installed manually from the Qt installers page
 https://www.qt.io/download-open-source/#section-2[] using the version of Qt
@@ -119,6 +122,7 @@ and its dependencies.
 
 [[ChLibsUnixGLib]]
 
+[discrete]
 ==== Unix
 
 The GLib library is available for most Linux distributions and UNIX
@@ -127,18 +131,20 @@ for your platform, you can get it at http://www.gtk.org[].
 
 [[ChLibsWin32GLib]]
 
-==== Win32 MSVC
+[discrete]
+==== Windows
 
 You can get the latest version at http://www.gtk.org[].
 
 [[ChLibsSMI]]
 
-=== SMI (optional)
+=== SMI (Optional)
 
 LibSMI is used for MIB and PIB parsing and for OID resolution.
 
 [[ChLibsUnixSMI]]
 
+[discrete]
 ==== Unix
 
 If this library isn't already installed or available as a
@@ -147,7 +153,8 @@ http://www.ibr.cs.tu-bs.de/projects/libsmi/[].
 
 [[ChLibsWin32SMI]]
 
-==== Win32 MSVC
+[discrete]
+==== Windows
 
 Wireshark uses the source libSMI distribution at
 http://www.ibr.cs.tu-bs.de/projects/libsmi/[].
@@ -156,13 +163,14 @@ https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[].
 
 [[ChLibsCares]]
 
-=== c-ares (optional)
+=== c-ares (Optional)
 
 C-Ares is used for asynchronous DNS resolution. This is the primary name
 resolution library in Wireshark.
 
 [[ChLibsUnixCares]]
 
+[discrete]
 ==== Unix
 
 If this library isn't already installed or available as a package for your
@@ -170,14 +178,15 @@ platform, you can get it at http://c-ares.haxx.se/[].
 
 [[ChLibsWin32Cares]]
 
-==== Win32 MSVC
+[discrete]
+==== Windows
 
 C-Ares is cross-compiled using MinGW32 and is available at
 https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[].
 
 [[ChLibsZlib]]
 
-=== zlib (optional)
+=== zlib (Optional)
 
 [quote, The zlib web site, http://www.zlib.net/]
 ____
@@ -190,6 +199,7 @@ ____
 
 [[ChLibsUnixZlib]]
 
+[discrete]
 ==== Unix
 
 This library is almost certain to be installed on your system. If it isn't or
@@ -198,7 +208,8 @@ http://www.zlib.net/[].
 
 [[ChLibsWin32Zlib]]
 
-==== Win32 MSVC
+[discrete]
+==== Windows
 
 The zlib sources are downloaded from
 https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[] and compiled
@@ -206,13 +217,14 @@ locally.
 
 [[ChLibsPcap]]
 
-=== libpcap/WinPcap (optional)
+=== libpcap or Npcap (Optional, But Strongly Recommended)
 
-Libpcap and WinPcap provide that packet capture capabilities that are central
+Libpcap and Npcap provide that packet capture capabilities that are central
 to Wireshark’s core functionality.
 
 [[ChLibsLibpcap]]
 
+[discrete]
 ==== Unix: libpcap
 
 If this library isn't already installed or available as a package for your
@@ -220,20 +232,21 @@ platform, you can get it at {tcpdump-main-url}.
 
 [[ChLibsWinpPcap]]
 
-==== Win32 MSVC: WinPcap
+[discrete]
+==== Windows: Npcap
 
-You can get the ``Windows packet capture library'' at:
-https://www.winpcap.org/install/[]
+You can get the Npcap Windows packet capture library at {npcap-main-url}.
 
 [[ChLibsGNUTLS]]
 
-=== GnuTLS (optional)
+=== GnuTLS (Optional)
 
 The GNU Transport Layer Security Library is used to enable TLS decryption
 using a RSA private key.
 
 [[ChLibsUnixGNUTLS]]
 
+[discrete]
 ==== Unix
 
 If this library isn't already installed or available as a
@@ -242,7 +255,8 @@ https://gnutls.org/[].
 
 [[ChLibsWin32GNUTLS]]
 
-==== Win32 MSVC
+[discrete]
+==== Windows
 
 We provide a package cross-compiled using MinGW32 at
 https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[].
@@ -257,6 +271,7 @@ AES, Blowfish, SHA-1, SHA-256, and others.
 
 [[ChLibsUnixGcrypt]]
 
+[discrete]
 ==== Unix
 
 If this library isn't already installed or available as a
@@ -265,19 +280,21 @@ https://directory.fsf.org/wiki/Libgcrypt[].
 
 [[ChLibsWin32Gcrypt]]
 
-==== Win32 MSVC
+[discrete]
+==== Windows
 
 Part of our GnuTLS package.
 
 [[ChLibsKerberos]]
 
-=== Kerberos (optional)
+=== Kerberos (Optional)
 
 The Kerberos library is used to dissect Kerberos, sealed DCERPC and
 secureLDAP protocols.
 
 [[ChLibsUnixKerberos]]
 
+[discrete]
 ==== Unix
 
 If this library isn't already installed or available as a
@@ -286,19 +303,21 @@ http://web.mit.edu/Kerberos/dist/[].
 
 [[ChLibsWin32Kerberos]]
 
-==== Win32 MSVC
+[discrete]
+==== Windows
 
 We provide a package at
 https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[].
 
 [[ChLibsLua]]
 
-=== LUA (optional)
+=== LUA (Optional)
 
 The LUA library is used to add scripting support to Wireshark.
 
 [[ChLibsUnixLua]]
 
+[discrete]
 ==== Unix
 
 If this library isn't already installed or available as a
@@ -307,14 +326,15 @@ http://www.lua.org/download.html[].
 
 [[ChLibsWin32Lua]]
 
-==== Win32 MSVC
+[discrete]
+==== Windows
 
 We provide a copy of the official package at
 https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[].
 
 [[ChLibsMaxMindDB]]
 
-=== MaxMindDB (optional)
+=== MaxMindDB (Optional)
 
 MaxMind Inc. publishes a set of IP geolocation databases and related
 open source libraries. They can be used to map IP addresses to
@@ -327,15 +347,16 @@ https://github.com/maxmind/libmaxminddb[].
 We provide a package for Windows at
 https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[].
 
-[[ChLibsWinSparkle]]
+[[ChLibsSparkle]]
 
-=== WinSparkle (optional)
+=== WinSparkle (Optional)
 
 WinSparkle is an easy-to-use software update library for Windows developers.
 
-[[ChLibsWin32WinSparkle]]
+[[ChLibsWinSparkle]]
 
-==== Win32 MSVC
+[discrete]
+==== Windows
 
 We provide a copy of the WinSparkle package at
 https://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[].
index b556b6c150b4310212441d54120f1053d85a6398..d83952e5df39da22068b8ae1cc5e5aab9e3828a3 100644 (file)
@@ -48,13 +48,13 @@ You need to install, in exactly this order:
 
 . C compiler:
 https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&rel=15[Download]
-and install ``Microsoft Visual Studio 2017 Community Edition.'' This is a small
+and install “Microsoft Visual Studio 2017 Community Edition.” This is a small
 download that then downloads all the other required parts (which are quite large).
 
-Check the checkbox for "Desktop development with C++" and then uncheck
-all the optional components other than the "VC++ 2017" item with the
-"latest ... tools", the "Windows 10 SDK", and the "Visual C++ tools for
-CMake" (unless you want to use them for purposes other than Wireshark).
+Check the checkbox for “Desktop development with {cpp}” and then uncheck
+all the optional components other than the “V{cpp} 2017” item with the
+“latest ... tools”, the “Windows 10 SDK”, and the “Visual {cpp} tools for
+CMake (unless you want to use them for purposes other than Wireshark).
 
 You can use Chocolatey to install Visual Studio, to correctly configure the
 installation, copy the deployment XML file https://code.wireshark.org/review/gitweb?p=wireshark.git;a=blob_plain;f=tools/msvc2015AdminDeployment.xml;hb=HEAD[msvc2015AdminDeployment.xml] from the source code tools directory
@@ -93,19 +93,19 @@ problems.
 ==== Install Qt
 
 The main Wireshark application uses the Qt windowing toolkit.  To
-install Qt, go to the https://www.qt.io/download["Download Qt" page],
-select "Go open source", download the *Qt Online Installer for Windows*
+install Qt, go to the https://www.qt.io/download[“Download Qt” page],
+select “Go open source”, download the *Qt Online Installer for Windows*
 from the Qt Project and select, for the desired Qt version, a component
-that matches your target system and compiler.  For example, the Qt 5.9.5
-``msvc2017 64-bit'' component is used to build the official 64-bit
+that matches your target system and compiler.  For example, the Qt {qt-lts-version}.5
+“msvc2017 64-bit” component is used to build the official 64-bit
 packages.  You can deselect all the Qt xxxx (e.g.  Qt Charts) components
-as they aren't required.
+as they arent required.
 
 Note that installation of separate Qt components are required for 32 bit
-and 64 bit builds, e.g. ``msvc2017 32-bit'' and ``msvc2017 64-bit''. The
+and 64 bit builds, e.g. “msvc2017 32-bit” and “msvc2017 64-bit”. The
 environment variable `QT5_BASE_DIR` should be set as appropriate for your
 environment and should point to the Qt directory that contains the bin
-directory, e.g. _C:\Qt\5.9.5\msvc2017_64_
+directory, e.g. _C:\Qt{backslash}{qt-lts-version}.5\msvc2017_64_
 
 The Qt maintenance tool (_C:\Qt\MaintenanceTool.exe_) can be used to
 upgrade Qt to newer versions.
@@ -176,15 +176,6 @@ so it shows a version number for:
 
 * Text/docbook-xml45 (only needed if you're building the documenation)
 
-// Also need: bash/sh, sed
-
-You might also have to install
-
-* Interpreters/m4
-
-if installing Devel/bison doesn't provide a working version of Bison. If
-m4 is missing bison will fail.
-
 After clicking the btn:[Next] button several times, the setup
 will then download and install the selected packages (this
 may take a while).
@@ -358,14 +349,14 @@ Make sure your repository path doesn't contain spaces.
 
 ==== Open a Visual Studio Command Prompt
 
-From the Start Menu (or Start Screen), navigate to the `Visual Studio
-2017' folder and choose the Command Prompt appropriate for the build you
-wish to make, e.g. `x64 Native Tools Command Prompt for VS 2017' for a
-64-bit version or `x86 Native Tools Command Prompt for VS 2017' for a
+From the Start Menu (or Start Screen), navigate to the Visual Studio
+2017 folder and choose the Command Prompt appropriate for the build you
+wish to make, e.g. “x64 Native Tools Command Prompt for VS 2017” for a
+64-bit version or “x86 Native Tools Command Prompt for VS 2017” for a
 32-bit version.  Depending on your version of Windows the Command Prompt
-list might be directly under `Visual Studio 2017' or you might have to
-dig for it under multiple folders, e.g.  `Visual Studio 2017 -> Visual
-Studio Tools -> Windows Desktop Command Prompts'.
+list might be directly under “Visual Studio 2017” or you might have to
+dig for it under multiple folders, e.g. menu:Visual Studio 2017[Visual
+Studio Tools,Windows Desktop Command Prompts].
 
 [TIP]
 .Pin the items to the Task Bar
@@ -380,6 +371,7 @@ All subsequent operations take place in this Command Prompt window.
 --
 Set the following environment variables, using paths and values suitable for your installation:
 
+[subs="attributes+"]
 ----
 > rem Let CMake determine the library download directory name under
 > rem WIRESHARK_BASE_DIR or set it explicitly by using WIRESHARK_LIB_DIR.
@@ -387,7 +379,7 @@ Set the following environment variables, using paths and values suitable for you
 > set WIRESHARK_BASE_DIR=C:\Development
 > rem set WIRESHARK_LIB_DIR=c:\wireshark-win64-libs
 > rem Set the Qt installation directory
-> set QT5_BASE_DIR=C:\Qt\5.9.5\msvc2017_64
+> set QT5_BASE_DIR=C:\Qt{backslash}{qt-lts-version}.5\msvc2017_64
 > rem Append a custom string to the package version. Optional.
 > set WIRESHARK_VERSION_EXTRA=-YourExtraVersionInfo
 ----
@@ -410,9 +402,11 @@ Setting these variables could be added to a batch file to be run after you open
 the Visual Studio Tools Command Prompt.
 
 [TIP]
+.Use Qt’s LTS branch
 ====
-Qt 5.9 is a "long term support" branch of Qt5. We recommend using it to
-compile Wireshark on Windows.
+We recommend using the most recent “long term support” branch of Qt5 to
+compile Wireshark on Windows. At the time of writing this is Qt
+{qt-lts-version}.
 ====
 
 --
index f834029768283f2b44f53cbcb6efea47ffa9e2ef..fe82f9368893701d1727a92a56fb70cfa522ee30 100644 (file)
@@ -447,26 +447,21 @@ https://docs.microsoft.com/en-us/cpp/build/reference/linking?view=vs-2017[Micros
 
 [[msvc-runtime-redistributable]]
 
-==== C-Runtime "Redistributable" Files
+==== Visual {cpp} Runtime “Redistributable” Files
 
-Please note: The following is not legal advice - ask your preferred lawyer
-instead. It’s the authors view and this view might be wrong.
+Please note: The following is not legal advice. Ask your preferred
+lawyer instead. It’s the authors view and this view might be wrong.
 
-Depending on the Microsoft compiler version you use, some binary files coming
-from Microsoft might be required to be installed on Windows machine to run
-Wireshark. On a developer machine, the compiler setup installs these files so
-they are available - but they might not be available on a user machine!
-
-This is especially true for the C runtime DLL (msvcr*.dll), which contains the
-implementation of ANSI and alike functions, e.g.: fopen(), malloc(). The DLL is
-named like: _msvcr**version**.dll_, an abbreviation for "Microsoft Visual C
-Runtime". For Wireshark to work, this DLL must be available on the users
-machine.
-
-Starting with MSVC7, it is necessary to ship the C runtime DLL
-(_msvcr**version**.dll_) together with the application installer somehow, as that
-DLL is possibly not available on the target system.
+Wireshark and its libraries depend on POSIX functions such as fopen()
+and malloc(). On Windows, these functions are provided by the Microsoft
+Visual {cpp} Runtime. There are many different versions of the CRT and
+Visual {cpp} 2015 and later use the _Universal CRT_.
 
+The Universal CRT comes standard with Windows 10 and is installed as part
+of Windows Update on earlier versions of Windows. The Wireshark .exe
+installers include redistributables (_vcredist_x86.exe_ or
+_vcredist_x64.exe_) which ensure that the Universal CRT is installed and
+up to date.
 
 [NOTE]
 .Make sure you're allowed to distribute this file
@@ -480,20 +475,21 @@ us.
 The following Microsoft Docs link is recommended for the
 interested reader:
 
-* https://docs.microsoft.com/en-us/cpp/ide/redistributing-visual-cpp-files?view=vs-2017[Redistributing Visual C++ Files]
+https://docs.microsoft.com/en-us/cpp/ide/redistributing-visual-cpp-files?view=vs-2017[Redistributing Visual {cpp} Files]
 
 In all cases where _vcredist_x86.exe_ or _vcredist_x64.exe_ is
-downloaded it should be downloaded to the directory into which the support
-libraries for Wireshark have been downloaded and installed. This directory is
-specified by the WIRESHARK_BASE_DIR or WIRESHARK_LIB_DIR environment variables.
-It need not, and should not, be run after being downloaded.
+downloaded it should be downloaded to the directory into which the
+support libraries for Wireshark have been downloaded and installed. This
+directory is specified by the `WIRESHARK_BASE_DIR` or
+`WIRESHARK_LIB_DIR` environment variables. It need not, and should not,
+be run after being downloaded.
 
-==== Windows (Platform) SDK
+==== Windows Platform SDK
 
 The Windows Platform SDK (PSDK) or Windows SDK is a free
 (as in beer) download and contains platform specific headers and
-libraries (e.g. `windows.h`, `WSock32.lib`, etc.). As new Windows
-features evolve in time, updated SDKs become available that
+libraries (e.g. _windows.h_, _WSock32.lib_, etc.). As new Windows
+features evolve in time, updated SDKs become available that
 include new and updated APIs.
 
 When you purchase a commercial Visual Studio or use the Community
@@ -571,7 +567,7 @@ otherwise the debugger will simply fail or you will only see a lot of garbage.
 
 [[ChToolsMSVCDebugger]]
 
-===== Visual Studio integrated debugger
+===== Visual Studio Integrated Debugger
 
 You can use the integrated debugger of Visual Studio if your toolchain includes
 it.  Open the solution in your build directory and build and debug as normal
@@ -614,7 +610,7 @@ If you require a non-optimised version, then build using a debug configuration.
 
 [[ChToolsMSDebuggingTools]]
 
-===== Debugging Tools for Windows
+===== Debugging Tools For Windows
 
 You can also use the Microsoft Debugging Tools for Windows toolkit, which is a
 standalone GUI debugger. Although it’s not that comfortable compared to
@@ -650,7 +646,8 @@ The bash shell is needed to run several shell scripts.
 
 [[ChToolsGNUBash]]
 
-==== UNIX and UNIX-like platforms: GNU Bash
+[discrete]
+==== Unix
 
 Bash (the GNU Bourne-Again SHell) is available for most UNIX and
 UNIX-like platforms. If it isn't already installed or available as a
@@ -734,7 +731,8 @@ and above should work fine.
 
 [[ChToolsUnixPerl]]
 
-==== UNIX and UNIX-like platforms: Perl
+[discrete]
+==== Unix
 
 Perl is available for most UNIX and UNIX-like platforms. If perl isn't
 already installed or available as a package for your platform, you can
@@ -768,7 +766,8 @@ However, the version string may vary.
 
 [[ChToolsWindowsPerl]]
 
-==== Windows native: Perl
+[discrete]
+==== Windows
 
 A native Windows Perl package can be obtained from
 http://www.ActiveState.com[Active State] or http://strawberryperl.com/[Strawberry Perl]. The installation
@@ -819,7 +818,8 @@ Bison is a parser generator used for some of Wireshark’s file format support.
 
 [[ChToolsUnixBison]]
 
-==== UNIX and UNIX-like platforms: Bison
+[discrete]
+==== Unix
 
 Bison is available for most UNIX and UNIX-like platforms. See the next
 section for native Windows options.
@@ -849,7 +849,8 @@ Your version string may vary.
 
 [[ChToolsWindowsBison]]
 
-==== Windows native: Win flex-bison and bison
+[discrete]
+==== Windows
 
 A native Windows version of bison is available in the _winflexbison_
 https://chocolatey.org/[Chocolatey] package. Note that the executable is named
@@ -868,7 +869,8 @@ file formats, and other features.
 
 [[ChToolsUnixFlex]]
 
-==== UNIX and UNIX-like platforms: flex
+[discrete]
+==== Unix
 
 Flex is available for most UNIX and UNIX-like platforms. See the next
 section for native Windows options.
@@ -893,7 +895,8 @@ Your version string may vary.
 
 [[ChToolsWindowsFlex]]
 
-==== Windows native: Win flex-bison and flex
+[discrete]
+==== Windows
 
 A native Windows version of flex is available in the _winflexbison_
 https://chocolatey.org/[Chocolatey] package. Note that the executable is named
@@ -926,7 +929,8 @@ client.
 
 [[ChToolsUnixGit]]
 
-==== UNIX and UNIX-like platforms: git
+[discrete]
+==== Unix
 
 Git is available for most UNIX and UNIX-like platforms. If Git isn't
 already installed or available as a package for your platform, you can
@@ -949,7 +953,8 @@ Your version will likely be different.
 
 [[ChToolsWindowsGit]]
 
-==== Windows native: git
+[discrete]
+==== Windows
 
 The Git command line tools for Windows can be found at
 http://git-scm.com/download/win[] and can also be installed using Chocolatey:
@@ -977,7 +982,7 @@ However, the version string may vary.
 
 [[ChToolsGitPowerShellExtensions]]
 
-=== Git Powershell Extensions (optional)
+=== Git Powershell Extensions (Optional)
 
 A useful tool for command line git on Windows is https://github.com/dahlbyk/posh-git[PoshGit].
 Poshgit provides git command completion and alters the prompt to indicate the local working
@@ -990,7 +995,7 @@ PS:\>choco install poshgit
 
 [[ChToolsGitGUI]]
 
-=== Git GUI client (optional)
+=== Git GUI Client (Optional)
 
 Along with the traditional command-line client, several
 GUI clients are available for a number of platforms. See
@@ -1001,7 +1006,7 @@ http://git-scm.com/downloads/guis[] for details.
 
 [[ChToolsPatch]]
 
-=== patch (optional)
+=== patch (Optional)
 
 The patch utility is used to merge a diff file into your own source tree. This
 tool is only needed, if you want to apply a patch (diff file) from someone else
@@ -1016,7 +1021,8 @@ tool.
 
 [[ChToolsUnixPatch]]
 
-==== UNIX and UNIX-like platforms: patch
+[discrete]
+==== Unix
 
 Patch is available for most UNIX and UNIX-like platforms. If GNU patch
 isn't already installed or available as a package for your platform, you
@@ -1049,7 +1055,8 @@ However, the version string may vary.
 
 [[ChToolsWindowsPatch]]
 
-==== Windows native: patch
+[discrete]
+==== Windows
 
 The Windows native Git tools provide patch. A native Windows patch package can be obtained from
 http://gnuwin32.sourceforge.net/[]. The
@@ -1057,7 +1064,7 @@ installation should be straightforward.
 
 [[ChToolsNSIS]]
 
-=== Windows: NSIS (optional)
+=== Windows: NSIS (Optional)
 
 The NSIS (Nullsoft Scriptable Install System) is used to generate
 _Wireshark-win32-{wireshark-version}.exe_ from all the files
@@ -1065,7 +1072,7 @@ needed to be installed, including all required DLLs, plugins, and supporting
 files.
 
 To install it, download the latest released version from
-http://nsis.sourceforge.net[]. NSIS v3 is required. You can also install
+https://nsis.sourceforge.net[]. NSIS v3 is required. You can also install
 it using Chocolatey:
 
 [source,cmd]
@@ -1075,7 +1082,23 @@ PS$> choco install nsis
 
 You can find more instructions on using NSIS in <<ChSrcNSIS>>.
 
-=== Windows: PortableApps (optional)
+[[ChToolsWiX]]
+
+=== Windows: WiX Toolset (Optional)
+
+The Wix Toolset can be used to generate Windows Installer (_.msi_)
+packages. You can download it from the link:http://wixtoolset.org/[WiX
+web site] or install it using Chocolatey:
+
+[source,cmd]
+----
+PS$> choco install wixtoolset
+----
+
+Wireshark’s .msi packaging is currently experimental and the generated
+packages may be incomplete.
+
+=== Windows: PortableApps (Optional)
 
 The PortableApps.com Installer is used to generate
 _WiresharkPortable-{wireshark-version}.paf.exe_ from all the files
index aefa013664aa316c036a9ad4c6c36503ca88b735..c709e0e4c49c0a18d1ae3e1948f9c1677f66fcfe 100644 (file)
@@ -52,7 +52,7 @@ documentation and instead prefer to learn an application as they use it.
 Providing feedback increases your sense of control and awareness, and
 makes the application more enjoyable to use. Most of the Qt dialogs
 provide a “hint” area near the bottom which shows useful information.
-For example, the ``Follow Stream'' dialog shows the packet corresponding
+For example, the “Follow Stream” dialog shows the packet corresponding
 to the text under the mouse. The profile management dialog shows a
 clickable path to the current profile. The main welcome screen shows
 live interface traffic. Most dialogs have a context menu that shows
@@ -64,17 +64,17 @@ Qt Creator is a full-featured IDE and user interface editor. It makes
 adding new UI features much easier. It doesn't work well on Windows at
 the present time, so it’s recommended that you use it on macOS or Linux.
 
-To edit and build Wireshark using Qt Cretor, open the top-level
+To edit and build Wireshark using Qt Creator, open the top-level
 _CMakeLists.txt_ within Qt Creator. It should ask you to choose a build
 location. Do so. It should then ask you to run CMake. Fill in any
-desired build arguments (e.g. "-D CMAKE_BUILD_TYPE=Debug" or "-D
-ENABLE_CCACHE=ON") and click the ``Run CMake'' button. When that
-completes select ``Build → Open Build and Run Kit Selector...'' and make
+desired build arguments (e.g. `-D CMAKE_BUILD_TYPE=Debug` or `-D
+ENABLE_CCACHE=ON`) and click the btn:[Run CMake] button. When that
+completes select menu:Build[Open Build and Run Kit Selector...] and make
 sure _wireshark_ is selected.
 
-Note that Qt Creator uses output created by CMake’s *CodeBlocks*
+Note that Qt Creator uses output created by CMake’s “CodeBlocks”
 generator. If you run CMake outside of Qt Creator you should use the
-``CodeBlocks - Unix Makefiles'' generator, otherwise Qt Creator will
+“CodeBlocks - Unix Makefiles” generator, otherwise Qt Creator will
 prompt you to re-run CMake.
 
 ==== Source Code Overview
index 59b1297c7c7486c975d0eaa3dd098ddcac332992..f4b713c3eb48904badacd245ffafa7e7bafd59a7 100644 (file)
@@ -54,8 +54,8 @@ root directory.
 Dumpcap:: The capture engine itself. This is the only part that is to execute
 with elevated privileges. Source code is in the root directory.
 
-WinPcap and libpcap:: These are separate libraries that provide packet capture
-and filtering support on different platforms. The filtering WinPcap and libpcap
+Npcap and libpcap:: These are separate libraries that provide packet capture
+and filtering support on different platforms. The filtering in Npcap and libpcap
 works at a much lower level than Wireshark’s display filters and uses a
 significantly different mechanism. That’s why we have different display and
 capture filter syntaxes.
@@ -74,7 +74,7 @@ privileges, allowing the main part of the code (dissectors, user interface,
 etc) to run with normal user privileges.
 
 To hide all the low-level machine dependent details from Wireshark, the libpcap
-and WinPcap (see <<ChLibsPcap>>) libraries are used. These libraries provide a
+and Npcap (see <<ChLibsPcap>>) libraries are used. These libraries provide a
 general purpose interface to capture packets and are used by a wide variety of
 applications.