summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorL. E. Segovia <amy@centricular.com>2024-11-24 22:07:09 +0000
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>2024-11-29 22:59:39 +0000
commit6958f3cd6412e28d5e9d1975267726f304cb8c0f (patch)
tree7b303472ebbfef3a01a2ea1c90e4e69b3312523d
parente0be44a2e2d3afe45ae8274556b99bdb3f1a50fd (diff)
WiX: conditionally disable sharding when cross-building
Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/1555>
-rw-r--r--cerbero/packages/wix.py12
-rw-r--r--data/wix/installer.wxs2
2 files changed, 12 insertions, 2 deletions
diff --git a/cerbero/packages/wix.py b/cerbero/packages/wix.py
index a0bbdafc..ae488805 100644
--- a/cerbero/packages/wix.py
+++ b/cerbero/packages/wix.py
@@ -442,6 +442,7 @@ class MSI(WixBase):
if not self.product:
raise RuntimeError
self._add_include()
+ self._add_compression(not config.cross_compiling())
self._customize_ui()
self._add_vs_properties()
@@ -456,6 +457,17 @@ class MSI(WixBase):
inc = etree.PI('include %s' % self.wix_config)
self.root.insert(0, inc)
+ def _add_compression(self, shard):
+ mediatemplate = etree.SubElement(
+ self.product,
+ 'MediaTemplate',
+ EmbedCab='yes',
+ CompressionLevel='$(var.Compression)',
+ )
+ if shard:
+ # On Wine this yields corrupted sharded cabinets.
+ mediatemplate.set('MaximumUncompressedMediaSize', '50')
+
def _fill(self):
self._add_install_dir()
if isinstance(self.package, App):
diff --git a/data/wix/installer.wxs b/data/wix/installer.wxs
index 28ff82dd..820ad408 100644
--- a/data/wix/installer.wxs
+++ b/data/wix/installer.wxs
@@ -2,8 +2,6 @@
<Package Language="$(var.Language)" Manufacturer="$(var.Manufacturer)" Name="$(var.ProductName)" UpgradeCode="$(var.UpgradeCode)" Version="$(var.Version)" ProductCode="$(var.ProductID)">
<SummaryInformation Description="$(var.Description)" Manufacturer="$(var.Manufacturer)"/>
- <MediaTemplate EmbedCab="yes" MaximumUncompressedMediaSize="50" CompressionLevel="$(var.Compression)"/>
-
<!-- Upgrades -->
<MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed. Setup will now exit"/>