It is commonly said, at least in Microsoft circles, that Linux is free if you do not value your time. But is that really true, given the ease of installing and updating software under Linux?
Today I needed to install a Windows-only budgeting program called Profitplanner on our Windows 2003 server. This process was straightforward enough, just a ZIP download which needed extracting and installing.
Whilst the install worked fine, it warned that I needed to install the Microsoft Visual J# 2.0 Redistributable package, and gave me a link so to do.
Unfortunately the Download button on the Microsoft website would not work in Internet Explorer 8, forcing me to use Chrome instead.
Having downloaded the executable I then tried to install it, but no good – it needed .NET installed first.
The link provided did not take me to the application download page, but instead took me to the main Microsoft download page, where there were 1042 results for “.NET framework”.
The instruction was to install .NET “2.0/3.0″, which I take to mean either 2.0 or 3.0. Even filtering for Windows Server 2003 R2 results in 78 results – 5 pages – including service packs, updates, patches, SDKs etc. There seems to be know way of filtering the results further, leaving me manually searching for Application entries.
I then realised that I should have checked that I don’t already have it installed already, even though it had told me that I hadn’t. Sure enough I did indeed already have .NET Framework 4 installed. Do I really need to install 2.0 or 3.0 alongside it?
I decided to attempt a fresh installation of the .NET Framework 4, but doing so merely told me what I already knew – that it was already installed. The conclusion had to be that that I needed an older version of .NET than that currently on my system, or perhaps a newer version of Visual J#? I searched for the latter first, but 2.0 does indeed appear to be the newest version.
Going down the tack of installing an older version of .NET, a Google search suggested that 3.5 might include versions 2.0 and 3.0. I would have assumed that 4.0 is just a development of that, but who knows – at this stage it is worth a try. I downloaded and attempted to install, but then realised that I have inadvertently downloaded the web installer, which just kept restarting, possibly our proxy server getting in the way. I search again, this time for the redistributable package, and downloaded that.
I then tried to install J#, but again it insisted on 2.0 of the .NET Framework.
Only then did I realise that I had installed the .NET Compact Framework.
Yes this was completely my fault, but mistakes like this are inevitable when using the Microsoft Download Centre, as you are offered a bewildering array of similarly named downloads.
I uninstall the .NET Compact Framework, and search again, eventually finding the 3.5 redistributable listed at the bottom of the .NET Framework 3.5 web installer page. The 197mb download (there are Linux distributions smaller than that) took a while to download and even longer to install. Eventually it completed successfully.
Installing J# now worked, so clearly 3.5 worked where 4.0 did not. With J# installed I was then able to easily install Profitplanner.
Success at last.
Having gone through the above craziness, it occurred to me that .NET is a supported CrossOver Linux application, and J# is probably easily installed as well… 10 minutes later I had a CrossOver bottle with a working copy of ProfitPlanner.
Perhaps unusually it was actually simpler to install a Windows application under Linux than it was under Windows.

.net framework 1, 2, and 4 are independent and run alongside each other. Your problem was that you didn’t just do what it told you to. Also there is an installer from MS that installs the relevant one which the 3rd party developer could have included so a bit lame to blame the OS for the programs bad installer/lack of docs.
Try dealing with conflicting dependencies in managed packages under linux and then tell me if that wastes less time than googling an installer!
It prompted me to install version “2.0/3.0″ which is hardly helpful.
I would also say that generally version numbers are sequential, not parallel. If Microsoft are breaking that paradigm, then they should expect confusion to follow.
Dependency conflicts under Linux are rare these days, certainly I haven’t encountered one in Debian for a very long time. Other distributions may be different of course.
Sequential in features but not in compatibility. It is more common that major point releases are breaking and minor point releases are compatible. Python 2.6 and 3 are one of many examples on linux. Maintaining compatibiliy whilst avoiding bloat when changing features is a general problem with the release process across computing. It is a bit unfair and contrived to say that it is an example of an advantage of linux.
I still think that it was natural for me to assume that the later version would replace the earlier versions, but I do take your point about Python – Linux is not immune to such confusions! Except that under Linux I would not have had to make that decision – the package manager would have done that for me (depending on the specific package manager).
And even had I chosen to download .NET 2.0 or 3.0 my experience would have been virtually the same, I would still have been unable to download using IE8 because of a website bug, I would still have been left hunting for it around the hopeless Download Center, I would still have had a poor and time consuming experience.
And yes the 3rd party developer could have made this easier.
My point was only that all too often Linux is pointed out as being difficult, or time-consuming, and here was an example where the opposite was true, I stand by that.