.NET Framework 3.5

P

Peter Anthony

Can the 3.5 version of .NET Framework (currently Beta 2) be installed on
pre-Vista machines? Or is it Vista-only?

And, why doesn't .NET Framework come pre-installed with the operating
system? I think one of the main reasons people will reject such software is
having to install something first. I understand it might need upgrading, but
why do Windows machines come without any .NET Framework (or am I wrong about
this)?

It seems that .NET Framework should come with any Window OS, and that it
should auto-upgrade ala Windoes Update. It seems antiquated to require the
end-user to install something that is inert unless used, and is the basis of
all managed software written using VS!

Put simply, why isn't managed code supported by Windows NATIVELY?
 
D

David Lowndes

Can the 3.5 version of .NET Framework (currently Beta 2) be installed on
pre-Vista machines? Or is it Vista-only?

It works on XP - haven't tried anything else.
And, why doesn't .NET Framework come pre-installed with the operating
system?

Some newer Windows OS's do have a version of the .Net FW installed as
standard.
I think one of the main reasons people will reject such software is
having to install something first.

And the fact that the something is relatively big (20+MB).
why do Windows machines come without any .NET Framework (or am I wrong about
this)?

The latter.
It seems that .NET Framework should come with any Window OS, and that it
should auto-upgrade ala Windoes Update.

Unless I'm mistaken, I think it is a suggested installation via WU.

Dave
 
B

Ben Voigt [C++ MVP]

Peter Anthony said:
Can the 3.5 version of .NET Framework (currently Beta 2) be installed on
pre-Vista machines? Or is it Vista-only?

And, why doesn't .NET Framework come pre-installed with the operating
system? I think one of the main reasons people will reject such software
is having to install something first. I understand it might need
upgrading, but why do Windows machines come without any .NET Framework (or
am I wrong about this)?

It seems that .NET Framework should come with any Window OS, and that it

It does (all versions since .NET was released).
should auto-upgrade ala Windoes Update. It seems antiquated to require the

It does.
end-user to install something that is inert unless used, and is the basis
of all managed software written using VS!

Put simply, why isn't managed code supported by Windows NATIVELY?

MS Research has a purely managed kernel (Singularity) under development, you
can read about it on their website
http://research.microsoft.com/os/singularity/.

I like a lot of the ideas, you'll actually see performance improvements
based on static type checking instead of runtime checks. I'm not convinced
that the CLR equivalent layer is worthwhile, that may hurt performance, but
using static type analysis to enable high-performance message-passing IPC
should be a real hit.
 
P

Peteroid

OK. THen explain why my boss, who bought his computer this year, required me
to install .NET Framework 3.0 (re-distributable) on his machine before my
application would work, but worked fine once I installed it? If it is
pre-installed, why would I have to do this?
 
B

Ben Voigt [C++ MVP]

Peteroid said:
OK. THen explain why my boss, who bought his computer this year, required
me to install .NET Framework 3.0 (re-distributable) on his machine before
my application would work, but worked fine once I installed it? If it is
pre-installed, why would I have to do this?

What version of Windows? Probably XP, and the discs were made before .NET
3.0 was released.
 
P

Peteroid

You might be right about my boss' computer.

Might be just bad luck, but in my experience I have never gotten a managed
program I've written using VS .NET (any version) to work unless I installed
the re-distributable on the target machine. Maybe I've always used the most
recent version of it for development, and my clients have always had older
computers. In truth, this is a likely scenario since I typically do use the
most up-to-date features and my clients in the past have typically not been
that computer friendly (or else why would they hire me? hehe).

What I'm working on now targets .NET Framework 3.0 so if I undersatnd
correctly, I'm probably good for all Vista machines natively and any
computer that can install the re-distributable (e.g., XP).
 
B

Ben Voigt [C++ MVP]

Peteroid said:
You might be right about my boss' computer.

Might be just bad luck, but in my experience I have never gotten a managed
program I've written using VS .NET (any version) to work unless I
installed the re-distributable on the target machine. Maybe I've always
used the most recent version of it for development, and my clients have
always had older computers. In truth, this is a likely scenario since I
typically do use the most up-to-date features and my clients in the past
have typically not been that computer friendly (or else why would they
hire me? hehe).

