December 27, 2007

To Redist or Not To Redist, That Is The Question

Recently I blogged about issues regarding deploying the .NET Framework 3.5. I was all over the map in terms of my thoughts, and out of the resultant comments came an interesting comment that makes me wonder:

Is it really a violation of the EULA to redist the .NET Framework?

Now I am not a lawyer, and I doubt many people reading my blog are either. However, I invite comments on this subject.

Since my writing style has been distracted as of late ( no doubt because of all the personal hell that I've been going through ) I think I'm just going to stick to a bullet list of thoughts / questions that are on my mind.

1) Microsoft surely wants to cut the red tape and encourage the distribution of the framework as to achieve greater adoption of .NET by ISV's.

2) Silent installs are a fundamental requirement of enterprise deployments so surely there has to be a realistic way of cutting through the red tape ( see #1 ).

3) MSI 4.5 is all about composing applications via micro packages through a seamless installation transaction. Surely, again, that some EULA red tape isn't meant to get in the way of all this.

4) Microsoft makes the entire framework available as a free / unregistered download and they call it "Full Redistributable Package". Is it really redistributable, or is it not really redistributable?

I've seen it mentioned that an MSI package is `cleaner` without a setup.exe, without any redist packages and to simply block the install with an AppSearch/LaunchCondition type pattern. I'd say in certain circumstances that is true. However, I've also worked on some really exotic installs in my time. Some of them were years ahead of MSI 4.5 in terms of distributing literally dozens of redist packages in support of a primary product install. The teams I've supported integrated a lot of different technologies in a product line development environment and you couldn't eliminate the dependencies or tell a project manager that they needed to be installed individually. The expectation was for a seamless automated installation.

I feel myself wanting to go in left field so I'll end it with I invite your comments below.

1 comment:

ShadowWolf said...

I hate to kinda go against myself before, but I think as an ISV you have to be realistic and understand that not installing your dependent files is a bad user experience in many cases.

Look at Team Foundation Server as a case-in-point for that. That install is monsterous, painful, and starts you off with a really bad impression of the product as a whole. No amount of prettiness or configuration it does makes up for the fact that you have to install 3 dependent packages just to get the installation going. Not to mention the service packs and updates (one of which is even included on the CD-ROM!).

I know it's kinda hypocritical, but there is always a time to be realistic. The EULA on the .NET framework needs to be changed to be freely redistributable and installable any way you wish.

Is it a violation to redist the .NET Framework like that? Yeah probably. But can the EULA possibly cost you customers who are too frustrated or can't be bothered to download the .NET Framework? Once again, yes.

I know Microsoft provides some kind of thing where you can get permission to redist it silently, but I don't know what's involved.

(oh yeah - I am the user bryanwolf from the Macrovision communities :-))