Global Assembly Cache (GAC)

R

Ron

If you're reading this, I presume you know about the GAC. (I didn't until a
few days ago ;) ) Most references I find on the GAC talk about adding
libraries to it. My questions relate to removing some.

I have a problem installing the interface utility for a video driver
update - the utility (ATI's Catalyst Control Center) installs, but doesn't
run more than a second or two. (Using Sysinternals ProcMon), I think it's
because it can't find the dll's it wants. It's been a known issue for a few
users for years - discovered when they go to update ATI video drivers - and
I've found references where some users have in fact succeeded in getting the
utility to work by uninstalling, simply deleting all libraries from the GAC
that have the ATI (now AMD) public key, then reinstalling. But I have 190
such entries in there (many associated, presumably, with other AMD
functionality on my computer). I've learned how to unlock the
Windows\Assembly directory so it behaves normally in Windows Explorer, and
so I could in fact remove the libraries I believe are associated with just
the problematic installation - to see if it will then install and run
properly. I count five that are relevant. (If you know ATI video drivers,
the libraries appear related to CCC.exe and MOM.exe.) As mentioned, others
have reported success doing this. However, being cautious, I'm wondering:

1. Is the GAC one of the directories tracked by System Restore?
2. If I delete a particular library, using the win explorer context menu,
can it in fact be restored to its former functionality? (I've read a bit
about something called the "manifest" which apparently does bookeeping on
the GAC.)
3. If I manually move libraries from the GAC to a temp directory, can I
simply move them back to restore their functionality if my approach fails?
4. Is there an accepted method of testing whether a particular program
issue is in fact traceable to a rogue library in the GAC?
5. How royally could I pooch my computer by removing the wrong libraries?

The GAC is presumably a dangerous place to mess around - otherwise why would
they lock it in default configuration. Any comments or links about tweaking
it - insights, links, etc. - would be appreciated. If important, I'm
running Win7pro x64 with all updates, including the recent .NET 4.0.

Thanks for any help.
 
B

Big Steel

If you're reading this, I presume you know about the GAC. (I didn't
until a few days ago ;) ) Most references I find on the GAC talk about
adding libraries to it. My questions relate to removing some.

http://en.wikipedia.org/wiki/Global_Assembly_Cache

The GAC is presumably a dangerous place to mess around - otherwise why
would they lock it in default configuration. Any comments or links about
tweaking it - insights, links, etc. - would be appreciated. If
important, I'm running Win7pro x64 with all updates, including the
recent .NET 4.0.
My suggestion to you is that you don't have a clue and you should leave
the GAC alone.

The GAC is a .NET component for storing strong named assemblies.

http://msdn.microsoft.com/en-us/library/wd40t7ad.aspx

http://msdn.microsoft.com/en-us/library/ex0ss12c(v=vs.80).aspx


<http://www.bing.com/videos/search?q=windows+7+components+using+the+GAC&FORM=SSVR#>
 
R

Ron

................
My suggestion to you is that you don't have a clue and you should leave
the GAC alone.
I respect the suggestion and I thank you for the references. (I had seen a
couple of them in the MSDN.) I'd like to rephrase my inquiry by posting
some event details (below) from the ACEEventLog in Event Viewer. They are
generated as soon as I attempt to run a program called CLIStart, which calls
other processes named ccc and mom. Perhaps someone would be kind enough to
interpret them, and to comment on whether they are consistent with my
hypothesis, which is that the routine fails because it doesn't have access
to the proper versions of the assemblies it needs.

BTW, these events have "information" level status, not "error," even though
they seem to refer to errors. Why would that be?

In chronological order:

0000000001: 2011-03-10 19:36:41:486 Failed to merge manifest file:
C:\Program Files (x86)\ATI
Technologies\ATI.ACE\MOM-InstallProxy\mom-installproxy.xml with exception:
Could not find file 'C:\Program Files (x86)\ATI
Technologies\ATI.ACE\MOM-InstallProxy\mom-installproxy.xml'. Error Called
by: ATI.ACE.CLI.Foundation.XManifestation::ReadManifest processID:03200
threadID:( ) domainName:(CCC.exe ) assemblyName:(CLI.Foundation.XManifest,
Version=3.5.4043.31963, Culture=neutral, PublicKeyToken=90ba9c70f846762e)

