Windows Vista Tips

Windows Vista Tips > Newsgroups > Windows Vista General Discussion > Multiple Microsoft Visual C++ 2005 Redistributable Installations

Reply
Thread Tools Display Modes

Multiple Microsoft Visual C++ 2005 Redistributable Installations

 
 
Jim
Guest
Posts: n/a

 
      10-22-2007
I have a Vista Ultimate OS, and Windows Installation Cleanup Utility shows
two versions installed: v8.0.50727.42 and v8.0.56336. Do I need to remove
one of these and if so, which one? OR, do I need to remove both and install
version v8.0.50727.762 (the SP1 version)? I've been having problems with
Microsoft Visual C++ runtime errors. Any help would be appreciated.
--
Jim
 
Reply With Quote
 
 
 
 
Andrew McLaren
Guest
Posts: n/a

 
      10-22-2007
"Jim" <> wrote ...
>I have a Vista Ultimate OS, and Windows Installation Cleanup Utility shows
> two versions installed: v8.0.50727.42 and v8.0.56336. Do I need to remove
> one of these and if so, which one? OR, do I need to remove both and
> install
> version v8.0.50727.762 (the SP1 version)? I've been having problems with
> Microsoft Visual C++ runtime errors. Any help would be appreciated.


Hi Jim,

In theory, you can have as many versions of the C++ Runtime installed as you
want, or need. The runtime files get installed in the "Side-by-Side" cache,
C:\Windows\winsxs. Each version gets its own unique directory. So for
example, you could have 2 or more versions of msvcr80.dll, one installed in:

C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a 1e18e3b_8.0.50727.42_none_db5f52fb98cb24ad

and the other in:

C:\Windows\winsxs\x86_microsoft.vc80.crt_14d7a2d4c 3f54a2b_8.0.56336_none_db6d3dc5a3d168c

Applications built with Visual C++ typically have a "manifest" which tells
the application what specific side-by-side DLL versions are acceptable. So
when App1 goes to load msvcr80.dll, it will look in the first directory, for
the version of msvcr80.dll it likes best. App 2 may look in the second
directory instead, to find a specific version of msvcr80.dll it likes. If
the app does not request a specific version, the Side-by-Side cache manager
will load the "best" DLL, according to some internal algorithm. If an
application mandates a specific version of a DLL in its manifest, and that
version is not present on the system, then you will get an error, even
though there may be several other versions of the DLL on the system.

This mechanism is designed to get past the problem of "DLL Hell" (belive it
or not :-).

The exact list of runtine versions you need depends on what applications you
have installed, and what Runtime DLL versions they are mandating (if any).
But apart from a small amount of disk space (these are not big files)
there's not much overhead in having several versions of the Runtime
installed. So you don't need to aggressively trim the list.

There were some problems installing some versions of the VC++ Runtime on
Vista, because the Installer package did not seem to understand UAC
correctly. The Write permissions in the winsxs directory are fairly tightly
controlled and some files didn't get written - I seem to recall ATL80.DLL
was particularly affected by this. So that may be the source of the errors
you're getting?

--
Andrew McLaren
amclar (at) optusnet dot com dot au


 
Reply With Quote
 
Jim
Guest
Posts: n/a

 
      10-24-2007
Andrew,
I found 9 entries in C:\windows\winsxs. 4 are duplicates of the basic 5
versions. I assume that this is Ok from your previous answer.
Interestingly, none of the versions shown is 8.0.56336 that is shown as
installed in the Windows Install Clean Up Utility?
--
Jim


"Andrew McLaren" wrote:

> "Jim" <> wrote ...
> >I have a Vista Ultimate OS, and Windows Installation Cleanup Utility shows
> > two versions installed: v8.0.50727.42 and v8.0.56336. Do I need to remove
> > one of these and if so, which one? OR, do I need to remove both and
> > install
> > version v8.0.50727.762 (the SP1 version)? I've been having problems with
> > Microsoft Visual C++ runtime errors. Any help would be appreciated.

