Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use UpgradeCode for matching MSI apps #2418

Merged
merged 16 commits into from Aug 15, 2022
Merged

Conversation

florelis
Copy link
Member

@florelis florelis commented Aug 4, 2022

This change adds support for using an installer's UpgradeCode from the AppsAndFeaturesEntries for matching against the installed apps.

  • Added a new version of the index interface to create a new table for holding the UpgradeCode and a new version of the SearchResultsTable
  • Added UpgradeCode as a PackageVersionMultiProperty and SystemReferenceString
  • Updated ARP correlation to also consider UpgradeCode
  • Updated the ProductCode and PackageFamilyName tables to also include the data from AppsAndFeaturesEntries
  • Added extraction of the UpgradeCode for MSI apps when reading the ARP

Closes #1145

Microsoft Reviewers: Open in CodeFlow

@florelis florelis requested a review from a team as a code owner August 4, 2022 21:33
@ghost ghost added Area-Manifest This may require a change to the manifest Issue-Feature This is a feature request for the Windows Package Manager client. labels Aug 4, 2022
@github-actions

This comment was marked as resolved.

@github-actions

This comment was marked as resolved.

Comment on lines +80 to +81
// There is no UpgradeCodes key on the x86 view of the registry
Registry::Key upgradeCodesKey = Registry::Key::OpenIfExists(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Installer\\UpgradeCodes", 0, KEY_READ | KEY_WOW64_64KEY);
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small important change since the review to fix test failure.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It does make sense that these would only be stored in the OS architecture.

@JohnMcPMS
Copy link
Member

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@florelis florelis merged commit a864c82 into microsoft:master Aug 15, 2022
@florelis florelis deleted the upgradeCode branch August 15, 2022 18:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Manifest This may require a change to the manifest Issue-Feature This is a feature request for the Windows Package Manager client.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add MSI UpgradeCode to manifest
2 participants