0000000002: 2011-03-10 19:36:41:580 Exception <GetType>: Method
'SubscribeToValueChangesEvent' in type
'ATI.ACE.CLI.Component.Runtime.Runtime' from assembly
'CLI.Component.Runtime, Version=3.5.4043.31909, Culture=neutral,
PublicKeyToken=90ba9c70f846762e' does not have an implementation. Exception
Called by: ATI.ACE.CCC.Implementation.CCC_Main::Start processID:03200
threadID:( ) domainName:(CCC.exe ) assemblyName:(CCC.Implementation,
Version=3.5.4043.31963, Culture=neutral, PublicKeyToken=90ba9c70f846762e)

0000000003: 2011-03-10 19:36:41:580 Could not find Type
[ATI.ACE.CLI.Component.Runtime.Runtime] from [CLI.Component.Runtime] in
assembly [CLI.Component.Runtime, Version=3.5.4043.31909, Culture=neutral,
PublicKeyToken=90ba9c70f846762e] Error Called by:
ATI.ACE.CCC.Implementation.CCC_Main::Start processID:03200 threadID:( )
domainName:(CCC.exe ) assemblyName:(CCC.Implementation,
Version=3.5.4043.31963, Culture=neutral, PublicKeyToken=90ba9c70f846762e)

0000000001: 2011-03-10 19:36:41:767 Failed to merge manifest file:
C:\Program Files (x86)\ATI
Technologies\ATI.ACE\MOM-InstallProxy\mom-installproxy.xml with exception:
Could not find file 'C:\Program Files (x86)\ATI
Technologies\ATI.ACE\MOM-InstallProxy\mom-installproxy.xml'. Error Called
by: ATI.ACE.CLI.Foundation.XManifestation::ReadManifest processID:06076
threadID:( ) domainName:(CCC.exe ) assemblyName:(CLI.Foundation.XManifest,
Version=3.5.4043.31963, Culture=neutral, PublicKeyToken=90ba9c70f846762e)

0000000002: 2011-03-10 19:36:41:845 Exception <GetType>: Method
'SubscribeToValueChangesEvent' in type
'ATI.ACE.CLI.Component.Runtime.Runtime' from assembly
'CLI.Component.Runtime, Version=3.5.4043.31909, Culture=neutral,
PublicKeyToken=90ba9c70f846762e' does not have an implementation. Exception
Called by: ATI.ACE.CCC.Implementation.CCC_Main::Start processID:06076
threadID:( ) domainName:(CCC.exe ) assemblyName:(CCC.Implementation,
Version=3.5.4043.31963, Culture=neutral, PublicKeyToken=90ba9c70f846762e)

0000000003: 2011-03-10 19:36:41:845 Could not find Type
[ATI.ACE.CLI.Component.Runtime.Runtime] from [CLI.Component.Runtime] in
assembly [CLI.Component.Runtime, Version=3.5.4043.31909, Culture=neutral,
PublicKeyToken=90ba9c70f846762e] Error Called by:
ATI.ACE.CCC.Implementation.CCC_Main::Start processID:06076 threadID:( )
domainName:(CCC.exe ) assemblyName:(CCC.Implementation,
Version=3.5.4043.31963, Culture=neutral, PublicKeyToken=90ba9c70f846762e)

0000000001: 2011-03-10 19:36:41:923 Exception <CCCn Cannot Quiesce>: Object
reference not set to an instance of an object. Exception Called by:
System.Threading.ExecutionContext::Run processID:01288
threadID:(MOM_Quiesce_CCCn) domainName:(MOM.exe ) assemblyName:(mscorlib,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089)

0000000002: 2011-03-10 19:36:41:923 Rasing Error Event on CCCn with PID#
5964 Error Called by:
ATI.ACE.MOM.Implementation.CCCnStateMachine::ThreadQuiesce processID:01288
threadID:(MOM_Quiesce_CCCn) domainName:(MOM.exe )
assemblyName:(MOM.Implementation, Version=3.5.4043.31964, Culture=neutral,
PublicKeyToken=90ba9c70f846762e)

Thanks for any help.
 
B

Big Steel

