summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build_releases.yml3
-rw-r--r--.gitignore3
-rw-r--r--wix/License.rtfbin0 -> 1261 bytes
-rw-r--r--wix/main.wxs214
4 files changed, 215 insertions, 5 deletions
diff --git a/.github/workflows/build_releases.yml b/.github/workflows/build_releases.yml
index ef030897..7f12510a 100644
--- a/.github/workflows/build_releases.yml
+++ b/.github/workflows/build_releases.yml
@@ -251,8 +251,7 @@ jobs:
env:
BTM_GENERATE: ""
run: |
- cargo install cargo-wix --version 0.3.1 --locked
- cargo wix init
+ cargo install cargo-wix --version 0.3.8 --locked
cargo wix
- name: Generate artifact attestation for file
diff --git a/.gitignore b/.gitignore
index a89e65d3..5619dc9b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,9 +24,6 @@ rust-unmangle
# For testing
sample_configs/testing*.toml
-# Wix
-/wix/
-
# Cargo-deny
deny.toml
diff --git a/wix/License.rtf b/wix/License.rtf
new file mode 100644
index 00000000..40904bec
--- /dev/null
+++ b/wix/License.rtf
Binary files differ
diff --git a/wix/main.wxs b/wix/main.wxs
new file mode 100644
index 00000000..bfc19402
--- /dev/null
+++ b/wix/main.wxs
@@ -0,0 +1,214 @@
+<?xml version='1.0' encoding='windows-1252'?>
+<!--
+ Copyright (C) 2017 Christopher R. Field.
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!--
+ The "cargo wix" subcommand provides a variety of predefined variables available
+ for customization of this template. The values for each variable are set at
+ installer creation time. The following variables are available:
+
+ TargetTriple = The rustc target triple name.
+ TargetEnv = The rustc target environment. This is typically either
+ "msvc" or "gnu" depending on the toolchain downloaded and
+ installed.
+ TargetVendor = The rustc target vendor. This is typically "pc", but Rust
+ does support other vendors, like "uwp".
+ CargoTargetBinDir = The complete path to the directory containing the
+ binaries (exes) to include. The default would be
+ "target\release\". If an explicit rustc target triple is
+ used, i.e. cross-compiling, then the default path would
+ be "target\<CARGO_TARGET>\<CARGO_PROFILE>",
+ where "<CARGO_TARGET>" is replaced with the "CargoTarget"
+ variable value and "<CARGO_PROFILE>" is replaced with the
+ value from the "CargoProfile" variable. This can also
+ be overridden manually with the "target-bin-dir" flag.
+ CargoTargetDir = The path to the directory for the build artifacts, i.e.
+ "target".
+ CargoProfile = The cargo profile used to build the binaries
+ (usually "debug" or "release").
+ Version = The version for the installer. The default is the
+ "Major.Minor.Fix" semantic versioning number of the Rust
+ package.
+-->
+
+<!--
+ Please do not remove these pre-processor If-Else blocks. These are used with
+ the `cargo wix` subcommand to automatically determine the installation
+ destination for 32-bit versus 64-bit installers. Removal of these lines will
+ cause installation errors.
+-->
+<?if $(sys.BUILDARCH) = x64 or $(sys.BUILDARCH) = arm64 ?>
+ <?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
+<?else ?>
+ <?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
+<?endif ?>
+
+<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
+
+ <Product
+ Id='*'
+ Name='bottom'
+ UpgradeCode='3C90C27D-8372-4C82-B03C-020393CB983D'
+ Manufacturer='Clement Tsang'
+ Language='1033'
+ Codepage='1252'
+ Version='$(var.Version)'>
+
+ <Package Id='*'
+ Keywords='Installer'
+ Description='A customizable cross-platform graphical process/system monitor for the terminal. Supports Linux, macOS, and Windows.'
+ Manufacturer='Clement Tsang'
+ InstallerVersion='450'
+ Languages='1033'
+ Compressed='yes'
+ InstallScope='perMachine'
+ SummaryCodepage='1252'
+ />
+
+ <MajorUpgrade
+ Schedule='afterInstallInitialize'
+ DowngradeErrorMessage='A newer version of [ProductName] is already installed. Setup will now exit.'/>
+
+ <Media Id='1' Cabinet='media1.cab' EmbedCab='yes' DiskPrompt='CD-ROM #1'/>
+ <Property Id='DiskPrompt' Value='bottom Installation'/>
+
+ <Directory Id='TARGETDIR' Name='SourceDir'>
+ <Directory Id='$(var.PlatformProgramFilesFolder)' Name='PFiles'>
+ <Directory Id='APPLICATIONFOLDER' Name='bottom'>
+ <!--
+ Disabling the license sidecar file in the installer is a two step process:
+
+ 1. Comment out or remove the `Component` tag along with its contents.
+ 2. Comment out or remove the `ComponentRef` tag with the "License" Id
+ attribute value further down in this file.
+ -->
+ <Component Id='License' Guid='*'>
+ <File Id='LicenseFile'
+ DiskId='1'
+ Source='wix\License.rtf'
+ KeyPath='yes'/>
+ </Component>
+
+ <Directory Id='Bin' Name='bin'>
+ <Component Id='Path' Guid='15D841CF-0363-4DBB-BF55-ECCB43B9EB03' KeyPath='yes'>
+ <Environment
+ Id='PATH'
+ Name='PATH'
+ Value='[Bin]'
+ Permanent='no'
+ Part='last'
+ Action='set'
+ System='yes'/>
+ </Component>
+ <Component Id='binary0' Guid='*'>
+ <File
+ Id='exe0'
+ Name='btm.exe'
+ DiskId='1'
+ Source='$(var.CargoTargetBinDir)\btm.exe'
+ KeyPath='yes'/>
+ </Component>
+ </Directory>
+ </Directory>
+ </Directory>
+ </Directory>
+
+ <Feature
+ Id='Binaries'
+ Title='Application'
+ Description='Installs all binaries and the license.'
+ Level='1'
+ ConfigurableDirectory='APPLICATIONFOLDER'
+ AllowAdvertise='no'
+ Display='expand'
+ Absent='disallow'>
+ <!--
+ Comment out or remove the following `ComponentRef` tag to remove
+ the license sidecar file from the installer.
+ -->
+ <ComponentRef Id='License'/>
+
+ <ComponentRef Id='binary0'/>
+
+ <Feature
+ Id='Environment'
+ Title='PATH Environment Variable'
+ Description='Add the install location of the [ProductName] executable to the PATH system environment variable. This allows the [ProductName] executable to be called from any location.'
+ Level='1'
+ Absent='allow'>
+ <ComponentRef Id='Path'/>
+ </Feature>
+ </Feature>
+
+ <SetProperty Id='ARPINSTALLLOCATION' Value='[APPLICATIONFOLDER]' After='CostFinalize'/>
+
+
+ <!--
+ Uncomment the following `Icon` and `Property` tags to change the product icon.
+
+ The product icon is the graphic that appears in the Add/Remove
+ Programs control panel for the application.
+ -->
+ <!--<Icon Id='ProductICO' SourceFile='wix\Product.ico'/>-->
+ <!--<Property Id='ARPPRODUCTICON' Value='ProductICO' />-->
+
+ <Property Id='ARPHELPLINK' Value='https://clementtsang.github.io/bottom/stable'/>
+
+ <UI>
+ <UIRef Id='WixUI_FeatureTree'/>
+ <!--
+ Disabling the EULA dialog in the installer is a two step process:
+
+ 1. Uncomment the following two `Publish` tags
+ 2. Comment out or remove the `<WiXVariable Id='WixUILicenseRtf'...` tag further down
+
+ -->
+ <!--<Publish Dialog='WelcomeDlg' Control='Next' Event='NewDialog' Value='CustomizeDlg' Order='99'>1</Publish>-->
+ <!--<Publish Dialog='CustomizeDlg' Control='Back' Event='NewDialog' Value='WelcomeDlg' Order='99'>1</Publish>-->
+
+ </UI>
+
+ <!--
+ Disabling the EULA dialog in the installer requires commenting out
+ or removing the following `WixVariable` tag
+ -->
+ <WixVariable Id='WixUILicenseRtf' Value='wix\License.rtf'/>
+
+
+ <!--
+ Uncomment the next `WixVariable` tag to customize the installer's
+ Graphical User Interface (GUI) and add a custom banner image across
+ the top of each screen. See the WiX Toolset documentation for details
+ about customization.
+
+ The banner BMP dimensions are 493 x 58 pixels.
+ -->
+ <!--<WixVariable Id='WixUIBannerBmp' Value='wix\Banner.bmp'/>-->
+
+
+ <!--
+ Uncomment the next `WixVariable` tag to customize the installer's
+ Graphical User Interface (GUI) and add a custom image to the first
+ dialog, or screen. See the WiX Toolset documentation for details about
+ customization.
+
+ The dialog BMP dimensions are 493 x 312 pixels.
+ -->
+ <!--<WixVariable Id='WixUIDialogBmp' Value='wix\Dialog.bmp'/>-->
+
+ </Product>
+
+</Wix>