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

Arseni Mourzenko
Founder and lead developer
June 22, 2015
Tags: short 50 rant 34 user-experience 10

I need­ed to cre­ate a small serv­er-side web-based ap­pli­ca­tion. The ap­pli­ca­tion is ex­treme­ly sim­ple, just a few lines of code. Host­ing provider seems to sup­port only PHP and ASP.NET/ASP.NET MVC, and I picked the last one, since the ap­pli­ca­tion may lat­er be main­tained by .NET de­vel­op­ers.

I al­ready had Vi­su­al Stu­dio Com­mu­ni­ty 2013 on my ma­chine, but noth­ing else for ASP.NET MVC de­vel­op­ment; this was still a good start­ing point. I launched the IDE and tried to cre­ate the pro­ject.

It failed with a cryp­tic er­ror, but af­ter a few at­tempts, sug­gest­ed to click on a link in or­der to in­stall ASP.NET MVC. I clicked, and it in­stalled a bunch of things: Web Plat­form In­staller, a wrong ver­sion of ASP.NET MVC, and maybe some­thing else I'm not aware of.

Vi­su­al Stu­dio threw some more er­rors in my face, but end­ed up cre­at­ing the pro­ject, with­out cre­at­ing the as­so­ci­at­ed so­lu­tion file. Well, it's OK, I can do it my­self. The pro­ject opened suc­cess­ful­ly, but re­fused to com­pile. Af­ter a lot of dif­fer­ent at­tempts, I fig­ured out that I need to shut down Vi­su­al Stu­dio in or­der for it to con­sid­er the new­ly in­stalled ASP.NET MVC DLLs.

Once Vi­su­al Stu­dio restart­ed, it was able to find the DLLs and com­piled the pro­ject. Run­ning it was still im­pos­si­ble, since, it ap­pears, the ver­sion of ASP.NET MVC it in­stalled was not the ver­sion it ex­pect­ed. Try fig­ure... Thanks to Stack Over­flow, it ap­peared that I need to man­u­al­ly do the task, so I launched Web Plat­form In­staller and tried to in­stall ASP.NET MVC. What was my sur­prise when it down­loaded 700 MB of data and then asked me... to en­ter the pass­word for sa ac­count of the data­base for the Mi­crosoft SQL Serv­er Ex­press it was about to in­stall!

I mean, se­ri­ous­ly, in­stalling SQL Serv­er in or­der to write a hel­lo world app?!

Not sur­pris­ing­ly, the in­stal­la­tion process ter­mi­nat­ed, telling that it failed to in­stall SQL Serv­er, and that every­thing else (there was a half dozen manda­to­ry prod­ucts need­ed for I don't know what) was de­pend­ing on it, so it wasn't in­stalled ei­ther.

This end­ed my ex­pe­ri­ence with ASP.NET MVC on this ma­chine. I'll wait to have ac­cess to an­oth­er one where all this stuff—data­bas­es and I don't know what else—is al­ready in­stalled. In all cas­es, this is a ter­ri­ble user ex­pe­ri­ence; if I was a de­vel­op­er who just want­ed to dis­cov­er a new tech­nol­o­gy, this sort of things would make me stop try­ing any­thing from Mi­crosoft.

One can­not pos­si­bly throw hun­dreds of megabytes of stuff and fill the de­vel­op­ment ma­chine with gi­ga­bytes of data and dozens of ap­pli­ca­tions just to let the per­son try a tech­nol­o­gy. By com­par­i­son, when one wants to try Python with Flask on Lin­ux, he en­ters ex­act­ly two com­mands, and thir­ty sec­onds lat­er, he's ready to cre­ate his first ap­pli­ca­tion.