What happens with GAC when you uninstall .NET Framework completely?

  • Thread starter Thread starter Markus Strobl
  • Start date Start date
M

Markus Strobl

Hi,

basically the subject tells it all :)

When we're moving to .NET Framework 3.5 we were planning to completely
uninstall all previous versions of .NET Framework (1.1, 2.0, 3.0) on our
client's PCs.

As there are a lot of our own components (mostly based on .NET 2.0)
installed in the GAC i'm wondering what's happening with the Assemblies in
the GAC when we completely remove .NET on a client PC and reinstall the
latest Version.

Is GAC completely removed as well or are our assemblys preserved?

Thanks a lot for your help!

Markus
 
Hello Markus,
Hi,

basically the subject tells it all :)

When we're moving to .NET Framework 3.5 we were planning to completely
uninstall all previous versions of .NET Framework (1.1, 2.0, 3.0) on
our client's PCs.

That seems a little presumptuous

You're assuming that this won't introduce any breaking changes in existing
apps on the Clients machine.

Is there a reason you can't leave the previous frameworks in place?
 
Hi Rory,

thanks for your quick reply.

Well i can only assume that its probably thought as a kind of
"cleanup-operation" on the client PCs (this approach has been proposed by
another departement in our company).

As .NET 3.5 contains .NET 2.0 and 3.0 (including ServicePacks) applications
built on any of those previous Framework versions should keep running after
..NET 3.5 is installed again in my oppinion.

I'm currently only concerned about our components resided in the GAC because
GAC is actually created by the .NET Framework Installation and if its
completely removed as well we would have to re-install all of our assemblies
after .NET 3.5 is installend. So in this case it would be much cheaper to
keep the previous versions on our clients. But well .. this is the behaviour
in question.

Cheers
Markus
 
Framework uninstalls should take care of all the items that were installed
include the GAC and the assemblies that live in these directories. However,
because of your position, I would simply test this by performing a framework
uninstall. It's the only real way to be certain.

--

Regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
The O.W.C. Black Book, 2nd Edition
Exclusively on www.lulu.com/owc $19.99
 
Markus

Given Alvin's reply...
Framework uninstalls should take care of all the items that were
installed include the GAC and the assemblies that live in these
directories. However, because of your position, I would simply test
this by performing a framework uninstall. It's the only real way to be
certain.

I read this as an expectation that items in the GAC would be removed as part
of the uninstall.

This seems pretty disasterous for any other applications which might have
installed components for themselves in the current GAC.

To put this another way.....

If you install your application (complete with GAC components) on a fresh
machine, you'd expect it to work pretty well.

What happens if a few weeks later, another developer's application also takes
the attitude that they can tear down the DotNet installation to clean their
application up?

Wouldn't this destroy a lot of the components which your app relies upon
for it's functions?

IMHO, an application should not remove and reinstall the .Net Framework as
a part of int's installation. It could however determine if it's required
version of the framework is present and install it if necessary. but to remove
architectural components from a PC which other applications might be using
is not reasonable.

This would be like removing the TCP Stack because you didn't need it only
to destroy all hope of the user using their broswer to surf the web/send
email/use ftp.


I've tried to think of a less abrasive way of saying it but I cannot think
of one, Sorry.

Framework removal on a client's PC without due care and attention is (IMHO)
irresponsible.
 
ok thanks a lot, alvin!

Well it will be tested anyway but i wanted to avoid some complications that
came into my mind before.

Best Wishes

Markus



Alvin Bruney said:
Framework uninstalls should take care of all the items that were installed
include the GAC and the assemblies that live in these directories.
However, because of your position, I would simply test this by performing
a framework uninstall. It's the only real way to be certain.

--

Regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
The O.W.C. Black Book, 2nd Edition
Exclusively on www.lulu.com/owc $19.99
-------------------------------------------------------



Markus Strobl said:
Hi Rory,

thanks for your quick reply.

Well i can only assume that its probably thought as a kind of
"cleanup-operation" on the client PCs (this approach has been proposed by
another departement in our company).

As .NET 3.5 contains .NET 2.0 and 3.0 (including ServicePacks)
applications built on any of those previous Framework versions should
keep running after .NET 3.5 is installed again in my oppinion.

I'm currently only concerned about our components resided in the GAC
because GAC is actually created by the .NET Framework Installation and if
its completely removed as well we would have to re-install all of our
assemblies after .NET 3.5 is installend. So in this case it would be much
cheaper to keep the previous versions on our clients. But well .. this is
the behaviour in question.

Cheers
Markus
 
To clear a couple of things up, I was wrong in my expectation. After
uninstalling 3.5, the GAC and the assemblies inside were untouched.
Obviously not what I expected given that the assemblies are now junk
assemblies on my machine since I now have no framework on which to run them.
IMHO, an application should not remove and reinstall the .Net Framework as
a part of int's installation. It could however determine if it's required

I agree. But I don't think that was the original concern - unless I misread
the question.

--

Regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
The O.W.C. Black Book, 2nd Edition
Exclusively on www.lulu.com/owc $19.99
 
As 3.5 is basically 2.0 with new stuff it could explain why it left so many
things if not all...

If I were the OP I wouldn't bother about this :
- 3.0 and 3.5 is 2.0 plus new stuff so it would just suppress 1.0 and 1.1
- I doubt it take so much space compared with much other things
- if I came accross an application that would still need 1.0 or 1.1 I would
have to reinstall

As by design each version of .NET installs side by side and as the benefit
is IMO quite low I would just left whatever Frawework releases are on my
workstations. At best I would uninstall 1.0, 1.1 and would left 2.0 and 3.0
(that is 2.0 plus new stuff) and 3.5 (that is 3.0 plus new stuff) unchanged
as they are all working on the 2.0 CLR...

--
Patrice


Alvin Bruney said:
To clear a couple of things up, I was wrong in my expectation. After
uninstalling 3.5, the GAC and the assemblies inside were untouched.
Obviously not what I expected given that the assemblies are now junk
assemblies on my machine since I now have no framework on which to run
them.
IMHO, an application should not remove and reinstall the .Net Framework
as a part of int's installation. It could however determine if it's
required

I agree. But I don't think that was the original concern - unless I
misread the question.

--

Regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
The O.W.C. Black Book, 2nd Edition
Exclusively on www.lulu.com/owc $19.99
 
I would definitely do some testing and see if that is worth it. I have a new
Vista computer, and oddly enough, it has all versions of the framework
installed on it. I also know if you push .Net 3.0 out, and the person
already has .Net 2.0 installed, it only installs the extra bits. The files
in the 2.0, 3.0, and 3.5 directories all appear to be different on my
machine. So I'm not sure saying 3.5 includes what you need is truly
accurate.

RobinS.
 
Well i can only assume that its probably thought as a kind of
"cleanup-operation" on the client PCs (this approach has been proposed by
another departement in our company).

What a bizarre way of doing things. Will they be uninstalling any Windows
service packs as part of the cleanup op as well? ;-)

-Alex
 
Back
Top