This is a long story, but I want to get it down to remember it all.
At work, I have a Core i5-based laptop and a Xeon-based “workstation.” They are both many years old. (To be fair, we’re getting new equipment, but that’s 4 months off.) The laptop is so slow, I don’t even bother to use it for anything other than Lotus Notes. I would run that on the workstation, but Notes apparently can’t be installed in two places at once, like some sort of 25-year-old technology or something.
Already, we’re off to a flying start.
So, to enable working from home, I’ve configured my home machine to have most of the software I use at work, like Visual Studio and SQL Server. Now, at home, I just installed the “Express” version of SQL Server, thinking I wouldn’t need anything else. However, this has caused some consternation as I have to continually switch the database connection string back and forth as I work from the source code in the two different places.
Today, I discovered that SQL Server Express apparently can’t make database changes that require lifting the requirement of foreign key restraints. I mean, that sort of thing worked just fine at work on the “Pro” version, and I didn’t try to investigate it. I just removed the Express version, and went to download the Pro version I had saved in Dropbox. Only, it wasn’t there. That download was too big, and I never put it in Dropbox.
No problem, I’ll just download it from Microsoft.
Now they’re up to version “2014.” You can’t download 2012. Secondly, there’s no way to just download the thing; you have to use their Akamai download widget. So I do. Only, on the forty-second click of the install-and-download process, I clicked the wrong thing, and cancelled the download. All I knew to do was restart the installer of this utility, so I did. And then it said that I still had a version running. So I installed again anyway. Nothing happened. So I tried again, killed the PID, and installed again. Nothing happened. So I ran the program from the Programs list, and… nothing happened. So I finally figured out that I needed to reload the Microsoft download web page, and the download started again.
No one wins any usability points for any part of this process.
I got so frustrated with this process, and how stupid it is for a bunch of really smart people to have created, that I got up and walked away from the computer. While I was calming down, before the restart and retry, Microsoft sent me an email, thanking me for trying software I hadn’t even been able to download as yet. Brilliant. Just… brilliant.
I was keeping my phone on me because my water heater went out today, and I’m waiting on a call from a plumber, so this whole thing is not helping.
So now, after forty-seven more clicks to start the installation of SQL Server Professional 2014, I’m letting it spend 15 minutes installing a fairly-minimal set of options. Options that are going to take 4.5 GB of hard drive space, 2.2 of which, I note, are the “administrative” tools. Are you serious!? Whatever. And so I go on my web site and rant.
While I’m typing this, about 3 dialog boxes popped up and disappeared, apparently cleared by typing normal letters. I have no idea what they were about, but the installation has just finished, and presented me with a system-modal error message saying that it failed. Looking at the summary, I see that the “Database Engine Services” — the one piece I really need — is the part that didn’t install. The reason? “An error occurred during the setup process.” Oh, thanks, Microsoft. That was helpful.
“But, David,” you’ll say to me, “Microsoft provides an error code, and even a hyperlink to the real problem, right there in the installer!” Yes, it does, and it goes to a dead link and a 404 page. Thanks for playing.
The bottom line here is that I’m tired. After 20 years of putting up with this sort of thing, I’m tired of this behavior. Things are NOT LIKE THIS on Linux or Macs. They have their own frustrations, to be sure, but it’s not like this. We all put up with the Windows ecosystem, with its free-versus-pro distinctions of software, its endless clicks to get through installers, its ridiculous and random error message handling, and the disastrous amount of cruft that these sorts of exercises make on our systems. We all accept it as normal. We’ve become habituated to it, and hardly even notice it any more. Well I’m sick of it.
I went into this chapter of my life — of programming on Windows — with great hope. I let my Macbook go back to the company I left, thinking I would jump with both feet back into the Microsoft world again. I’ve made jokes to the effect of “what was I thinking” on various social media sites, but this is sort of the last straw. My patience is completely exhausted at the moment. I know things will be better when my company starts rolling out new hardware, and I’ll have a decent laptop that I can bring home to work on, but it’s still going to be all-Windows-all-the-time, and I just don’t know what to think about that at the moment.
I uninstalled everything related to SQL Server, and started over. The database service wouldn’t start. There was a lot of goose-chasing about SSL certificates, and I got thoroughly confused and mystified with how Windows deals with them. In the end, this blog post fixed my problem.
Spoke too soon. Still doesn’t work. I’m about to give up and do this stupid project on MySQL. Or… Oracle?…