Home Home

Why do I need to install SQL Server for a simple Hello World ASP.NET MVC website?

Arseni Mourzenko
Founder and lead developer, specializing in developer productivity and code quality
June 22, 2015

I needed to create a small server-side web-based application. The application is extremely simple, just a few lines of code. Hosting provider seems to support only PHP and ASP.NET/ASP.NET MVC, and I picked the last one, since the application may later be maintained by .NET developers.

I already had Visual Studio Community 2013 on my machine, but nothing else for ASP.NET MVC development; this was still a good starting point. I launched the IDE and tried to create the project.

It failed with a cryptic error, but after a few attempts, suggested to click on a link in order to install ASP.NET MVC. I clicked, and it installed a bunch of things: Web Platform Installer, a wrong version of ASP.NET MVC, and maybe something else I'm not aware of.

Visual Studio threw some more errors in my face, but ended up creating the project, without creating the associated solution file. Well, it's OK, I can do it myself. The project opened successfully, but refused to compile. After a lot of different attempts, I figured out that I need to shut down Visual Studio in order for it to consider the newly installed ASP.NET MVC DLLs.

Once Visual Studio restarted, it was able to find the DLLs and compiled the project. Running it was still impossible, since, it appears, the version of ASP.NET MVC it installed was not the version it expected. Try figure... Thanks to Stack Overflow, it appeared that I need to manually do the task, so I launched Web Platform Installer and tried to install ASP.NET MVC. What was my surprise when it downloaded 700 MB of data and then asked me... to enter the password for sa account of the database for the Microsoft SQL Server Express it was about to install!

I mean, seriously, installing SQL Server in order to write a hello world app?!

Not surprisingly, the installation process terminated, telling that it failed to install SQL Server, and that everything else (there was a half dozen mandatory products needed for I don't know what) was depending on it, so it wasn't installed either.

This ended my experience with ASP.NET MVC on this machine. I'll wait to have access to another one where all this stuff—databases and I don't know what else—is already installed. In all cases, this is a terrible user experience; if I was a developer who just wanted to discover a new technology, this sort of things would make me stop trying anything from Microsoft.

One cannot possibly throw hundreds of megabytes of stuff and fill the development machine with gigabytes of data and dozens of applications just to let the person try a technology. By comparison, when one wants to try Python with Flask on Linux, he enters exactly two commands, and thirty seconds later, he's ready to create his first application.