How to install apps? It's a problem
Another issue is how to install anything. Microsoft has trimmed away the Windows Installer service, so Msiexec (the command line for installing a .MSI package) will not work, and most setups will not run.
Microsoft stated at Build that it is working on an installer for Nano Server, which can handle files, permission, services, COM registrations and custom actions; it sounds good, though how many vendors will want to create both MSI and Nano Server installers for their software?
Running DISM gives an idea of what features are available in Nano Server
The DISM tool works for the few built-in features. This leaves a few options for deploying applications:
- Copy files across and perform any necessary registrations manually. Note that you need to open the file sharing ports using ‘netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes’ before you can access the file system across the network.
- Use an automation platform such as Chef and/or PowerShell DSC (Desired State Configuration). Microsoft showed Chef running at Ignite, though it is not clear how you install Chef itself on the preview.
Nano Server should be ideal for running ASP.NET 5.0 applications on .NET Core, and I tried to get this working. I built a basic ASP.NET Preview web application with Visual Studio 2015 and published it to a directory, making sure to deploy the 64-bit and .NET Core version of DNX (.NET Execution Environment).
Then I tried to start the application using the generated script. This should work, since ASP.NET 5.0 is designed to be deployed like this, with all the necessary .NET Libraries contained in the application directory. In my case though I got a NativeCommandError.
A quick call to support; and it turns out that this is a known bug. You need Beta 5 of DNX, whereas Visual Studio 2015 RC comes with Beta 4. I installed DNX Beta 5, but could not persuade Visual Studio 2015 to let go of its attachment to Beta 4, so running an actual ASP.NET app on Nano Server remains a work in progress.