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

[release/8.0] wasm-tools: Fix workload manifest MSI ProductVersion generation #91023

Merged
merged 1 commit into from
Aug 24, 2023

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Aug 23, 2023

Backport of #91015 to release/8.0

/cc @joeloff

Customer Impact

Manifest installers for .NET optional workloads rely on performing major upgrades in .NET 6 and 7. This requires that the MSI version increments for new builds. The MSI version was generated using the assembly version. MSI versions should be generated using the major/minor/patch/buildnumber, e.g. 7.0.11.12345. Because the assembly version was being used, the patch value was always set to 0. Due to the bit masking and shift operations used to construct the MSI version, the 3rd part of the version number wrapped around, generating a smaller version for a newer release. MSI ProductVersion is only 32-bits in size (8-bit major, 8-bit minor and 16-bit build number).

While 8.0 is using SxS manifests, having MSIs with lower version can result in manifest validation errors when inserting to VS. It will also be confusing to ship MSIs with lower version in newer releases. If we ever decide to flip back to upgradable manifest installers, the versioning issues will block the CLI from correctly installing updates.

Testing

Verification has to be manual using Orca to inspect the MSI product version along with the component manifest for the generated workload that flows to VS.

Risk

Low, the fix has been validated for .NET 6 and 7 as part of the September servicing release.

@ghost
Copy link

ghost commented Aug 23, 2023

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

Issue Details

Backport of #91015 to release/8.0

/cc @joeloff

Customer Impact

Testing

Risk

IMPORTANT: If this backport is for a servicing release, please verify that:

  • The PR target branch is release/X.0-staging, not release/X.0.

  • If the change touches code that ships in a NuGet package, you have added the necessary package authoring and gotten it explicitly reviewed.

Author: github-actions[bot]
Assignees: -
Labels:

area-Infrastructure-libraries

Milestone: -

@carlossanlop carlossanlop changed the title [release/8.0] [release/7.0] wasm-tools: Fix workload manifest MSI ProductVersion generation [release/8.0] wasm-tools: Fix workload manifest MSI ProductVersion generation Aug 23, 2023
@ghost
Copy link

ghost commented Aug 23, 2023

Tagging subscribers to this area: @directhex
See info in area-owners.md if you want to be subscribed.

Issue Details

Backport of #91015 to release/8.0

/cc @joeloff

Customer Impact

Testing

Risk

IMPORTANT: If this backport is for a servicing release, please verify that:

  • The PR target branch is release/X.0-staging, not release/X.0.

  • If the change touches code that ships in a NuGet package, you have added the necessary package authoring and gotten it explicitly reviewed.

Author: github-actions[bot]
Assignees: -
Labels:

area-Infrastructure-mono

Milestone: -

@carlossanlop
Copy link
Member

@joeloff can you please fill out the template and get a code review sign-off? This looks infra, so I am assuming it's tell mode, in which case it's automatically approved (unless you tell me otherwise).

Note: I can merge it for you to bypass the merge restriction. No need to click on "Update branch", or that will restart the CI (unless you really really need to rebase your PR). But I'll also wait for the main PR to get merged first.

@joeloff
Copy link
Member

joeloff commented Aug 24, 2023

I ported this because the same fixes are going into servicing for September and need this fixed in 8.0 before GA and before we ship that in VS. Main is 9.0 and not shipping anywhere.

Not really an infra change - it's fixing a versioning bug that has functional impact on the CLI and VS. Can you point to the template?

@carlossanlop
Copy link
Member

Not really an infra change - it's fixing a versioning bug that has functional impact on the CLI and VS

Ok thanks for confirming. In that case, we need an M2 approval. @jeffschwMSFT is this in your area?

Can you point to the template?

Yes, it's in the main description textbox of this PR. It was automatically generated.

@carlossanlop carlossanlop added the Servicing-approved Approved for servicing release label Aug 24, 2023
@carlossanlop
Copy link
Member

The 6.0 and 7.0 equivalent PRs have been merged. Awaiting confirmation to merge this one too.

@carlossanlop carlossanlop merged commit 5d92883 into release/8.0 Aug 24, 2023
14 of 20 checks passed
@carlossanlop carlossanlop deleted the backport/pr-91015-to-release/8.0 branch August 24, 2023 16:32
@leecow leecow added this to the 6.0.22 milestone Aug 24, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Sep 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants