dotnet / dotnet/aspnetcore

ACNM: Dependency provider use the same key for both arm64 and x64

Open
#65,953 4 comments 0 reactions 1 assignee Claimed by @wtgodbe View on GitHub
area-infrastructure bug feature-installers
Dominant language
C#
Stars
38.4k
Forks
10.9k
Avg merge
2d 6h
Merged PRs (30d)
290

Description

### Is there an existing issue for this?

- [x] I have searched the existing issues

### Describe the bug

When support for arm64 was introduced to [ANCM](https://github.com/dotnet/aspnetcore/pull/38997), the provider key used by the installer was not updated. The dependency provider is used to reference count installations and should track x64 and arm64 installs separately.

This was discovered as part of a customer investigation where ANCM was removed during an upgrade. The provider key was not the root cause of the investigation, but can result in installers making incorrect decisions.

https://github.com/dotnet/aspnetcore/blob/cc983ac5273998e3cb4d76088529a86fada8d980/src/Installers/Windows/AspNetCoreModule-Setup/ANCMV2/AncmV2.wixproj#L18-L19. I think the provider key should just include the lower invariant of the platform in the key.

The issue is present in 8, 9, 10 and 11.

Note for testing: ANCM supports major upgrades, which triggers prior to running the removal of the hosting bundle. While the fix is simple, all the upgrade, repair scenarios should be verified.

### Expected Behavior

_No response_

### Steps To Reproduce

_No response_

### Exceptions (if any)

_No response_

### .NET Version

_No response_

### Anything else?

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.