Skip to content

Conversation

@ericstj
Copy link
Member

@ericstj ericstj commented Oct 9, 2021

This is a cherry-pick of the following 6.0 changes to support blocking installation on ARM64, and moving product detection keys to the host installer.

This also adds installation blocks to both the MacOs and Windows installers.

On Mac:
image

Oct 8 07:16:41 m1test-machine Installer[90765]: Installation checks failed.
Oct 8 07:16:41 m1test-machine Installer[90765]: Installation check failure.  . This package may only be installed on an x64 machine..

On Windows:
image

[E2DC:E310][2021-10-11T07:24:35]i052: Condition 'WixBundleInstalled OR (NOT NativeMachine = 43620) OR DOTNETALLOWINSTALLONARM64' evaluates to false.
[E2DC:E310][2021-10-11T07:24:35]e000: This product is not supported on ARM64.
[E2DC:E310][2021-10-11T07:24:35]e000: Error 0x81f40001: Bundle condition evaluated to false: WixBundleInstalled OR (NOT NativeMachine = 43620) OR DOTNETALLOWINSTALLONARM64

@richlander
Copy link
Member

Nice. The error message is clear. However, we can be more specific and say "Intel-based Mac". That's the language Apple uses. x64 is more Windows/Microsoft language. Not a big deal either way.

The correct casing is actually "Arm64" when used in prose.

Oct 8 07:16:41 m1test-machine Installer[90765]: Installation check failure. . This package

There are two periods in a row.

The error message in the log and the UI are not the same. Align them?

@ericstj
Copy link
Member Author

ericstj commented Oct 11, 2021

The log is not independent. We cannot make that have a different value. I noticed the two periods as well. Not sure why MacOS does that, it's just the way it gets represented in the log.

I will fix up the wording.

@ericstj
Copy link
Member Author

ericstj commented Oct 11, 2021

Another thing to note here is that the x86, x64, and Arm64 SDKs are all getting this blocker on Windows for both 3.1 and 5.0. Let me know if anyone feels differently. I know that it's a little funny to have an Arm64 SDK that blocks installation on Arm64 but that felt to me like the best thing to do given our support policy. That's also why I choose the verbiage "not supported on Arm64".

</bal:Condition>

<bal:Condition Message="This product is not supported on Arm64.">
WixBundleInstalled OR (NOT NativeMachine = $(var.NativeMachine_arm64)) OR DOTNETALLOWINSTALLONARM64
Copy link
Member

Choose a reason for hiding this comment

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

DOTNETALLOWINSTALLONARM64 needs to be defined an overridable variable for users to pass it to the bundle.

@ericstj ericstj merged commit 7c2a210 into dotnet:release/5.0.4xx Oct 11, 2021
ericstj added a commit to ericstj/installer that referenced this pull request Oct 22, 2021
* Remove writing InstallLocation from SDK, it will be handled by host

* Update WiX to signed build (dotnet#12078)

# Conflicts:
#	eng/Versions.props
#	src/finalizer_shim/finalizer_shim.csproj

* Update WiX to 3.14.0.5722 (dotnet#12252)

* Add installation checks to prevent install on ARM64

* Update wording of blockers

* Ensure we allow specifying DOTNETALLOWINSTALLONARM64

Co-authored-by: Jacques Eloff <[email protected]>
ericstj added a commit that referenced this pull request Oct 25, 2021
* [release/5.0.4xx] Backport x64 on ARM64 installer changes  (#12278)

* Remove writing InstallLocation from SDK, it will be handled by host

* Update WiX to signed build (#12078)

# Conflicts:
#	eng/Versions.props
#	src/finalizer_shim/finalizer_shim.csproj

* Update WiX to 3.14.0.5722 (#12252)

* Add installation checks to prevent install on ARM64

* Update wording of blockers

* Ensure we allow specifying DOTNETALLOWINSTALLONARM64

Co-authored-by: Jacques Eloff <[email protected]>

* Permit installation of ARM64 SDK

* Only block installing x64 SDK on ARM64

Co-authored-by: Jacques Eloff <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants