Search code examples
asp.net-coreiisiis-expressparallelswindows-11

Ideas on how to get around Windows 11 ARM not supporting IIS


My new Macbook Pro running on an M1 Max (ARM) chip just came in. I installed Parallels and Windows 11 Preview for ARM, and Visual Studio installs / launches / builds my solution beautifully. Unfortunately the turn windows features on or off dialog doesn't have the option for installing IIS, and others have posted that this is not supported in Windows 11 for ARM.

Our dev team runs multiple ASP.NET Core 3.1 websites locally under IIS using subdomains, e.g.: https://auth-dev.mydomain.com, https://web-dev.mydomain.com, https://webapi-dev.mydomain.com. This was easy to set up in IIS using the bindings dialog, I could specify for port 443 (https) to use a certain subdomain and our dev SSL certificate.

Now I need to figure out how to make this work on Windows 11 ARM. Developing on an inferior non-Macbook Pro laptop doesn't seem like a great solution for .NET devs, I have to assume others with M1 chip Macbook Pros have run into this same issue. What are my options?

I first started looking into using IIS Express, but it seems like every website has to run on a different port, whereas I need them all to run on port 80 (just with different subdomains.) I'd be fine with them running on different ports if there was a way to forward those various ports to the subdomains, but it doesn't seem like the windows HOSTS file supports that.

I also looked into using the Apache web server for Windows, but I read somewhere that it doesn't support running ASP.NET Core apps.


Solution

  • OS build 22563.1 supports IIS. I'm not sure if this is the first build that supports it, but I checked after the last automatic windows update and the IIS features are available; they were not before. I am on a m1 Mac using Parallels with the Windows Insider Preview ARM image.

    • Edition: Windows 11 Pro OS
    • Build: 22563.1
    • Experience: Windows Feature Experience Pack 1000.22563.1.0