I respect the suggestion and I thank you for the references. (I had seen
a couple of them in the MSDN.) I'd like to rephrase my inquiry by
posting some event details (below) from the ACEEventLog in Event Viewer.
They are generated as soon as I attempt to run a program called
CLIStart, which calls other processes named ccc and mom. Perhaps someone
would be kind enough to interpret them, and to comment on whether they
are consistent with my hypothesis, which is that the routine fails
because it doesn't have access to the proper versions of the assemblies
it needs.

BTW, these events have "information" level status, not "error," even
though they seem to refer to errors. Why would that be?
None of what you are showing has anything to do with the GAC.
In chronological order:

0000000001: 2011-03-10 19:36:41:486 Failed to merge manifest file:
C:\Program Files (x86)\ATI
Technologies\ATI.ACE\MOM-InstallProxy\mom-installproxy.xml with
exception: Could not find file 'C:\Program Files (x86)\ATI
Technologies\ATI.ACE\MOM-InstallProxy\mom-installproxy.xml'. Error
Called by: ATI.ACE.CLI.Foundation.XManifestation::ReadManifest
processID:03200 threadID:( ) domainName:(CCC.exe )
assemblyName:(CLI.Foundation.XManifest, Version=3.5.4043.31963,
Culture=neutral, PublicKeyToken=90ba9c70f846762e)
It's looking for a file it can't find.
0000000002: 2011-03-10 19:36:41:580 Exception <GetType>: Method
'SubscribeToValueChangesEvent' in type
'ATI.ACE.CLI.Component.Runtime.Runtime' from assembly
'CLI.Component.Runtime, Version=3.5.4043.31909, Culture=neutral,
PublicKeyToken=90ba9c70f846762e' does not have an implementation.
Exception Called by: ATI.ACE.CCC.Implementation.CCC_Main::Start
processID:03200 threadID:( ) domainName:(CCC.exe )
assemblyName:(CCC.Implementation, Version=3.5.4043.31963,
Culture=neutral, PublicKeyToken=90ba9c70f846762e)
A method being called in a DLL is not there.
0000000003: 2011-03-10 19:36:41:580 Could not find Type
[ATI.ACE.CLI.Component.Runtime.Runtime] from [CLI.Component.Runtime] in
assembly [CLI.Component.Runtime, Version=3.5.4043.31909,
Culture=neutral, PublicKeyToken=90ba9c70f846762e] Error Called by:
ATI.ACE.CCC.Implementation.CCC_Main::Start processID:03200 threadID:( )
domainName:(CCC.exe ) assemblyName:(CCC.Implementation,
Version=3.5.4043.31963, Culture=neutral, PublicKeyToken=90ba9c70f846762e)
Again, it can find a method in the DLL.
0000000001: 2011-03-10 19:36:41:767 Failed to merge manifest file:
C:\Program Files (x86)\ATI
Technologies\ATI.ACE\MOM-InstallProxy\mom-installproxy.xml with
exception: Could not find file 'C:\Program Files (x86)\ATI
Technologies\ATI.ACE\MOM-InstallProxy\mom-installproxy.xml'. Error
Called by: ATI.ACE.CLI.Foundation.XManifestation::ReadManifest
processID:06076 threadID:( ) domainName:(CCC.exe )
assemblyName:(CLI.Foundation.XManifest, Version=3.5.4043.31963,
Culture=neutral, PublicKeyToken=90ba9c70f846762e)
It can't find a file.
0000000002: 2011-03-10 19:36:41:845 Exception <GetType>: Method
'SubscribeToValueChangesEvent' in type
'ATI.ACE.CLI.Component.Runtime.Runtime' from assembly
'CLI.Component.Runtime, Version=3.5.4043.31909, Culture=neutral,
PublicKeyToken=90ba9c70f846762e' does not have an implementation.
Exception Called by: ATI.ACE.CCC.Implementation.CCC_Main::Start
processID:06076 threadID:( ) domainName:(CCC.exe )
assemblyName:(CCC.Implementation, Version=3.5.4043.31963,
Culture=neutral, PublicKeyToken=90ba9c70f846762e)
It doesn't have a method it's looking for.
0000000003: 2011-03-10 19:36:41:845 Could not find Type
[ATI.ACE.CLI.Component.Runtime.Runtime] from [CLI.Component.Runtime] in
assembly [CLI.Component.Runtime, Version=3.5.4043.31909,
Culture=neutral, PublicKeyToken=90ba9c70f846762e] Error Called by:
ATI.ACE.CCC.Implementation.CCC_Main::Start processID:06076 threadID:( )
domainName:(CCC.exe ) assemblyName:(CCC.Implementation,
Version=3.5.4043.31963, Culture=neutral, PublicKeyToken=90ba9c70f846762e)
It couldn't find a type.
0000000001: 2011-03-10 19:36:41:923 Exception <CCCn Cannot Quiesce>:
Object reference not set to an instance of an object. Exception Called
by: System.Threading.ExecutionContext::Run processID:01288
threadID:(MOM_Quiesce_CCCn) domainName:(MOM.exe )
assemblyName:(mscorlib, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089)
It want's use an object, but it can't find the object.
0000000002: 2011-03-10 19:36:41:923 Rasing Error Event on CCCn with PID#
5964 Error Called by:
ATI.ACE.MOM.Implementation.CCCnStateMachine::ThreadQuiesce
processID:01288 threadID:(MOM_Quiesce_CCCn) domainName:(MOM.exe )
assemblyName:(MOM.Implementation, Version=3.5.4043.31964,
Culture=neutral, PublicKeyToken=90ba9c70f846762e)
It looks like you have some kind of problem with a graphic card driver,
possibly that 'ATI.ACE'. Did you start hacking files off of the machine?
Did you install some kind of driver that is outdated and doesn't work
with what's making calls to it?

