This allows us to use `git clean` without risking to loose keypair,
as it was .gitignored and not included in the Git repository.
Signed-off-by: Simon Rozman <simon@rozman.si>
Resource Compiler has an issue with the first line of an UTF-8 .h file.
The workaround is not to begin UTF-8 .h files with anything important.
A blank line would do or a comment.
Signed-off-by: Simon Rozman <simon@rozman.si>
MSVC needs them to use correct charset when Language for non-Unicode
programs is set to Windows-1252 or anything different than UTF-8.
Signed-off-by: Simon Rozman <simon@rozman.si>
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>
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>