Version 2.4 switched to the catalog-0001.xml file. The new catalog file
is using SHA-256 hashes and signatures.
Signed-off-by: Simon Rozman <simon@rozman.si>
Versions 2.2 and 2.3 require to update to 2.4 first (to fix Active Setup
issue which works for minor updates only), before updating to 2.5
(requires major update).
The 2.5 and beyond updates will have to be visible to 2.4 version only.
Therefore, we switch the Updater in 2.4 to a new catalog file. While the
2.4 update itself needs to be published to the existing catalog file to
instruct pre-2.4 versions to update to 2.4.
In other words:
- include\UpdaterCfg.h is about checking for future releases
- Makefile publish is about upgrading the past releases
This is also an excellent opportunity to phase out SHA-1.
Updater will treat all hashes as SHA-256 when checking for updates in
the new catalog - the future releases.
While we keep hashing and signing the old catalog file using SHA-1 - for
past releases.
Signed-off-by: Simon Rozman <simon@rozman.si>
This reverts commit 2363016a76a1fdc1bac30e4b4771a4a97f058a81.
Due to Active Setup StubPath bug in already deployed MSI packages we can
fix automatically using minor update only, we cannot change the
component GUIDs just yet.
Signed-off-by: Simon Rozman <simon@rozman.si>
This reverts commit f8f20f3667d0c5d2844f2a926146ab1714d2d1ed.
Due to Active Setup StubPath bug in already deployed MSI packages we can
fix automatically using minor update only, we cannot change the
component GUIDs just yet.
Signed-off-by: Simon Rozman <simon@rozman.si>
As the language and platform-dependent component GUIDs changed and we
wish to retain the original destination folders and filenames the
RemoveExistingProducts custom action is now invoked differently
according to the version of the product we are upgrading.
When we are upgrading an old package with legacy component GUIDs, we're
uninstalling it before installing the new one.
When we will be upgrading a modern package with platform/language
dependent component GUIDs, we will remove the leftover components after
installing the new one.
This should deliver compatible upgrades of existing versions while
providing optimal upgrading in the future.
Signed-off-by: Simon Rozman <simon@rozman.si>