What I'm working on now targets .NET Framework 3.0 so if I undersatnd
correctly, I'm probably good for all Vista machines natively and any
computer that can install the re-distributable (e.g., XP).

Until you upgrade to .NET 3.5, in which case you will again be newer than
any released Windows version, and many people won't get the upgrade from
Windows Update...
 
D

David Wilkinson

Ben said:
It does (all versions since .NET was released).


It does.

Ben:

This may be true in Vista, but I didn't think it is on XP. Are you sure?

AFAICT, only .NET versions 1.0 and 1.1 are present on my XP machines (I
have never installed VS2005 on these machines).
 
P

Peteroid

Until you upgrade to .NET 3.5, in which case you will again be newer than
any released Windows version, and many people won't get the upgrade from
Windows Update...

Actually I upgraded to 3.5 a while back. But VS VC++ 2008 Express has a
setting where I can set the level of .NET Framework I want to support. So
I'm hoping that means it will work on systems which have 3.0 or better.

This is supported if one looks at the References section. When adding
references if one changes the .NET Framework level it greys-out those no
longer available. Thus, if I set it to 3.5 none are greyed-out, but if I set
it to 2.0 many are greyed-out.
 
B

Ben Voigt [C++ MVP]

David Wilkinson said:
Ben:

This may be true in Vista, but I didn't think it is on XP. Are you sure?

AFAICT, only .NET versions 1.0 and 1.1 are present on my XP machines (I
have never installed VS2005 on these machines).

I suppose that depends on the definition of "auto-upgrade". It isn't
classified as a critical update, so it isn't forced on the user by Windows
Automatic Updates. However it should appear on the list of optional updates
in Windows Update, which is the best that can reasonably be done. At least
it did that at one point.

Normal users should be installing everything in the optional update list
anyway.
High criticality users should install only critical updates, and should not
be forced to install .NET Framework.
 
P

Peter Anthony

High criticality users should install only critical updates, and should
I disagree. Since .NET Framework is only something that gets used when
something that needs it is run (i.e., it is inert and doesn't take up CPU
resources when not in use), I feel it does more harm to not install/update
it to everyone's machine by default. ESPECIALLY if MS wants us to use VS and
managed code for our development of COMMERCIAL products. End-users are
always wary of having to install something to get a new application to work,
unless it is transparent to them. This can often result in a no-sale where
there would have been a sale. Thus, not making .NET Framework auto-update
damages VS ability to deliver commercial products.

In my case this is a very big deal. My application is about 1.5 megs in size
total. Requiring the end-user to manually upgrade to .NET Framework can
result in him having to do a 100 meg install to run my 1.5 meg program!
Imagine if other parts of the Windows OS required downloading them the first
time you used the feature. That would be a bit cumbersome for the end-user,
wouldn't you say?

Besides, if the current mindset is to include it with all Vista machines,
the same logic would suggest it should be auto upgraded as well. That's
because I can't think of a reason an end-user, who nowadays by default will
have a version of .NET Framework on his system if he bought it post Vista,
would want to have something on his machine that is out-of-date.

And in today's world, the size of .NET Framework is pretty small (100M
compared to hard drives getting into the terabyte range of capacity). I look
at .NET Framework as PART of the OS, not a 'nice optional addition'. Unless
of course MS doesn't want us to use VS, managed code, or their very own C#,
to develop products (hehe). Note that each end-user doesn't have to make use
of a particular element of the OS to justify its existence. So just because
not everyone makes use of .NET Framework is not a justification for it not
being an auto-update by default.

Highly critical end-user can make Windows Updates completely manual, so I'd
put the onus on them. Especially since they have to trust MS to begin with,
so why wouldn't they trust .NET Frameworks by MS? And without it being
auto-update, it opens the door to scam artists trying to fool someone into
loadinng their virus/spyware/whatever on your system in the guise of 'just
another update of .NET Framework'!


Ben Voigt said:
David Wilkinson said:
Ben:

This may be true in Vista, but I didn't think it is on XP. Are you sure?

AFAICT, only .NET versions 1.0 and 1.1 are present on my XP machines (I
have never installed VS2005 on these machines).