Find out what this is 'ATI.ACE'. To say that you should be messing
around with the GAC is questionable. Maybe, you need to call the vendor
for a solution if you can determine what 'ATI.ACE' is about.

..
 
K

KCB

Ron said:
My suggestion to you is that you don't have a clue and you should leave
the GAC alone.
I respect the suggestion and I thank you for the references. (I had seen
a couple of them in the MSDN.) I'd like to rephrase my inquiry by posting
some event details (below) from the ACEEventLog in Event Viewer. They are
generated as soon as I attempt to run a program called CLIStart, which
calls other processes named ccc and mom. Perhaps someone would be kind
enough to interpret them, and to comment on whether they are consistent
with my hypothesis, which is that the routine fails because it doesn't
have access to the proper versions of the assemblies it needs.

BTW, these events have "information" level status, not "error," even
though they seem to refer to errors. Why would that be?

In chronological order:

0000000001: 2011-03-10 19:36:41:486 Failed to merge manifest file:
C:\Program Files (x86)\ATI
Technologies\ATI.ACE\MOM-InstallProxy\mom-installproxy.xml with exception:
Could not find file 'C:\Program Files (x86)\ATI
Technologies\ATI.ACE\MOM-InstallProxy\mom-installproxy.xml'. Error Called
by: ATI.ACE.CLI.Foundation.XManifestation::ReadManifest processID:03200
threadID:( ) domainName:(CCC.exe ) assemblyName:(CLI.Foundation.XManifest,
Version=3.5.4043.31963, Culture=neutral, PublicKeyToken=90ba9c70f846762e)

0000000002: 2011-03-10 19:36:41:580 Exception <GetType>: Method
'SubscribeToValueChangesEvent' in type
'ATI.ACE.CLI.Component.Runtime.Runtime' from assembly
'CLI.Component.Runtime, Version=3.5.4043.31909, Culture=neutral,
PublicKeyToken=90ba9c70f846762e' does not have an implementation.
Exception Called by: ATI.ACE.CCC.Implementation.CCC_Main::Start
processID:03200 threadID:( ) domainName:(CCC.exe )
assemblyName:(CCC.Implementation, Version=3.5.4043.31963, Culture=neutral,
PublicKeyToken=90ba9c70f846762e)

0000000003: 2011-03-10 19:36:41:580 Could not find Type
[ATI.ACE.CLI.Component.Runtime.Runtime] from [CLI.Component.Runtime] in
assembly [CLI.Component.Runtime, Version=3.5.4043.31909, Culture=neutral,
PublicKeyToken=90ba9c70f846762e] Error Called by:
ATI.ACE.CCC.Implementation.CCC_Main::Start processID:03200 threadID:( )
domainName:(CCC.exe ) assemblyName:(CCC.Implementation,
Version=3.5.4043.31963, Culture=neutral, PublicKeyToken=90ba9c70f846762e)