>
> Hi Jim,
>
> In theory, you can have as many versions of the C++ Runtime installed as you
> want, or need. The runtime files get installed in the "Side-by-Side" cache,
> C:\Windows\winsxs. Each version gets its own unique directory. So for
> example, you could have 2 or more versions of msvcr80.dll, one installed in:
>
> C:\Windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a 1e18e3b_8.0.50727.42_none_db5f52fb98cb24ad
>
> and the other in:
>
> C:\Windows\winsxs\x86_microsoft.vc80.crt_14d7a2d4c 3f54a2b_8.0.56336_none_db6d3dc5a3d168c
>
> Applications built with Visual C++ typically have a "manifest" which tells
> the application what specific side-by-side DLL versions are acceptable. So
> when App1 goes to load msvcr80.dll, it will look in the first directory, for
> the version of msvcr80.dll it likes best. App 2 may look in the second
> directory instead, to find a specific version of msvcr80.dll it likes. If
> the app does not request a specific version, the Side-by-Side cache manager
> will load the "best" DLL, according to some internal algorithm. If an
> application mandates a specific version of a DLL in its manifest, and that
> version is not present on the system, then you will get an error, even
> though there may be several other versions of the DLL on the system.
>
> This mechanism is designed to get past the problem of "DLL Hell" (belive it
> or not :-).
>
> The exact list of runtine versions you need depends on what applications you
> have installed, and what Runtime DLL versions they are mandating (if any).
> But apart from a small amount of disk space (these are not big files)
> there's not much overhead in having several versions of the Runtime
> installed. So you don't need to aggressively trim the list.
>
> There were some problems installing some versions of the VC++ Runtime on
> Vista, because the Installer package did not seem to understand UAC
> correctly. The Write permissions in the winsxs directory are fairly tightly
> controlled and some files didn't get written - I seem to recall ATL80.DLL
> was particularly affected by this. So that may be the source of the errors
> you're getting?
>
> --
> Andrew McLaren
> amclar (at) optusnet dot com dot au
>
>

 
Reply With Quote
 
Andrew McLaren
Guest
Posts: n/a

 
      10-25-2007
"Jim" <> wrote ...
> I found 9 entries in C:\windows\winsxs. 4 are duplicates of the basic 5
> versions. I assume that this is Ok from your previous answer.


Yep ... generally, I'd err on the side of leaving the SxS cache well alone.

> Interestingly, none of the versions shown is 8.0.56336 that is shown as
> installed in the Windows Install Clean Up Utility?


Bit strange, but they're 2 different things:

- Install Cleanup utility is looking at the entries for installed products,
in the Registry and the %windir%\Installer subdirectory.

- Entries can be put into the C:\Windows\winsxs SxS cache either explicitly,
by running a Setup program (eg VC Runtime); or by some more implicit
manner - as part of another application's installation routine, or the like.
So you could easy end up with SxS entries that don't show in Add/Remove
Programs.

It's a bit anomalous that Installer cleanup shows 8.0.56336 but it doesn't
appear in the SxS cache. But I wouldn't worry too much ... I'd probably
elect to delete the Installer entry, but I'm not sure there's a really
strong motivation either way.

--
Andrew McLaren
amclar (at) optusnet dot com dot au


 
Reply With Quote
 
Jim
Guest
Posts: n/a

 
      10-25-2007
I think that i'm going to delete yhe v8.0.56386 using the Clean Up Utility so
that installation programs don't think that 8.0.56386 is already installed.
--
Jim


"Andrew McLaren" wrote:

> "Jim" <> wrote ...
> > I found 9 entries in C:\windows\winsxs. 4 are duplicates of the basic 5
> > versions. I assume that this is Ok from your previous answer.

>
> Yep ... generally, I'd err on the side of leaving the SxS cache well alone.
>
> > Interestingly, none of the versions shown is 8.0.56336 that is shown as
> > installed in the Windows Install Clean Up Utility?

>
> Bit strange, but they're 2 different things:
>
> - Install Cleanup utility is looking at the entries for installed products,
> in the Registry and the %windir%\Installer subdirectory.
>
> - Entries can be put into the C:\Windows\winsxs SxS cache either explicitly,
> by running a Setup program (eg VC Runtime); or by some more implicit
> manner - as part of another application's installation routine, or the like.
> So you could easy end up with SxS entries that don't show in Add/Remove
> Programs.
>
> It's a bit anomalous that Installer cleanup shows 8.0.56336 but it doesn't
> appear in the SxS cache. But I wouldn't worry too much ... I'd probably
> elect to delete the Installer entry, but I'm not sure there's a really
> strong motivation either way.
>
> --
> Andrew McLaren
> amclar (at) optusnet dot com dot au
>
>

 
Reply With Quote
 
Andrew McLaren
Guest
Posts: n/a

 
      10-25-2007
"Jim" <> wrote ...
>I think that i'm going to delete yhe v8.0.56386 using the Clean Up Utility
>so
> that installation programs don't think that 8.0.56386 is already
> installed.



Yep, sounds good to me.

Cheers,
--
Andrew McLaren
amclar (at) optusnet dot com dot au


 
Reply With Quote
 
 
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Problem installing Microsoft Visual C++ 2005 Wfeg Windows Vista General Discussion 25 09-11-2008 01:14 PM
visual C++ 2005 redistributable. Tim Windows Vista Games 6 04-29-2008 01:13 AM
Multiple Versions of Microsoft Visual C++ 2005 Redistributiable? Jim Windows Vista General Discussion 1 10-24-2007 03:44 PM
Microsoft Visual C++ Redistributable 2005 error Dasaecor Windows Vista General Discussion 2 10-21-2007 11:31 AM
How do you uninstall Microsoft Visual C++ 2005 Redistributable (x6 bp Windows Vista General Discussion 2 08-26-2007 08:26 PM



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59