I suppose that depends on the definition of "auto-upgrade". It isn't
classified as a critical update, so it isn't forced on the user by Windows
Automatic Updates. However it should appear on the list of optional
updates in Windows Update, which is the best that can reasonably be done.
At least it did that at one point.

Normal users should be installing everything in the optional update list
anyway.
High criticality users should install only critical updates, and should
not be forced to install .NET Framework.
 
B

Ben Voigt [C++ MVP]

Peter Anthony said:
I disagree. Since .NET Framework is only something that gets used when
something that needs it is run (i.e., it is inert and doesn't take up CPU
resources when not in use), I feel it does more harm to not install/update
it to everyone's machine by default. ESPECIALLY if MS wants us to use VS
and managed code for our development of COMMERCIAL products. End-users are
always wary of having to install something to get a new application to
work, unless it is transparent to them. This can often result in a no-sale
where there would have been a sale. Thus, not making .NET Framework
auto-update damages VS ability to deliver commercial products.

In my case this is a very big deal. My application is about 1.5 megs in
size

Who cares?!? No one will install your application in a high criticality
environment without first testing it on their pilot servers, finding out the
dependencies, testing all the interactions, etc.

It would be very bad if Microsoft pushed out Framework upgrades as critical
updates. Remember that .NET Framework 2.0 wasn't 100% backward compatible
with 1.x. Do you want to be the one to explain why someone's 24x7 mission
critical app failed because you called something a security update that
wasn't?

Maybe Microsoft should change Automatic Updates to give a popup the first
time an optional update becomes available, that could make sense (only once
per item though). But forcing the updates on people (and with policies that
state you WILL install all critical updates it is forcing) would not be
good.
 
P

Peter Anthony

Who cares?!? No one will install your application in a high criticality
environment without first testing it on their pilot servers, finding out
the dependencies, testing all the interactions, etc.

Well, I care! hehe

I'm interested in selling to the PUBLIC. And I don't know one person that
does what you suggest. Most end-users just install software as is, they
don't test a thing. The only thing that will annoy them is trying to run my
application and getting a 'you can't do that' screen of death upon
execution, with a message no layman is ever going to read, they'll just
return the software!

And while it would take my customers less then a minute to install my
program, it could take many minutes to install its support. And like I said,
if they miss that step, they might interpret the system error screen as an
indicator to return the product to get their money back! Which is why this
decision is bad for those who want to use VS to make COMERCIAL products.

It sounds like you're more use to delivering software to companies, not
consumers. Consumers just want it to work with as little installation as
possible. I know, I've been doing consumer software applications (mostly
games) for 25+ years.
It would be very bad if Microsoft pushed out Framework upgrades as
critical updates. Remember that .NET Framework 2.0 wasn't 100% backward
compatible with 1.x. Do you want to be the one to explain why someone's
24x7 mission critical app failed because you called something a security
update that wasn't?

Ahhh, that's Microsoft's problem, not the consumers, and not mine. THEY
should make sure their stuff is backwards compatible. Otherwise, they should
make sure BOTH versions exist simultaneously.

You're suggesting this is a problem to be solved by the CONSUMER, that THEY
have to compromise to make it work. In this case, you're suggesting the
consumer be forced to manually maintain the proper .NET Frameworks on his
machine. That's too much to expect of the average consumer! Most such
engines do this without such need of manual attention on the part of the
end-users. DirectX for example is basically transparent to the end-user,
EVEN THOUGH IT IS NOT BACKWARDS COMPATIBLE to all previous version!

All this would take is changing .NET Frameworks update status to critical
instead of optional. As it is, MS is expecting the end-user to be aware that
loading .NET Framework 3.0 might clober 2.0 causing his stuff not to work.
Again, this pushes the problem of compatibility to the end-user, when it
should be Microsoft's responsibility to make sure stuff we made with THEIR
tools to work on THEIR OS to deal with backwards compatibility!
Maybe Microsoft should change Automatic Updates to give a popup the first
time an optional update becomes available, that could make sense (only once
per item though). But forcing the updates on people (and with policies
that state you WILL install all critical updates it is forcing) would not
be good.