0000000001: 2011-03-10 19:36:41:767 Failed to merge manifest file:
C:\Program Files (x86)\ATI
Technologies\ATI.ACE\MOM-InstallProxy\mom-installproxy.xml with exception:
Could not find file 'C:\Program Files (x86)\ATI
Technologies\ATI.ACE\MOM-InstallProxy\mom-installproxy.xml'. Error Called
by: ATI.ACE.CLI.Foundation.XManifestation::ReadManifest processID:06076
threadID:( ) domainName:(CCC.exe ) assemblyName:(CLI.Foundation.XManifest,
Version=3.5.4043.31963, Culture=neutral, PublicKeyToken=90ba9c70f846762e)

0000000002: 2011-03-10 19:36:41:845 Exception <GetType>: Method
'SubscribeToValueChangesEvent' in type
'ATI.ACE.CLI.Component.Runtime.Runtime' from assembly
'CLI.Component.Runtime, Version=3.5.4043.31909, Culture=neutral,
PublicKeyToken=90ba9c70f846762e' does not have an implementation.
Exception Called by: ATI.ACE.CCC.Implementation.CCC_Main::Start
processID:06076 threadID:( ) domainName:(CCC.exe )
assemblyName:(CCC.Implementation, Version=3.5.4043.31963, Culture=neutral,
PublicKeyToken=90ba9c70f846762e)

0000000003: 2011-03-10 19:36:41:845 Could not find Type
[ATI.ACE.CLI.Component.Runtime.Runtime] from [CLI.Component.Runtime] in
assembly [CLI.Component.Runtime, Version=3.5.4043.31909, Culture=neutral,
PublicKeyToken=90ba9c70f846762e] Error Called by:
ATI.ACE.CCC.Implementation.CCC_Main::Start processID:06076 threadID:( )
domainName:(CCC.exe ) assemblyName:(CCC.Implementation,
Version=3.5.4043.31963, Culture=neutral, PublicKeyToken=90ba9c70f846762e)

0000000001: 2011-03-10 19:36:41:923 Exception <CCCn Cannot Quiesce>:
Object reference not set to an instance of an object. Exception Called by:
System.Threading.ExecutionContext::Run processID:01288
threadID:(MOM_Quiesce_CCCn) domainName:(MOM.exe ) assemblyName:(mscorlib,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089)

0000000002: 2011-03-10 19:36:41:923 Rasing Error Event on CCCn with PID#
5964 Error Called by:
ATI.ACE.MOM.Implementation.CCCnStateMachine::ThreadQuiesce processID:01288
threadID:(MOM_Quiesce_CCCn) domainName:(MOM.exe )
assemblyName:(MOM.Implementation, Version=3.5.4043.31964, Culture=neutral,
PublicKeyToken=90ba9c70f846762e)

Thanks for any help.
Have you tried completely un-installing all your ATI software, then
rebooting and re-installing clean with the latest drivers? What type of
card do you have?
 
R

Ron

Have you tried completely un-installing all your ATI software, then
rebooting and re-installing clean with the latest drivers? What type of
card do you have?
Thank you both for the analysis and comments. Here's the story. I have a
Dell running Win7x64 which has a Dell installed ATI Radeon HD 5770 video
card. (Dell is known to "modify" stock drivers.) A week ago or so, there
was a new driver package pushed by Windows Update. I was baffled how
Windows Update would know what card I have, but I did install it, and it
worked fine until I messed with one of the settings and the screen went dark
and seemed to freeze. I shut down manually, and Windows seemed to recover
itself, including the new drivers. But the UI to the drivers, called
Catalyst Control Center (CCC), didn't work. So I went to the ATI (AMD)
site, found their latest driver package for Win7x64 and installed it.
Everything installed without error, but ever since, I've not been able to
get the CCC to load. After extensive googling, I found various reports of
the same behavior over the last several years for various driver releases
from ATI. One person published the "fix" that I mentioned in my top post,
ie. removing ATI assemblies from the GAC. And, yes, I've spent a lot of
time uninstalling and reinstalling. Uninstalling removes the ATI software
and directories, but not the new driver files themselves. But the
speculation is that the ATI install package will not update the GAC
libraries (which in my case were originally installed by Dell, not ATI) and
so there's a mismatch. Hence my original question, because others have
reported fixing the same issue by first removing ATI assemblies from the GAC
and *then* doing the clean install.

