mirror of
https://github.com/Llewellynvdm/starship.git
synced 2024-11-24 13:47:38 +00:00
89fd5320af
* feat(release): add windows msi installers * add install documentation * use intransparent ico-file * run installer tests on push, add continue-on-error
183 lines
8.8 KiB
XML
183 lines
8.8 KiB
XML
<?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 binary (exe). The default would
|
|
be "target\release\<BINARY_NAME>.exe" where
|
|
"<BINARY_NAME>" is replaced with the name of each binary
|
|
target defined in the package's manifest (Cargo.toml). If
|
|
a different rustc target triple is used than the host,
|
|
i.e. cross-compiling, then the default path would be
|
|
"target\<CARGO_TARGET>\<CARGO_PROFILE>\<BINARY_NAME>.exe",
|
|
where "<CARGO_TARGET>" is replaced with the "CargoTarget"
|
|
variable value and "<CARGO_PROFILE>" is replaced with the
|
|
value from the `CargoProfile` variable.
|
|
CargoTargetDir = The path to the directory for the build artifacts, i.e.
|
|
"target".
|
|
CargoProfile = Either "debug" or `release` depending on the build
|
|
profile. The default is "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='starship' UpgradeCode='0E489D6B-0FEA-4B6E-B57F-62DD1E892C46' Manufacturer='Starship Contributors' Language='1033' Codepage='1252' Version='$(var.Version)'>
|
|
|
|
<Package Id='*' Keywords='Installer' Description='The minimal, blazing-fast, and infinitely customizable prompt for any shell! ☄🌌️
|
|
' Manufacturer='Starship Contributors' 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='starship Installation' />
|
|
|
|
<Directory Id='TARGETDIR' Name='SourceDir'>
|
|
<Directory Id='$(var.PlatformProgramFilesFolder)' Name='PFiles'>
|
|
<Directory Id='APPLICATIONFOLDER' Name='starship'>
|
|
|
|
<!--
|
|
Enabling the license sidecar file in the installer is a four step process:
|
|
|
|
1. Uncomment the `Component` tag and its contents.
|
|
2. Change the value for the `Source` attribute in the `File` tag to a path
|
|
to the file that should be included as the license sidecar file. The path
|
|
can, and probably should be, relative to this file.
|
|
3. Change the value for the `Name` attribute in the `File` tag to the
|
|
desired name for the file when it is installed alongside the `bin` folder
|
|
in the installation directory. This can be omitted if the desired name is
|
|
the same as the file name.
|
|
4. Uncomment the `ComponentRef` tag with the Id attribute value of "License"
|
|
further down in this file.
|
|
-->
|
|
<Component Id='License' Guid='*'>
|
|
<File Id='LicenseFile' Name='LICENSE' DiskId='1' Source='LICENSE' KeyPath='yes' />
|
|
</Component>
|
|
|
|
<Directory Id='Bin' Name='bin'>
|
|
<Component Id='Path' Guid='964FD77A-B1CF-4FC4-8F71-8015A879CB9C' 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='starship.exe' DiskId='1' Source='$(var.CargoTargetBinDir)\starship.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'>
|
|
|
|
<!--
|
|
Uncomment the following `ComponentRef` tag to add the license
|
|
sidecar file to 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' />
|
|
|
|
|
|
<!--
|
|
The product icon is the graphic that appears in the Add/Remove
|
|
Programs control panel for the application.
|
|
-->
|
|
<Icon Id='ProductICO' SourceFile='media\icon.ico' />
|
|
<Property Id='ARPPRODUCTICON' Value='ProductICO' />
|
|
|
|
<Property Id='ARPHELPLINK' Value='https://starship.rs/guide/' />
|
|
|
|
<UI>
|
|
<UIRef Id='WixUI_FeatureTree' />
|
|
|
|
<!--
|
|
Enabling the EULA dialog in the installer is a three step process:
|
|
|
|
1. Comment out or remove the two `Publish` tags that follow the
|
|
`WixVariable` tag.
|
|
2. Uncomment the `<WixVariable Id='WixUILicenseRtf' Value='Path\to\Eula.rft'>` tag futher down
|
|
3. Replace the `Value` attribute of the `WixVariable` tag with
|
|
the path to a RTF file that will be used as the EULA and
|
|
displayed in the license agreement dialog.
|
|
-->
|
|
<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>
|
|
|
|
|
|
<!--
|
|
Enabling the EULA dialog in the installer requires uncommenting
|
|
the following `WixUILicenseRTF` tag and changing the `Value`
|
|
attribute.
|
|
-->
|
|
<WixVariable Id='WixUILicenseRtf' Value='install\windows\pkg_resources\license.rtf' />
|
|
|
|
|
|
<!--
|
|
Uncomment the next `WixVaraible` 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='install\windows\pkg_resources\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='install\windows\pkg_resources\Dialog.bmp' />
|
|
|
|
</Product>
|
|
|
|
</Wix> |