diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /comm/mail/installer/windows/msi/installer.wxs | |
parent | Initial commit. (diff) | |
download | thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | comm/mail/installer/windows/msi/installer.wxs | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/comm/mail/installer/windows/msi/installer.wxs b/comm/mail/installer/windows/msi/installer.wxs new file mode 100644 index 0000000000..255bd81e86 --- /dev/null +++ b/comm/mail/installer/windows/msi/installer.wxs @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> + +<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> + +<Product Name="Mozilla Thunderbird $(var.Version) $(var.Architecture) $(var.AB_CD)" + Manufacturer="*" Language="0" Codepage="1252" + Version="$(var.EmbeddedVersionCode)" Id="18d4d2f4-b394-48a2-8886-9c68180cead5" + UpgradeCode="53ba97bb-f0fb-476d-baf5-e2d649f39a31" > + + <Package Id="*" InstallerVersion="200" Compressed="yes" + Platform="$(var.Architecture)" InstallScope ="perMachine"/> + + <!-- We need a CAB to avoid failing an ICE, even though we have no payload. --> + <Media Id="1" Cabinet="setup.cab" EmbedCab="yes" /> + + <!-- We need a component and feature, or msiexec will refuse to load us. --> + <Directory Id="TARGETDIR" Name="SourceDir"> + <Directory Id="TempFolder"> + <Component Id="EmptyComponent" Guid="d7fd8e89-04a4-4dd4-affc-35d8695a50a2"> + <CreateFolder /> + </Component> + </Directory> + </Directory> + + <!-- Setting the feature to level 0 marks it hidden, so it can't be installed. + That prevents getting this MSI registered as an installed product, + because it has no features of its own to install. --> + <Feature Id="EmptyFeature" Level="0"> + <ComponentRef Id="EmptyComponent" /> + </Feature> + + <!-- Embed the installer we want to run directly into the MSI database. --> + <Binary Id="WrappedExe" SourceFile="$(var.ExeSourcePath)" /> + + <!-- User-configurable properties. One of these corresponds to each documented + command-line parameter. Properties cannot be present without a value, + so use a conspicuous and difficult to mistake string for the parameters + that have no real default values. --> + <Property Id="INSTALL_DIRECTORY_PATH" Value="__DEFAULT__" /> + <Property Id="INSTALL_DIRECTORY_NAME" Value="__DEFAULT__" /> + <Property Id="TASKBAR_SHORTCUT" Value="true" /> + <Property Id="DESKTOP_SHORTCUT" Value="true" /> + <Property Id="START_MENU_SHORTCUT" Value="true" /> + <Property Id="INSTALL_MAINTENANCE_SERVICE" Value="true" /> + <Property Id="REMOVE_DISTRIBUTION_DIR" Value="true" /> + <Property Id="PREVENT_REBOOT_REQUIRED" Value="false" /> + <Property Id="OPTIONAL_EXTENSIONS" Value="true" /> + <Property Id="EXTRACT_DIR" Value="__DEFAULT__" /> + + <!-- Always include all of the boolean options on the command line, so we don't + have to conditionally decide when to include each one of them. For the + directory settings though, we can't put them on the command line with the + default values those properties have, so we need a separate action for + each possible configuration of those settings, and conditions to select + the right action to use based on which properties are configured. + WiX throws warning LGHT1076 complaining that these command strings are + too long, but they actually work just fine, the warning is spurious. --> + <CustomAction Id="RunInstallNoDir" Return="check" Execute="deferred" + HideTarget="no" Impersonate="no" BinaryKey="WrappedExe" + ExeCommand="/S /TaskbarShortcut=[TASKBAR_SHORTCUT] /DesktopShortcut=[DESKTOP_SHORTCUT] /StartMenuShortcut=[START_MENU_SHORTCUT] /MaintenanceService=[INSTALL_MAINTENANCE_SERVICE] /RemoveDistributionDir=[REMOVE_DISTRIBUTION_DIR] /PreventRebootRequired=[PREVENT_REBOOT_REQUIRED] /OptionalExtensions=[OPTIONAL_EXTENSIONS] /LaunchedFromMSI" /> + <CustomAction Id="RunInstallDirPath" Return="check" Execute="deferred" + HideTarget="no" Impersonate="no" BinaryKey="WrappedExe" + ExeCommand="/S /InstallDirectoryPath=[INSTALL_DIRECTORY_PATH] /TaskbarShortcut=[TASKBAR_SHORTCUT] /DesktopShortcut=[DESKTOP_SHORTCUT] /StartMenuShortcut=[START_MENU_SHORTCUT] /MaintenanceService=[INSTALL_MAINTENANCE_SERVICE] /RemoveDistributionDir=[REMOVE_DISTRIBUTION_DIR] /PreventRebootRequired=[PREVENT_REBOOT_REQUIRED] /OptionalExtensions=[OPTIONAL_EXTENSIONS] /LaunchedFromMSI" /> + <CustomAction Id="RunInstallDirName" Return="check" Execute="deferred" + HideTarget="no" Impersonate="no" BinaryKey="WrappedExe" + ExeCommand="/S /InstallDirectoryName=[INSTALL_DIRECTORY_NAME] /TaskbarShortcut=[TASKBAR_SHORTCUT] /DesktopShortcut=[DESKTOP_SHORTCUT] /StartMenuShortcut=[START_MENU_SHORTCUT] /MaintenanceService=[INSTALL_MAINTENANCE_SERVICE] /RemoveDistributionDir=[REMOVE_DISTRIBUTION_DIR] /PreventRebootRequired=[PREVENT_REBOOT_REQUIRED] /OptionalExtensions=[OPTIONAL_EXTENSIONS] /LaunchedFromMSI" /> + <CustomAction Id="RunExtractOnly" Return="check" Execute="deferred" + HideTarget="no" Impersonate="no" BinaryKey="WrappedExe" + ExeCommand="/ExtractDir=[EXTRACT_DIR]" /> + + <!-- When we run the custom actions is kind of arbitrary; this sequencing gets + us the least confusing message showing in the MSI progress dialog while + the installer runs. Our actions don't need to be sequenced relative + to one another because only one will ever run. --> + <InstallExecuteSequence> + <Custom Action="RunInstallNoDir" After="ProcessComponents"> + <![CDATA[ + (INSTALL_DIRECTORY_PATH = "__DEFAULT__") AND + (INSTALL_DIRECTORY_NAME = "__DEFAULT__") AND + (EXTRACT_DIR = "__DEFAULT__") + ]]> + </Custom> + <Custom Action="RunInstallDirPath" After="ProcessComponents"> + <![CDATA[ + (INSTALL_DIRECTORY_PATH <> "__DEFAULT__") AND + (INSTALL_DIRECTORY_NAME = "__DEFAULT__") AND + (EXTRACT_DIR = "__DEFAULT__") + ]]> + </Custom> + <Custom Action="RunInstallDirName" After="ProcessComponents"> + <![CDATA[ + (INSTALL_DIRECTORY_NAME <> "__DEFAULT__") AND + (EXTRACT_DIR = "__DEFAULT__") + ]]> + </Custom> + <Custom Action="RunExtractOnly" After="ProcessComponents"> + <![CDATA[ + EXTRACT_DIR <> "__DEFAULT__" + ]]> + </Custom> + </InstallExecuteSequence> +</Product> + +</Wix> |