I agree with the pop-up idea. The killer is the system error screen. If
instead it came up with something like ".NET Framework XXX not installed.
Install it now?" then I'd be happy!

But, anyway, why would 'forcing' the end-user to upgrade AUTOMATICALLY not
be good? They 'force' updates on us all the time! In fact, last night at 3AM
my computer at home and the office were both updated, which in each case
caused an AUTOMATIC re-boot! So much for MS's policy NOT forcing updates!

In fact, I've left a program running over night to collect statistics, only
to discover my computer had been re-booted, forcing me to start all over!

Yes, I could make Updates not be automatic. But so could people who don't
want .NET Framework updated too, couldn't they?

So, if I have to tolerate this, why would it be so intrusive to update .NET
Framework automatically? Please tell me how an end-user could possibly be
harmed by this?

My main point is that default actions should be done with a COMPUTER
ILLITERATE END-USER CONSUMER in mind. Not the typical programmer or systems
developer in mind. Not someone who knows what .NET Framework is. They
shouldn't have to know anything about it to buy a product that uses it IMHO.
It should take care of issues, such as backwards compatibility, FOR the
end-user. The end-user should not even have to know .NET Framework exists or
what it is. How would you like it if to be ABLE to drive your car you needed
to know what a carberator is and how to replace it?

I guess we just have to agree to disagree on this! :)
 
B

Ben Voigt [C++ MVP]

I guess we just have to agree to disagree on this! :)

I don't even think we disagree, I just think you have no concept of what I
meant by high criticality (I write software for NASA, and no, the really
really critical stuff isn't running on Windows, but a some moderately
critical things are -- videoconferencing with family members, for example,
is pretty darn important to people who will spend hundreds of days in space
and might not survive the trip home).

I have no qualms about pushing .NET Framework to the people you market to.
I just think it should be done by pushing optional updates to the typical
end-user (let that be the default for Automatic Updates, but let it be
another choice for the users who know enough to configure the settings), not
by removing the distinction between critical and optional updates.
 
P

Peter Anthony

Ah, that makes sense. I assumed by 'highly critical' you meant an end-user
who was afraid of things like a virus. I didn't know the term had a more
more rigorous usage than that...

The intended 'market' or 'audience' or 'client' that is being targeted
dicates a lot of what a developer wants for the environment he must launch
his appliction into. For me, I'm targeting the average person who owns a
computer. The less I force the end-user to do to use my product, the better
chance I have he will not return it. That's why, for me, the best case
scenrio is when .NET Framework is transparent to my end-user consumers.

Doing software for NASA is a whole other animal, with its own set of rules.
Far more critical to get it right than the consumer market. Heck, as an
astronaut, I'd be more afraid of an MS bug in the OS responsible for life
support than a faulty O-Ring anyday! LOL ; )
 
B

Brian Muth

I hesitate to mention this since the discussion is getting a little heated ;-)

However, Peter, you might want to take a look at the "Click-Once" technology. If your application meets the requirements, it's very
nice. You provide a web site users where users can download the .NET software, and any additional Framework packages are downloaded
at the same time. Moreover, if you ever update your web site, users' versions are updated automatically the next time they use it.

You can extend the very basic web site to add in your own licensing, registration, etc.

Regards,

Brian Muth
 
P

Peter Anthony

Hey Brian,

The discussion is not so much 'heated' as it is 'enthusiastic'... hehe

Anyway, yeah, that's something I'd really be interested in. A 'Click-Once'
setup where it offers the download of the appropriate .NET Framework if not
already installed would be ideal! And the auto-update via a website is great
for avoiding a lot of customer service calls!

I'll definitely check it out (I'll do a search for it, but I may have to
come back with my tail between my legs and ask you where to find info on
'Click-Once'...hehe)! Thanx!

[==Peter==]
 
D

Dennis Q. Wilson

Well, I care! hehe

I'm interested in selling to the PUBLIC. And I don't know one person that
does what you suggest. Most end-users just install software as is, they
don't test a thing. The only thing that will annoy them is trying to run my
application and getting a 'you can't do that' screen of death upon
execution, with a message no layman is ever going to read, they'll just
return the software!

