I read that some versions of .Net do come pre-installed on Windows 7.
To be consistent, shouldn’t that mean that the latest version of .Net and Silverlight should come pre-installed on Windows?
As a developer, it sure would make conceiving, chosing architecture for, and deploying applications easier knowing the existence of the runtime wasn’t an issue.
Since at least XP sp3, Windows has always shipped with the latest version of .Net available at the time of RTM. Additionally, it is available via Windows Update. Beyond this, though, it would be a bad idea to add it to a particular manufacturing run mid-stream. Much better to be consistent so customers, support staff, and even developers at least know what to expect from a certain version of the operating system.
Update: For completeness, I need to add that while Windows Server still ships .Net using this same policy, but with the addition that .Net is a feature that you turn on and off like other features, and also like other features it is turned off initially.
I think the way it’s meant to work is that as a developer, you write against a set of components. To deploy, you ensure that your installer brings along any components you depend on. If the target system has them already, all well and good. If not, then you install them.
It’s easier for users and sysadmins if you depend only on relatively common stuff, but it is your choice as a developer.