diff options
author | L. E. Segovia <amy@centricular.com> | 2024-11-25 18:58:43 -0300 |
---|---|---|
committer | GStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org> | 2024-11-29 22:59:39 +0000 |
commit | 9737f084498b9a44e78b05ce5a297d925086ea67 (patch) | |
tree | 9aa73c4d54dd3a36afa66ac983c46a344c2fde7e | |
parent | 6958f3cd6412e28d5e9d1975267726f304cb8c0f (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.py | 81 |
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(' ', '') |