.NET Framework - how 'important?'

G

Gene E. Bloch

Hi,


You brought up an interesting question which also is a challenging one for
application developers (doesn't imply I am one).

Since I have no idea for if you or your beloved grandfather (or anyone else)
would use it, so I said:


Notice that I used "or" so one, as a user, doesn't have to remove it.

The question is, as a user, one may not know if he/she would use it. But
then again, an average user might not dig so deep to find out if those
components were still there.

In any case, here comes the developer's role. As a general rule, I would
say to remove all of the application's components upon performing an
uninstallation process. But this is one of the rare occasions when I would
say to leave those commonly shared 3rd party components intact when the
program is being removed.

The primary concern is exactly to prevent the scenario as you described and
there is no way for an average user to know where might be the problem, and
the publisher of program Y might be falsely blamed.

So if it was my call, I would say to leave those commonly shared 3rd party
components (as opposed to proprietary components developed by the publisher
and used solely for the program).

But not every one thinks the same, so there are programs that will remove
everything indiscriminately.

Hope I've answered your question.

No, you haven't.

ISTM that you said programs should remove the .Net stuff, and you seemed to
feel that only some uninstallers might give the user a chance to refuse.

It wasn't a question at all. It was a counter example to what I consider a
very bad idea.
 
V

Vista Succubus Hunter

xfile said:
Hi,


You brought up an interesting question which also is a challenging one
for application developers (doesn't imply I am one).

Since I have no idea for if you or your beloved grandfather (or anyone
else) would use it, so I said:


Notice that I used "or" so one, as a user, doesn't have to remove it.

The question is, as a user, one may not know if he/she would use it.
But then again, an average user might not dig so deep to find out if
those components were still there.

In any case, here comes the developer's role. As a general rule, I
would say to remove all of the application's components upon performing
an uninstallation process. But this is one of the rare occasions when I
would say to leave those commonly shared 3rd party components intact
when the program is being removed.

The runtime component of the .Net Framework is not a 3rd party
component. It is a mistake by the developer to uninstall the runtime
component of the Framework, with the developer not knowing or assuming
that the developer's solution was the only solution using the Framework.
 
X

xfile

ISTM that you said programs should remove the .Net stuff, [...]

I didn't or kindly point me to where I said that and I will apologize.
[...] and you seemed to feel that only some uninstallers might give the
user a chance to refuse.

Since I know very well that I am not Mr. Know Everything and I don't know
ALL programs in the world, so I can only say from experience that "some" do
provide and others don't.

I try not to use any generalized statement for things that I don't know.
It wasn't a question at all. It was a counter example to what I consider a
very bad idea.

I respect your decision if you consider it is a bad idea, but I don't know
what is so bad about for presenting choices?

I didn't instruct in any way that one should keep it or not, as I have no
idea about everyone's computer literacy and user environment. If anyone
wishes to remove anything that he/she doesn't know or bother to investigate
more, that is his/her own decision which is fine. If one wishes to learn
more and then makes the decision accordingly, that is fine too.

Can you please quote what I said so I know better if I mislead you?
 
X

xfile

The runtime component of the .Net Framework is not a 3rd party component.

OK, but for some like myself, anything not directly from in-house
development is a 3rd party component even it's from Microsoft.
It is a mistake by the developer to uninstall the runtime component of the
Framework, with the developer not knowing or assuming that the developer's
solution was the only solution using the Framework.

OK, I have no comment and as I said in the previous post, not every one
thinks the same :)
 
G

gareth erskine-jones

More thoughtful application providers would bundle required components (e.g.
.Net framework, java runtime, or DirectX etc.), and the install routine will
first check the system to see if the required component(s) had been
installed, and if not, it will perform the installation for the component(s)
before proceeding to the main program.

I've never had to package a .NET app for distribution, so I might be
mistaken about this, but I'd imagine that given the size of the
framework, and the fact that MS appear to provide a reliable mechanism
for a deployment package to direct a user to the appropriate page of
their site, that including the framework with every distributed
application would be fairly pointless, not to mention greatly
increasing the size of the download.

GSEJ
 
X

xfile

I agree but not all users are comfortable with downloading and installing
required components from different sources.

It would be a judgment call for each application provider to determine how
do they perceive their potential users and what would they offer for
so-called one-stop solution.

It would be the same for asking a user to put together a complete system
from different sources, which everyone could do it with certain amount of
learning and efforts, but the mass majority still prefer to use system
providers for a complete solution.

In any case, I wouldn't say it's "pointless" but more of different
considerations for different prospects.

Assuming everyone is computer literate, on the other hand, is quite naive in
my humble opinion.
 
G

Gene E. Bloch

ISTM that you said programs should remove the .Net stuff, [...]

I didn't or kindly point me to where I said that and I will apologize.

From your post that I first replied to:

"Also, I seem to remember that some programs will remove all of 'its'
components upon uninstallation including previously installed components
(e.g. .Net framework, etc.) while some programs will not. So it would be
better to check if those components are still there if one needs to use for
other programs or wishes it to be totally removed."

In particular, your remark that "some programs will remove all of 'its'
components".

I have to say that your writing was a bit unclear to me. Your phrase "More
thoughtful application providers..." made me think that you *wanted*
programs to do everything you said in the post; on rereading it, I see that
it might not be what you meant, since the phrase could have related to what
you said about installation but not to your comments on uninstallation.

In any case, I feel strongly that programs should not install Windows
components that they require, and should never ever uninstall such
components when they are finished with them. At installation time, they
should notify the user that his system is not compatible with the
installation (explaining why!), and at uninstallation, they should do
nothing.

BTW, many of the serious stability problems with older Windows versions was
that many programs quietly and preemptively installed their own versions of
Windows DLLs in the Windows directory structure - and some of those DLLs
broke Windows or other programs that relied on their *own* DLLs.

And perhaps, after all, we are actually in agreement :)
 
