aboutsummaryrefslogtreecommitdiffstats
path: root/packaging/wix/Features.wxi
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2016-04-07 19:03:51 -0400
committerMichael Mann <mmann78@netscape.net>2016-05-11 13:09:17 +0000
commitc34996f970ab003bb8566825b38834de00f5159e (patch)
treefda0c581d87baf3cb0264affaaeb861354f66311 /packaging/wix/Features.wxi
parent980f58bc277df178a15b4c730fb1b0cbd462da0b (diff)
Create a Wix Installer
This is intended to replace the NSIS installer for Windows. It does not include installing WinPcap or USBPcap. From the research I've done, it seems to make more sense to "bundle" them with Wix ("wrapper" installer that would include Wireshark, WinPcap and USBPcap installers together) TODO: 1. Customize installer with Wireshark graphics 2. Better handling flexibility of installing VC CRT Merge module (need build script to provide appropriate macros). Something like (or modifying existing) FindMSVC_REDIST.cmake. 3. Use Wireshark UpgradeProductCode for install/uninstall. Previous NSIS installer did not have an upgrade code, so there are some backwards compatibility concerns. 4. Uninstall considerations (removing whole directories - plugins, configuration profiles?). NSIS needed to do more things "manually" than Wix does by default. Need to merge as best as possible to handle backwards compatibility. Many thanks to Brian Pratt for all the Wix help. Change-Id: Ib50780214fc7707ba2a46fd96ba8797a1763fa0c Reviewed-on: https://code.wireshark.org/review/14858 Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'packaging/wix/Features.wxi')
-rw-r--r--packaging/wix/Features.wxi102
1 files changed, 102 insertions, 0 deletions
diff --git a/packaging/wix/Features.wxi b/packaging/wix/Features.wxi
new file mode 100644
index 0000000000..ba9f0e4765
--- /dev/null
+++ b/packaging/wix/Features.wxi
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Include>
+
+ <!-- User-selectable features -->
+ <Fragment>
+ <Feature Id="Fe.Wireshark" Title="$(var.WiresharkName)" Level="1" AllowAdvertise="yes" Display="expand" Description="The main network protocol analyzer application.">
+ <ComponentGroupRef Id="CG.Wireshark" />
+ <ComponentGroupRef Id="CG.QtDependencies" />
+ <ComponentGroupRef Id="CG.QtTranslations" />
+ <ComponentGroupRef Id="CG.WiresharkStartMenu" />
+ <ComponentGroupRef Id="CG.WiresharkDesktopIcon" />
+ <ComponentGroupRef Id="CG.WiresharkQuickLaunchIcon" />
+ <ComponentGroupRef Id="CG.WiresharkFileAssociations" />
+ </Feature>
+ <Feature Id="Fe.WiresharkRequired" Title="Required" Level="1" AllowAdvertise="yes" Display="hidden" Description="Install for every user">
+ <ComponentGroupRef Id="CG.WiresharkRequired" />
+ <ComponentGroupRef Id="CG.ColorFilters" />
+ <ComponentGroupRef Id="CG.Diameter" />
+ <ComponentGroupRef Id="CG.RadiusDict" />
+ <ComponentGroupRef Id="CG.Dtds" />
+ <ComponentGroupRef Id="CG.Tpncp" />
+ <ComponentGroupRef Id="CG.Wimaxasncp" />
+ <ComponentGroupRef Id="CG.Help" />
+ <ComponentGroupRef Id="CG.RequiredDependencies" />
+
+ </Feature>
+ <Feature Id="Fe.TShark" Title="TShark" Level="1" AllowAdvertise="yes" Display="expand" Description="Text based network protocol analyzer.">
+ <ComponentGroupRef Id="CG.TShark" />
+ </Feature>
+ <?ifdef GTK_DIR?>
+ <Feature Id="Fe.WiresharkGTK" Title="Wireshark 1" Level="1" AllowAdvertise="yes" Display="expand" Description="The classic user interface.">
+ <ComponentGroupRef Id="CG.WiresharkGTK" />
+ <ComponentGroupRef Id="CG.GTKRequiredDependencies" />
+ <ComponentGroupRef Id="CG.GTKSubdirectory" />
+ <ComponentGroupRef Id="CG.WiresharkLegacyStartMenu" />
+ <ComponentGroupRef Id="CG.WiresharkLegacyDesktopIcon" />
+ <ComponentGroupRef Id="CG.WiresharkLegacyQuickLaunchIcon" />
+ <ComponentGroupRef Id="CG.WiresharkLegacyFileAssociations" />
+ </Feature>
+ <?endif?>
+ <Feature Id="Fe.Plugins" Title="Plugins &amp; Extensions" Level="1" AllowAdvertise="yes" Display="expand" Description="Plugins and extensions for both $(var.WiresharkName) and TShark.">
+ <!-- XXX - Cleanup plugins directory on uninstall -->
+ <Feature Id="Fe.Plugins.Dissector" Title="Dissector Plugins" Level="1" AllowAdvertise="yes" Display="expand" Description="Additional protocol dissectors.">
+ <ComponentGroupRef Id="CG.Plugins.Dissector" />
+ </Feature>
+ <Feature Id="Fe.Plugins.TreeStat" Title="Tree Statistics Plugin" Level="1" AllowAdvertise="yes" Display="expand" Description="Extended statistics.">
+ <ComponentGroupRef Id="CG.Plugins.TreeStat" />
+ </Feature>
+ <Feature Id="Fe.Plugins.Mate" Title="Mate - Meta Analysis and Tracing Engine" Level="1" AllowAdvertise="yes" Display="expand" Description="Plugin - Meta Analysis and Tracing Engine (Experimental).">
+ <ComponentGroupRef Id="CG.Plugins.Mate" />
+ </Feature>
+ <Feature Id="Fe.Plugins.ConfigurationProfiles" Title="Configuration Profiles" Level="1" AllowAdvertise="yes" Display="expand" Description="Configuration Profiles">
+ <!-- XXX - Cleanup configuration profiles directory on uninstall -->
+ <ComponentGroupRef Id="CG.Plugins.ConfigurationProfiles" />
+ </Feature>
+ <?ifdef SMI_DIR?>
+ <Feature Id="Fe.Plugins.SNMP" Title="SNMP MIBs" Level="1" AllowAdvertise="yes" Display="expand" Description="SNMP MIBs for better SNMP dissection.">
+ <ComponentGroupRef Id="CG.Plugins.SNMP" />
+ </Feature>
+ <?endif?>
+ </Feature>
+ <Feature Id="Fe.Tools" Title="Tools" Level="1" AllowAdvertise="yes" Display="expand" Description="Additional command line based tools.">
+ <Feature Id="Fe.Tools.Editcap" Title="Editcap" Level="1" AllowAdvertise="yes" Display="expand" Description="Copy packets to a new file, optionally trimmming packets, omitting them, or saving to a different format.">
+ <ComponentGroupRef Id="CG.Tools.Editcap" />
+ </Feature>
+ <Feature Id="Fe.Tools.Text2Pcap" Title="Text2Pcap" Level="1" AllowAdvertise="yes" Display="expand" Description="Read an ASCII hex dump and write the data into a libpcap-style capture file.">
+ <ComponentGroupRef Id="CG.Tools.Text2Pcap" />
+ </Feature>
+ <Feature Id="Fe.Tools.Mergecap" Title="Mergecap" Level="1" AllowAdvertise="yes" Display="expand" Description="Combine multiple saved capture files into a single output file.">
+ <ComponentGroupRef Id="CG.Tools.Mergecap" />
+ </Feature>
+ <Feature Id="Fe.Tools.Reordercap" Title="Reordercap" Level="1" AllowAdvertise="yes" Display="expand" Description="Copy packets to a new file, sorted by time.">
+ <ComponentGroupRef Id="CG.Tools.Reordercap" />
+ </Feature>
+ <Feature Id="Fe.Tools.Capinfos" Title="Capinfos" Level="1" AllowAdvertise="yes" Display="expand" Description="Print information about capture files.">
+ <ComponentGroupRef Id="CG.Tools.Capinfos" />
+ </Feature>
+ <Feature Id="Fe.Tools.Rawshark" Title="Rawshark" Level="1" AllowAdvertise="yes" Display="expand" Description="Raw packet filter.">
+ <ComponentGroupRef Id="CG.Tools.Rawshark" />
+ </Feature>
+ <Feature Id="Fe.Tools.Androiddump" Title="Androiddump" Level="2" AllowAdvertise="yes" Display="expand" Description="Provide capture interfaces from Android devices.">
+ <ComponentGroupRef Id="CG.Tools.Androiddump" />
+ </Feature>
+ <Feature Id="Fe.Tools.Randpktdump" Title="Randpktdump" Level="2" AllowAdvertise="yes" Display="expand" Description="Provide random packet generator.">
+ <ComponentGroupRef Id="CG.Tools.Randpktdump" />
+ </Feature>
+ <!-- WIP: uncomment this section when sshdump on windows will be ready to go
+ <Feature Id="Fe.Tools.Sshdump" Title="Sshdump" Level="1" AllowAdvertise="no" Display="expand" Description="Provide remote capture through SSH.">
+ <ComponentGroupRef Id="CG.Tools.Sshdump" />
+ </Feature>
+ -->
+ </Feature>
+ <?ifdef USER_GUIDE_DIR?>
+ <Feature Id="Fe.UserGuide" Title="User's Guide" Level="1" AllowAdvertise="yes" Display="expand" Description="Install an offline copy of the User's Guide.">
+ <ComponentGroupRef Id="CG.UserGuide" />
+ </Feature>
+ <?endif?>
+ <Feature Id="VCRedist" Title="Visual C++ Runtime" AllowAdvertise="no" Display="hidden" Level="1">
+ <MergeRef Id="VCRedist"/>
+ </Feature>
+ </Fragment>
+</Include>