BTW, Program Files (x86)\ATI Technologies\ATI.ACE\ is the path to the
package that contains the executable that produces the above log entries.
The ATI assemblies named in the log are in the GAC, BUT NOT THE SAME VERSION
number as shown in the logs. They're older. So I'm not sure why Big Steel
says this has nothing to do with the GAC. Isn't this what you might call a
Strong Name mismatch? Again, the original thought was that if I could clear
out those older assemblies manually - because the ATI uninstall does not
remove them - then a fresh (ATI driver) install would put the proper ones in
there. That's what I think was happening for other posters who have
reported success doing that (without knowing why). But I'm not about to try
removing assemblies from the GAC without a surefire way of replacing them if
something goes wrong.

But if you say it's not a GAC issue, I'm back to square one. I've
downloaded the latest driver package Dell offers for my machine, which from
its date is probably the same as factory installed, and guess I'll have to
install it, effectively rolling back to it (thereby foregoing the new UI in
the latest ATI CCC which has additional functionality, which is why I've
been trying to get a good install.) Sure I'll clean out the ATI stuff
before I do that, but won't touch the GAC and can only hope the Dell package
will set everything right. In fact, I'm hoping that it will recognize there
are newer drivers, leave them alone, but install the old CCC, and that that
one will work with the newer driver files. Otherwise I may be in mismatch
hell and never have a useable CCC until ATI publishes a driver package that
does ALL the bookeeping.

I know you .NET folks laugh at stuff like this. Especially when I admit I
get real nervous doing driver installs, wondering each time if my computer
will reboot.

Well at least I'm learning new stuff.

Thanks, Ron
 
B

Big Steel

I know you .NET folks laugh at stuff like this. Especially when I admit
I get real nervous doing driver installs, wondering each time if my
computer will reboot.

Well at least I'm learning new stuff.
1) You do know that you can go to the Device Manager and roll the driver
back on the device to it's previous driver before it was replaced by a
Windows update.

2) You don't let Windows update -- update device drivers. You will get
burned. I had it happen twice on a laptop for its monitor and on a NIC
on a desktop machine. I was burned each time and had to roll the driver
updates back. That was some years ago, and I don't let the Windows
update -- update any drivers on the machine. I'll go to the vendor and
do it myself. I do the Windows updates manually, and I review what's
coming to the machine, and 'Hide' ones I don't want so that they don't
show in the update again.
 
R

Ron

1) You do know that you can go to the Device Manager and roll the driver
back on the device to it's previous driver before it was replaced by a
Windows update.
Yes. Been afraid to try it, since I don't know whether that abnormal
shutdown, and Windows "should Windows attempt recovery" option which I
accepted on restart left them intact. Again, the current drivers appear to
work fine - no video issues. It's just the UI for them that's
mis-installed. Hence I have no access to parameters at the card level.
2) You don't let Windows update -- update device drivers. You will get
burned. I had it happen twice on a laptop for its monitor and on a NIC on
a desktop machine. I was burned each time and had to roll the driver
updates back. That was some years ago, and I don't let the Windows
update -- update any drivers on the machine. I'll go to the vendor and do
it myself. I do the Windows updates manually, and I review what's coming
to the machine, and 'Hide' ones I don't want so that they don't show in
the update again.
Guess I learned my lesson. Still don't understand how Update knew which
drivers I need. Is Dell cozy with Redmond? I have in fact also downloaded
the package that Windows Update installed (from its catalog), but have also
been afraid to try that. (There are two different .inf files in there. I
compared them. They differ in a few lines, and there's no readme
distinguishing them.) If that package came from Dell, I imagine it will
appear eventually on Dell's own user download site (which specifies versions
compatible with your model).

No comment on my hypothesis regarding mismatched assemblies in the GAC? Is
it plausible?
 
B

Big Steel

No comment on my hypothesis regarding mismatched assemblies in the GAC? Is
it plausible?
If you wrote a Net application that had a dll you needed strong
named and you installed it into the GAC, that's one thing. You should
know what you are doing in this instance.