G

Gene E. Bloch

I agree but not all users are comfortable with downloading and installing
required components from different sources.

In particular, the .Net Framework is offered by Microsoft as part of its
normal update process, so this argument is specious.
It would be a judgment call for each application provider to determine how
do they perceive their potential users and what would they offer for
so-called one-stop solution.

The correct judgment is clear...
It would be the same for asking a user to put together a complete system
from different sources, which everyone could do it with certain amount of
learning and efforts, but the mass majority still prefer to use system
providers for a complete solution.

See above.
In any case, I wouldn't say it's "pointless" but more of different
considerations for different prospects.
Assuming everyone is computer literate, on the other hand, is quite naive in
my humble opinion.

So when third party developers offer their own versions of components taken
from Microsoft, perhaps also out of date, and as a result of this break the
system, what is this computer-illiterate person going to do?

<SNIP>
 
X

xfile

BTW, many of the serious stability problems with older Windows versions
was
that many programs quietly and preemptively installed their own versions
of
Windows DLLs in the Windows directory structure - and some of those DLLs
broke Windows or other programs that relied on their *own* DLLs.

I agree totally. But we are not talking about to replace Window's DLLs with
its *own* DLLs. In this particular case, we are talking about if runtime
components such as .Net framework (or DirectX, for example) should be
included in the installation package or should it require the user to go to
their sites for downloading and installing required components before they
can install the program.
In any case, I feel strongly that programs should not install Windows
components that they require, and should never ever uninstall such
components when they are finished with them. At installation time, they
should notify the user that his system is not compatible with the
installation (explaining why!), and at uninstallation, they should do
nothing.

I understood your concern but I cannot agree with you for all scenarios. :)
"Also, I seem to remember that some programs will remove all of 'its'
components upon uninstallation including previously installed components
(e.g. .Net framework, etc.) while some programs will not. So it would be
better to check if those components are still there if one needs to use
for
other programs or wishes it to be totally removed."

It is just a friendly reminder for users to check if there are any left
behind components, as for why and how to deal with it, it would be a
different subject.


Gene E. Bloch said:
ISTM that you said programs should remove the .Net stuff, [...]

I didn't or kindly point me to where I said that and I will apologize.

From your post that I first replied to:

"Also, I seem to remember that some programs will remove all of 'its'
components upon uninstallation including previously installed components
(e.g. .Net framework, etc.) while some programs will not. So it would be
better to check if those components are still there if one needs to use
for
other programs or wishes it to be totally removed."

In particular, your remark that "some programs will remove all of 'its'
components".

I have to say that your writing was a bit unclear to me. Your phrase "More
thoughtful application providers..." made me think that you *wanted*
programs to do everything you said in the post; on rereading it, I see
that
it might not be what you meant, since the phrase could have related to
what
you said about installation but not to your comments on uninstallation.

In any case, I feel strongly that programs should not install Windows
components that they require, and should never ever uninstall such
components when they are finished with them. At installation time, they
should notify the user that his system is not compatible with the
installation (explaining why!), and at uninstallation, they should do
nothing.

BTW, many of the serious stability problems with older Windows versions
was
that many programs quietly and preemptively installed their own versions
of
Windows DLLs in the Windows directory structure - and some of those DLLs
broke Windows or other programs that relied on their *own* DLLs.