And while it would take my customers less then a minute to install my
program, it could take many minutes to install its support. And like I said,
if they miss that step, they might interpret the system error screen as an
indicator to return the product to get their money back! Which is why this
decision is bad for those who want to use VS to make COMERCIAL products.

It sounds like you're more use to delivering software to companies, not
consumers. Consumers just want it to work with as little installation as
possible. I know, I've been doing consumer software applications (mostly
games) for 25+ years.


Ahhh, that's Microsoft's problem, not the consumers, and not mine. THEY
should make sure their stuff is backwards compatible. Otherwise, they should
make sure BOTH versions exist simultaneously.

You're suggesting this is a problem to be solved by the CONSUMER, that THEY
have to compromise to make it work. In this case, you're suggesting the
consumer be forced to manually maintain the proper .NET Frameworks on his
machine. That's too much to expect of the average consumer! Most such
engines do this without such need of manual attention on the part of the
end-users. DirectX for example is basically transparent to the end-user,
EVEN THOUGH IT IS NOT BACKWARDS COMPATIBLE to all previous version!

All this would take is changing .NET Frameworks update status to critical
instead of optional. As it is, MS is expecting the end-user to be aware that
loading .NET Framework 3.0 might clober 2.0 causing his stuff not to work.
Again, this pushes the problem of compatibility to the end-user, when it
should be Microsoft's responsibility to make sure stuff we made with THEIR
tools to work on THEIR OS to deal with backwards compatibility!


I agree with the pop-up idea. The killer is the system error screen. If
instead it came up with something like ".NET Framework XXX not installed.
Install it now?" then I'd be happy!

But, anyway, why would 'forcing' the end-user to upgrade AUTOMATICALLY not
be good? They 'force' updates on us all the time! In fact, last night at 3AM
my computer at home and the office were both updated, which in each case
caused an AUTOMATIC re-boot! So much for MS's policy NOT forcing updates!

In fact, I've left a program running over night to collect statistics, only
to discover my computer had been re-booted, forcing me to start all over!

Yes, I could make Updates not be automatic. But so could people who don't
want .NET Framework updated too, couldn't they?

So, if I have to tolerate this, why would it be so intrusive to update .NET
Framework automatically? Please tell me how an end-user could possibly be
harmed by this?

My main point is that default actions should be done with a COMPUTER
ILLITERATE END-USER CONSUMER in mind. Not the typical programmer or systems
developer in mind. Not someone who knows what .NET Framework is. They
shouldn't have to know anything about it to buy a product that uses it IMHO.
It should take care of issues, such as backwards compatibility, FOR the
end-user. The end-user should not even have to know .NET Framework exists or
what it is. How would you like it if to be ABLE to drive your car you needed
to know what a carberator is and how to replace it?

I guess we just have to agree to disagree on this! :)


Pardon the topic forking here, but does v3.5 require that earlier
versions be installed first?
 
M

Mike Greenway

Gentlemen.
Large companies don’t roll out upgrades with Windows Update, they test the
recommended upgrades and distribute what they wish, when they wish using
their tool of choise. I believe that there is a slim change that NASA is at
least that smart. Windows Update’s primary objective is the home user.

Microsoft create some of the best software in the world and the .net
framework falls into that category. It is much more labor efficient and
inherently safer than unmanaged code. Microsoft can also be responsible for
some colossal screw ups, and the way they have handled the distribution of
the .net framework is one of the best examples of the latter.

The focus is this. Should MS make it easy for .net to become the most
pervasive code base in the world? Should they support developers that want to
use this efficient, safe and powerful code to deploy innovative user
experiences now and into the future? I think we all know the answer is YES.
That said, I will ask you the final question. Why hasn’t Windows Update
offered this .net advocate and developer, a chance to keep my system up to
date with .net 3.5. My expensive new Vista Ultimate machine says “I can’t
play this Xbap program because my system isn’t up to date.â€

I’m a devoted Microsoft customer, doesn’t what I want count? Microsoft, WE
ARE NOT STUPID, please let us choose.

Hell, the additional capabilities in 3.5 could be sold as a womdows add-on
product.

MS we believe in .net, do you?

Give me my 3.5!
Mike Greenway
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top