There can be multiple versions of the same assembly in the GAC, and
the .NET program and .Net will know which assembly to use.

In your case, you are a consumer a user and you don't have the
expertise to know about the internals of what a vendor's program is
looking for or needs. I suggest you contact the vendor about its
program and the issues you are having, instead of blindly messing
around with the GAC where you don't need to be.
 
C

Char Jackson

Guess I learned my lesson. Still don't understand how Update knew which
drivers I need.
It's no mystery. WU scans your computer to see which Windows updates
you need, and in the process it also discovers which hardware you have
installed and after that it naturally follows that they would offer
you (usually optional) updates for the hardware it found.
 
R

Ron

It's no mystery. WU scans your computer to see which Windows updates
you need, and in the process it also discovers which hardware you have
installed and after that it naturally follows that they would offer
you (usually optional) updates for the hardware it found.

--
Thanks. Yes I think it was an option. But I didn't realize WU is actually
scanning my computer, and I wonder about that "naturally."
Scanning its own install log or Windows software components is one thing.
Checking out my hardware is another. I've no doubt it can do so
technically. But should it?

Let's say it sees I have an ATI video card, reads the model, etc.. It also
sees I have a particular Dell model. We know that Dell drivers for third
party components are frequently proprietary versions of the retail. (A Dell
spokesperson on a support forum has stated as much. In fact, it was stated
that substituting retail versions for the OEM version can void the service
warranty.) So is WU smart enough to adapt for this? From where would it
get such an update, ATI or Dell? Does it do so with permission?

Without a carefully controlled protocol, I can see why folks (including me,
possibly) develop issues stemming from WU driver installs.
 
K

KCB

Ron said:
Thanks. Yes I think it was an option. But I didn't realize WU is
actually scanning my computer, and I wonder about that "naturally."
Scanning its own install log or Windows software components is one thing.
Checking out my hardware is another. I've no doubt it can do so
technically. But should it?

Let's say it sees I have an ATI video card, reads the model, etc.. It
also sees I have a particular Dell model. We know that Dell drivers for
third party components are frequently proprietary versions of the retail.
(A Dell spokesperson on a support forum has stated as much. In fact, it
was stated that substituting retail versions for the OEM version can void
the service warranty.) So is WU smart enough to adapt for this? From
where would it get such an update, ATI or Dell? Does it do so with
permission?

Without a carefully controlled protocol, I can see why folks (including
me, possibly) develop issues stemming from WU driver installs.
Ron, I've never seen good things when people use WU to update video drivers.
I really think you should uninstall ALL ATI software, reboot, then install
the latest driver from ATI (AMD). This should clear up the whole issue.
Another thing, and this goes back to why WU causes issues with video
drivers, don't ever over-write a video card driver with another
version--EVER. I know some people will say they've been doing it for years,
but there are too many issues reported in various groups that can be traced
back to that. Always uninstall first, reboot, then install new. I hope you
get it worked out.
 
R

Ron

Ron, I've never seen good things when people use WU to update video
drivers. I really think you should uninstall ALL ATI software, reboot,
then install the latest driver from ATI (AMD). This should clear up the
whole issue. Another thing, and this goes back to why WU causes issues
with video drivers, don't ever over-write a video card driver with another
version--EVER. I know some people will say they've been doing it for
years, but there are too many issues reported in various groups that can
be traced back to that. Always uninstall first, reboot, then install new.
I hope you get it worked out.
Thanks, I have actually done it using ATI's express uninstall (from the
control panel Programs & Features, but it didn't remove the drivers
themselves. Not sure whether it is supposed to. I'm gearing up courage to
do it again, then use a sweeper to remove the driver files themselves. (I'm
an experienced user in some areas, but scared of messing with drivers.)
Here's a really dumb question: if I remove all the ATI drivers (along with
their other software), how will I have any video when I reboot? I think the
answer must be to reboot into safe mode where there will be system default
drivers, no? Or does Win7 find default drivers even in normal boot mode? I
know this must not be a real issue, since people remove current drivers all
the time before installing a later package, just as you suggest. Concerns
me nonetheless :(

Anyway, my plan is to follow your advice, including the driver files
themselves, then do the install from safe mode. And with one other step:
remove all the assemblies from the GAC with the ATI public key. I know I
don't really understand .NET, but if you examine those error traces above,
you'll see a version number associated with the ATI assemblies. (It's
3.5.4043.31963) Turns out the ATI assemblies in my GAC do NOT have that
version number. They have an earlier one. Others have reported this GAC
cleanup is how they've achieved a successful install (after trying many
flavors of reinstall). For example:

http://forums.amd.com/game/messageview.cfm?catid=279&threadid=141933

The problem described in this thread is precisely mine as well (as evidenced
by the error log I posted above), albeit theirs is with an earlier install
version. The solution of cleaning the GAC given there I've also found in
similar threads.

In the time it's taken to write this, I could have tried the whole thing.
But figure I'd rather have another night's sleep behind me if there's a blue
screen in my immediate future ;) Thanks for the advice, much
ppreciated. -Ron
 
C

charlie

I doubt anyone's following this thread, but for future searchers: it
worked!

-Ron
Part of the video driver problem goes back to the initial driver
furnished to MS that was part of the windows original install.
Evidently, MS made some changes to such things as registry entries,
and the later "generic" drivers from the GPU Mfrs did not always take
this into account. An even more complicated situation can occur when you
use certain Nvidia drivers with ATI video cards. (Can have to do with
games, and unique Nvidia supplementary drivers)

At least there are some improvements in this area with win 7, when
compared to XP.
 
K

KCB

Ron said:
I doubt anyone's following this thread, but for future searchers: it
worked!

-Ron
I'm glad it worked out. BTW, Windows provides generic VGA drivers that will
work with any contemporary video card, if you should happen to boot with no
drivers installed. Of course you won't have any 3d acceleration or special
hardware functionality.
 
B

Big Steel

I doubt anyone's following this thread, but for future searchers: it
worked!

-Ron
All you had to do was call the graphic card manufacture's tech support
that wrote the software. They would have told you what to do. That's
what you should have done, and it would have been over long ago.
 
G

Gene E. Bloch

I'm glad it worked out. BTW, Windows provides generic VGA drivers that will
work with any contemporary video card, if you should happen to boot with no
drivers installed. Of course you won't have any 3d acceleration or special
hardware functionality.
An additional point to your last: the reason that the generic VGA
drivers work is that the video cards all have generic VGA capability as
a fallback position - by design. That's also what Safe Mode uses, I'm
pretty sure.
 
Joined
May 12, 2012
Messages
1
Reaction score
0
Solved: Catalyst Control Center Not Starting

I came across this thread while I was trying to figure out why my Catalyst Control Center would run for a couple of seconds and them terminate without displaying anything.

I don't know what caused the problem but I suspect it was caused by a Microsoft automatic update.

I'm running Window 7 Ultimate, 64-bit and I have an AMD Radeon HD 6900 Series graphics card (specifically a SAPPHIRE HD 6950 1GB GDDR5 PCI-E).

Anyway, after uninstalling and reinstalling various versions of the Catalyst Software Suite with no success, what finally worked was the following:
  1. Download the latest Catalyst Software Suite (to be installed in Step 7)
  2. Download and install Driver Sweeper
  3. Uninstall the Catalyst Software
    • Go to Programs and Features in the Control Panel
    • Right-click on AMD Catalyst Install Manager and select "Change". This will bring up the "AMD Catalyst Install Manager - InstallShield Wizard".
    • Click Next and then select "Express Uninstall ALL AMD Software".
    • Towards the end of the install, it will ask you if you also want to uninstall the Install Manager. Say "Yes" and then you'll be prompted to reboot.
    • Reboot the system.
  4. Reboot into Safe Mode
    • As the system is rebooting, keep hitting F8 until the safe mode options appear and then select boot to safe mode.
  5. Run Driver Sweeper to remove the AMD Display Drivers
    • While in Safe Mode, run Drive Sweeper.
    • Check the box next to AMD - Display
    • Click the Analyse button and wait for the results
    • Click the Clean button
  6. Reboot the system
  7. Install the Catalyst Software Suite that you downloaded in Step 1.
  8. Problem solved (hopefully)
Keywords and Phrases (for future searchers):
Catalyst Control Center not starting
Catalyst Problem
Problems with Catalyst Software Suite
Can't access Catalyst Control Center
 

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