diff --git a/.github/workflows/build_releases.yml b/.github/workflows/build_releases.yml index 09a116bb..d0c622bb 100644 --- a/.github/workflows/build_releases.yml +++ b/.github/workflows/build_releases.yml @@ -355,10 +355,12 @@ jobs: run: | choco install dotnet-sdk --pre -y --no-progress; - - name: Install wixtoolset + - name: Install WiX Toolset shell: powershell run: | - choco install -y wixtoolset --no-progress; + dotnet tool install --global wix --version 4.0.6 + "$env:USERPROFILE\.dotnet\tools" | Out-File -FilePath $env:GITHUB_PATH -Append -Encoding utf8 + wix extension add --global WixToolset.UI.wixext/4.0.6 - name: Read Rust version shell: bash @@ -376,16 +378,15 @@ jobs: - name: Install cargo-wix shell: powershell run: | - cargo install cargo-wix --version 0.3.8 --locked + # We use a git version as the newest stable version doesn't support WiX 4 unfortunately. + cargo install cargo-wix --git https://github.com/volks73/cargo-wix --rev 9a8ed9486637e1fb839f209730eda6c95fd12d88 --locked - name: Build MSI file shell: powershell env: BTM_GENERATE: true run: | - Import-Module "$env:ChocolateyInstall/helpers/chocolateyInstaller.psm1" - refreshenv - cargo wix --nocapture + cargo wix --toolset modern --nocapture mv bottom_installer.msi ${{ matrix.info.output }} - name: Generate artifact attestation for file diff --git a/docs/content/contribution/development/build_process.md b/docs/content/contribution/development/build_process.md index ea35ae17..ea9cf2ca 100644 --- a/docs/content/contribution/development/build_process.md +++ b/docs/content/contribution/development/build_process.md @@ -45,13 +45,14 @@ Some builds use [`cross`](https://github.com/cross-rs/cross) to do cross-compila ## MSI -This builds a full Windows installer using [`cargo-wix`](https://github.com/volks73/cargo-wix). This requires some setup beforehand with some dependencies: +This builds a full Windows installer using [`cargo-wix`](https://github.com/volks73/cargo-wix) and [WiX Toolset 4](https://github.com/wixtoolset/wix). +This requires some setup beforehand with some dependencies: - Net-Framework-Core (handled by Powershell) -- wixtoolset (handled by chocolatey) +- WiX Toolset 4 (needs to be separately installed on GitHub runners as a .NET tool) - Rust toolchain -After that, cache is enabled, and `cargo wix` takes care of the rest. +After that, `cargo wix` takes care of the rest. ## `.deb` diff --git a/wix/main.wxs b/wix/main.wxs index 15bfce29..8fa1ba30 100644 --- a/wix/main.wxs +++ b/wix/main.wxs @@ -1,4 +1,4 @@ - + - - - - - - + - - - + + Version='$(var.Version)' + InstallerVersion='500' + Compressed='yes' + Scope='perUserOrMachine'> - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + AllowAbsent='no'> - + @@ -199,16 +208,17 @@ + AllowAbsent='yes'> + - + - - - - - - - - + 1. Uncomment the following two `Publish` tags + 2. Comment out or remove the ` + + - - + + - + - +