And perhaps, after all, we are actually in agreement :)
 
X

xfile

In particular, the .Net Framework is offered by Microsoft as part of its
normal update process, so this argument is specious.

There are controlled environments in which not all Windows components will
be included when the systems were set up and Windows Update will not
performed by the end user and not all Windows updates will be rolled out.

Also, not all home users will do Windows Update and many have never clicked
Windows Update during their use of computers
The correct judgment is clear...

The correct judgment is when THEIR customers and user are satisfied and
happy :)
So when third party developers offer their own versions of components
taken
from Microsoft, perhaps also out of date, and as a result of this break
the
system, what is this computer-illiterate person going to do?

First of all, "no their own versions" got involved in this discussion as far
as I can see.

"..[perhaps also out of date]" - could be, so a well-established application
provider needs to constantly update their programs too. I cannot speak for
all :)
as a result of this break the
system, what is this computer-illiterate person going to do?

They utilize whatever help channels available to them, including help desk,
customer service, newsgroups, forums, friends, relatives, and so on and so
on.
 
T

Timothy Daniels

Blithe said:
However - it occurs to me that I never got a firm idea
just how important .Net Framework is to the average
user like myself....

.NET Framework is the runtime engine and environment
for apps that have been developed with the .NET libraries
and the .NET languages. It provides the virtual machine on
which the compiled .NET languages run and it provides the
support environment. It sits on top of Windows, and it uses
the services of Windows, but it provides its own value-added
services that the .NET-based apps need to run. The advantage
to the developer is that it allows a shorter development time by
taking over of the tedium of re-inventing various coding "wheels"
and by removing some of the common sources of bugs (e.g.
memory "leaks" due to non-release of memory resources). It
also allows the developer to use a language that he/she may be
most familiar with, e.g. COBOL.NET, Fortran.NET, etc., and
not only C# (Microsoft's answer to Java). As an environment,
..NET Framework shouldn't be uninstalled just because one app
that used it was uninstalled. If that does indeed sometimes happen,
it would be due to an error by the writer of the installation package.
Consider the runtime engine for Java. Would you uninstall it or
expect it to be uninstalled just because the app for which it was
installed was uninstalled? What about other apps, either currently
installed or to be installed in the future? It's a necessary environment
for an increasing number of apps, much like an operating system
or a browser. Would you uninstall either of those environments
because it was no longer needed by one of your apps? BTW,
I've read that Microsoft is developing a version of .NET Framework
to run on Unix/Linux, and I'd imagine on Solaris. If it succeeds, and
if it does reduce development time better than Java and Java's
various frameworks, Oracle/Sun might have a problem.

*TimDaniels*
 
G

Gene E. Bloch

.NET Framework is the runtime engine and environment
for apps that have been developed with the .NET libraries
and the .NET languages. It provides the virtual machine on
which the compiled .NET languages run and it provides the
support environment. It sits on top of Windows, and it uses
the services of Windows, but it provides its own value-added
services that the .NET-based apps need to run. The advantage
to the developer is that it allows a shorter development time by
taking over of the tedium of re-inventing various coding "wheels"
and by removing some of the common sources of bugs (e.g.
memory "leaks" due to non-release of memory resources). It
also allows the developer to use a language that he/she may be
most familiar with, e.g. COBOL.NET, Fortran.NET, etc., and
not only C# (Microsoft's answer to Java). As an environment,
.NET Framework shouldn't be uninstalled just because one app
that used it was uninstalled. If that does indeed sometimes happen,
it would be due to an error by the writer of the installation package.
Consider the runtime engine for Java. Would you uninstall it or
expect it to be uninstalled just because the app for which it was
installed was uninstalled? What about other apps, either currently
installed or to be installed in the future? It's a necessary environment
for an increasing number of apps, much like an operating system
or a browser. Would you uninstall either of those environments
because it was no longer needed by one of your apps? BTW,
I've read that Microsoft is developing a version of .NET Framework
to run on Unix/Linux, and I'd imagine on Solaris. If it succeeds, and
if it does reduce development time better than Java and Java's
various frameworks, Oracle/Sun might have a problem.

*TimDaniels*

Thanks for the above - very informative.
 
B

+Bob+

I've read that Microsoft is developing a version of .NET Framework
to run on Unix/Linux, and I'd imagine on Solaris. If it succeeds, and
if it does reduce development time better than Java and Java's
various frameworks, Oracle/Sun might have a problem.

Fat chance. Sun did screw up big time marketing and selling Java on
windows, but there's little to no chance the Unix world will get
behind an MS based application framework.
 

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