summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorL. E. Segovia <amy@centricular.com>2024-11-25 18:58:43 -0300
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>2024-11-29 22:59:39 +0000
commit9737f084498b9a44e78b05ce5a297d925086ea67 (patch)
tree9aa73c4d54dd3a36afa66ac983c46a344c2fde7e
parent6958f3cd6412e28d5e9d1975267726f304cb8c0f (diff)
WiX: always set the install directory in the Registry when missing
Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/1555>
-rw-r--r--cerbero/packages/wix.py81
1 files changed, 42 insertions, 39 deletions
diff --git a/cerbero/packages/wix.py b/cerbero/packages/wix.py
index ae488805..9464112f 100644
--- a/cerbero/packages/wix.py
+++ b/cerbero/packages/wix.py
@@ -628,45 +628,48 @@ class MSI(WixBase):
# installation folder
name = self._package_var().replace(' ', '')
- # Add INSTALLDIR in the registry only for the runtime package
- if self.package.package_mode == PackageType.RUNTIME:
- regcomponent = etree.SubElement(
- self.installdir, 'Component', Id='RegistryInstallDir', Guid=self._get_uuid()
- )
- regkey = etree.SubElement(
- regcomponent,
- 'RegistryKey',
- Id='RegistryInstallDirRoot',
- ForceCreateOnInstall='yes',
- ForceDeleteOnUninstall='yes',
- Key=self._registry_key(name),
- Root=self.REG_ROOT,
- )
- etree.SubElement(
- regkey,
- 'RegistryValue',
- Id='RegistryInstallDirValue',
- Type='string',
- Name='InstallDir',
- Value='[INSTALLDIR]',
- )
- etree.SubElement(
- regkey,
- 'RegistryValue',
- Id='RegistryVersionValue',
- Type='string',
- Name='Version',
- Value=self.package.version,
- )
- etree.SubElement(
- regkey,
- 'RegistryValue',
- Id='RegistrySDKVersionValue',
- Type='string',
- Name='SdkVersion',
- Value=self.package.sdk_version,
- )
- etree.SubElement(self.main_feature, 'ComponentRef', Id='RegistryInstallDir')
+ # Add INSTALLDIR in the registry only when missing
+ regcomponent = etree.SubElement(
+ self.installdir,
+ 'Component',
+ Id='RegistryInstallDir',
+ Guid=self._get_uuid(),
+ Condition='NOT GSTINSTALLDIR',
+ )
+ regkey = etree.SubElement(
+ regcomponent,
+ 'RegistryKey',
+ Id='RegistryInstallDirRoot',
+ ForceCreateOnInstall='yes',
+ ForceDeleteOnUninstall='yes',
+ Key=self._registry_key(name),
+ Root=self.REG_ROOT,
+ )
+ etree.SubElement(
+ regkey,
+ 'RegistryValue',
+ Id='RegistryInstallDirValue',
+ Type='string',
+ Name='InstallDir',
+ Value='[INSTALLDIR]',
+ )
+ etree.SubElement(
+ regkey,
+ 'RegistryValue',
+ Id='RegistryVersionValue',
+ Type='string',
+ Name='Version',
+ Value=self.package.version,
+ )
+ etree.SubElement(
+ regkey,
+ 'RegistryValue',
+ Id='RegistrySDKVersionValue',
+ Type='string',
+ Name='SdkVersion',
+ Value=self.package.sdk_version,
+ )
+ etree.SubElement(self.main_feature, 'ComponentRef', Id='RegistryInstallDir')
def _add_get_install_dir_from_registry(self):
name = self._package_var().replace(' ', '')