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

Missing Windows Arm64 installer #3765

Closed
voronoipotato opened this issue Nov 7, 2019 · 16 comments
Closed

Missing Windows Arm64 installer #3765

voronoipotato opened this issue Nov 7, 2019 · 16 comments
Labels
area-setup Issues related to installing .NET Core

Comments

@voronoipotato
Copy link

voronoipotato commented Nov 7, 2019

Missing Windows Arm64 installer

There is currently no installer for Windows Arm64, this should be remedied so that making apps for Arm devices can be easier.

General

I went to the list of installers but did not see Windows Arm64. I currently am using a Surface Pro X, so I am willing and able to test and review any builds needed. The Surface Pro X is actually pretty nice, but it's missing my beloved .net core. I downloaded a zip file that has the Windows ARM64 .net core sdk, which is pretty cool that it's already ready but I would much prefer an installer. Let me know if there's anything I can do and thank you!

@scalablecory
Copy link
Contributor

@terrajobst @richlander

@scalablecory scalablecory added the area-setup Issues related to installing .NET Core label Nov 7, 2019
@voronoipotato
Copy link
Author

voronoipotato commented Nov 7, 2019

If the installer itself is 32 bit that's fine as the emulation layer does work, it's just a bit chunky. So long as the thing it installs is ARM64 :).

@voronoipotato
Copy link
Author

Is there any way I could help with this?

@voronoipotato
Copy link
Author

microsoft/vscode#85326

If vscode works with arm before .net core has an installer for arm, (despite having a build for quite some time) I'm gonna feel pretty sad. Why is this falling off the radar so bad? Does nobody have the rights or knowledge to build an installer?

@dagood
Copy link
Member

dagood commented Dec 5, 2019

/cc @dleeapho @MichaelSimons

An issue I hit a while ago trying to figure out what it would take to make Windows arm64 installers is that the toolset we depend on to make MSIs and the EXE bundle installers doesn't support arm64: https://github.com/dotnet/core-setup/issues/5456.

Building an x86 installer that places arm64 bits and runs via emulation is interesting, I'm not familiar with that capability. It does sound like it could work around the tooling issue, at least.

@voronoipotato
Copy link
Author

Windows 10 for arm can run 32 bit programs albeit slowly and with more battery consumption, presumably you could just stick arm binaries you want to go out in the 32 bit installer. Since it only has to run once, it's not a big deal that it takes a bit more battery power.

@voronoipotato
Copy link
Author

@dagood is there a repository for the .net core installers so that I can create my own ARM64 installer?

@dagood
Copy link
Member

dagood commented Dec 9, 2019

Not just one, each repo that produces installers has the installer creation code inside it:

The SDK installer bundles up the runtime installers, so work would be needed throughout the stack to get it built the same way as the other installers.

I just noticed you mentioned using the zip install, but installer scripts aren't mentioned here--depending on why you want an installer, they might be nice to consider: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script

@voronoipotato
Copy link
Author

I want an installer for two reasons. The first is so that I can run .net applications without slowness, the second is so that if I write an app that gets run on the surface pro x, other people can use it without slowness. While the emulation works it's not a reasonable comparison to native. I love this laptop but it does feel like I'm often hamstrung by apps not being designed with it in mind. If .net apps could run with windows arm64 in mind and is easy to install I could make builds for it. Without an installer though I really can't meaningfully even start.

@dagood
Copy link
Member

dagood commented Jan 6, 2020

A few pointers for the time being until we're able to do this:

The first is so that I can run .net applications without slowness

It shouldn't be too difficult to install using the other methods (zip, or script) for your own use. I understand this isn't something you'd want to do every time you get a new machine or wipe the OS though.

the second is so that if I write an app that gets run on the surface pro x, other people can use it without slowness.

You should try using self-contained deployment (SCD) for this, then they won't need to globally install .NET Core at all. This does result in your app getting larger since it has to carry the whole runtime, but it will make it easy for people to download and run. (You can also look into PublishTrimmed and single-file (unfortunately not fully doc'd yet).)

@richlander
Copy link
Member

Related: dotnet/installer#2068 (comment)

@voronoipotato
Copy link
Author

voronoipotato commented Jan 9, 2020

@dagood thanks, I understand that part of it is just not wanting to increase your bug surface prematurely. I appreciate you taking the time out to read and reply. I've been unzipping and running that because I'm a coward, and I'm scared I'm gonna do something wrong with the script lol. The SCD is a possible interim solution for now. I don't love it but I'll look into it, Trimmed will help. Keep in mind our ARM devices tend to be laptops with less drive space, so SCD is more expensive than on a desktop. If we could get an installer with the nightlies release that @richlander is talking about that would be huge, and if you use an x86 installer it may be as easy as making any other installer. Perhaps I'm being a little blue skies, but it would mean a lot to me if someone tried (or guided me through trying).

@dagood
Copy link
Member

dagood commented Jan 9, 2020

I filed dotnet/runtime#1529 to track the x86 emulation idea, I don't have a firm idea how it fits into our plans at the moment.

Note that dotnet/installer#2068 (comment) does not track an installer, just daily builds for win-arm64, which would be zips.

@be5invis
Copy link

@dagood
WiX added ARM64 support in version 3.14.
ref: wixtoolset/issues#5558 (comment)

@mairaw
Copy link
Contributor

mairaw commented Aug 11, 2021

Closing this since we added Windows ARM64 installers in .NET 5+.

@mairaw mairaw closed this as completed Aug 11, 2021
@voronoipotato
Copy link
Author

I had noticed and had been using them, thank you! I forgot to comment on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-setup Issues related to installing .NET Core
Projects
None yet
Development

No branches or pull requests

6 participants