IIS and other Microsoft proprietary software
Hmm, so I have to migrate an IIS server from a computer to an other one. This is amazing how such simple tasks can be complexe on Windows. First thing, as with most Windows programs, they don't use a simple text (or xml) configuration file as any serious program should use. No, they save their configuration in the registry or other binary files hidden everywhere on the system. So you can't handle that yourself, you
HAVE to use the config programs they give you. That could be ok if they gave you some small programs to access/modify the config, for example using a script that call theses programs. But no, the program they give you is a GUI, where you HAVE to use your mouse, and click click click click on each items you want to change. How do I script that ? When you have a few hundreds virtual hosts hosted, that means a few hundreds clicks doing the same thing, to change the same parameter, with a risk of error. And a few hours lost doing this ... When you think it would take only a few seconds to do it if the config was stored in a simple text file.
So they don't want you to access/modify yourself the config (except with their stupid GUI). So how do I migrate my server to an other computer ? Their solution to this problem is to provide you a specific program they have written for that. That means that :
- You depends on them to write this program.
- They don't know exactly your specific problem, so this is not really adapted to your case.
- You have to use (and find) a specific program for each problem.
- Of course, it's not always free.
- They do not have a program for every situations. What about backups for example ?
- Their programs is buggy. And keep some mistakes hidden in the config ... But as you don't really have access to it, it's hard to find them and correct them. Then you have all thoses problems for obscure reasons.
- It's Microsoft, they don't really care about security. Installing the IIS Migration Wizard open big holes on your server, and everything is transfered on an unencrypted connection of course. They don't let you choose how to do things, they do it for your (and as usual they don't do it well, but you have no choice).
- When it doesn't work (and it often does), you can do nothing.
- Of course, this program won't allow you to export the config to anything else than IIS. And this is probably the main reason why they do all that, because they don't want to allow you an easy migration to something else.
So why do they make things as complexe ? There is no technical reason for doing that. The only use for that is to prevent you from moving away from IIS. And people continue to use that ?
I don't understand how someone can use IIS (or any of the Microsoft products I've seen in the last 5 months) for something serious. It's completly fucked up so you can't do anything by yourself, so that it is harder to move away from them. They make your life harder for stupid reasons (to prevent you from moving away from them). And some people don't say anything and continue to use that ... They probably don't know.
I really hate using thoses programs (that's why I don't have Windows on my computers), but unfortunatly sometimes I'm asked to use them because other people made the wrong choice ...
At least I learnt something doing this internship : using proprietary software for serious things is almost never a good choice. That's what I was thinking, but now I'm sure.