Discussion:
Does Version 9.0.30729.4148 vcredist_x86.exe Install Version 9.0.21022.8 of the DLLs?
(too old to reply)
Larry Lindstrom
2010-08-13 22:10:44 UTC
Permalink
Hi Folks:

Developing on XP Pro and Win 7 Ultra 64, VS 2008 Pro, C++.

I have a big, puking blood type of problem described below.

Let's talk about one small issue in the big picture. Perhaps
resolving this will be the key to fixing everything.

I've recently downloaded a copy of the C Run Time Redistributable
vcredist_x86.exe. The file version is 9.0.30729.4148.

After a re-boot, to make sure nothing that depended on the run time
was running, I ran vcredist_x86.exe, and it displayed a window that
presented me with some choices. In order to get the cleanest install, I
selected to remove the runtime.

I then looked in C:\Program Files\Microsoft Visual Studio
9.0\VC\redist\x86\Microsoft.VC90.CRT.

Should vcredist_x86.exe remove this folder? It didn't.

I then re-booted, and ran vcredist_x86.exe again.

That Microsoft.VC90.CRT folder is still there, and the DLLs in it
are version 9.0.21022.8.

Is version 9.0.30729.4148 of vcredist_x86.exe supposed to install
version 9.0.21022.8 of the DLLs?

The bigger picture...

Eleven days ago, on August 2, I posted a question about a project
that will compile, but then display a msvcp90.dll not found error when
an attempt was made to run it. Other projects compile and run fine.

The one response to that post has not proven to be effective in
resolving the issue, though I appreciate the effort.

I've been battling this without success in the week and a half that
have followed. I've even turned to Microsoft's Visual C++ form for the
first time, where my request for assistance has gone unanswered for the
last day.

Any suggestion?

Thanks
Larry
jon
2010-08-14 05:05:46 UTC
Permalink
The x86 on the end of vcredist_x86.exe implies that it is the 32-bit
version of the runtime, so on an x64 system you wouldn't generally
expect it to make any changes to C:\Program Files. C:\Program
Files(x86) is the usual place where 32-bit software is installed on a
64-bit system. I don't really know what vcredist_x86.exe installs, or
removes, but I would say that C:\Program Files is probably not the
place to look for it on a 64-bit system.

As to your _actual_ problem, which seems to be that a program
dynamically linked with the runtime won't run, I assume this is
because you haven't installed the matching runtime DLLs. A 32-bit
program will need the 32-bit runtime, and a 64-bit program will need
the 64-bit runtime. Another solution is to change your project to
statically link the runtime libraries, and then you don't need to
worry about any of this.

Cheers,
Jon
    Developing on XP Pro and Win 7 Ultra 64, VS 2008 Pro, C++.
    I have a big, puking blood type of problem described below.
    Let's talk about one small issue in the big picture.  Perhaps
resolving this will be the key to fixing everything.
    I've recently downloaded a copy of the C Run Time Redistributable
vcredist_x86.exe.  The file version is 9.0.30729.4148.
    After a re-boot, to make sure nothing that depended on the run time
was running, I ran vcredist_x86.exe, and it displayed a window that
presented me with some choices.  In order to get the cleanest install, I
selected to remove the runtime.
    I then looked in C:\Program Files\Microsoft Visual Studio
9.0\VC\redist\x86\Microsoft.VC90.CRT.
    Should vcredist_x86.exe remove this folder?  It didn't.
    I then re-booted, and ran vcredist_x86.exe again.
    That Microsoft.VC90.CRT folder is still there, and the DLLs in it
are version 9.0.21022.8.
    Is version 9.0.30729.4148 of vcredist_x86.exe supposed to install
version 9.0.21022.8 of the DLLs?
    The bigger picture...
    Eleven days ago, on August 2, I posted a question about a project
that will compile, but then display a msvcp90.dll not found error when
an attempt was made to run it.  Other projects compile and run fine.
    The one response to that post has not proven to be effective in
resolving the issue, though I appreciate the effort.
    I've been battling this without success in the week and a half that
have followed.  I've even turned to Microsoft's Visual C++ form for the
first time, where my request for assistance has gone unanswered for the
last day.
    Any suggestion?
            Thanks
            Larry
Larry Lindstrom
2010-08-14 23:03:43 UTC
Permalink
Post by jon
The x86 on the end of vcredist_x86.exe implies that it is the 32-bit
version of the runtime, so on an x64 system you wouldn't generally
expect it to make any changes to C:\Program Files. C:\Program
Files(x86) is the usual place where 32-bit software is installed on a
64-bit system. I don't really know what vcredist_x86.exe installs, or
removes, but I would say that C:\Program Files is probably not the
place to look for it on a 64-bit system.
Thanks again Jon:

I'm multi-booting XP and Win7, so both system disks are available
for my perusal.

Please understand, I've been developing with XP, and only installed
Win 7 Ultimate 64 to test that my software would run on such a system,
and to Remote Assist one of my clients that has Win 7 Ultimate 32 on his
system.

Building this program was something I started working on yesterday
in a desperate attempt to see if the DLL problem would pop up.

The XP partition has this folder:

C:\Program Files\Microsoft Visual Studio 9.0\VC\redist

This folder has a folder called amd64 and a folder called x86.

Each file and folder under x86 folder has a corresponding folder,
with the same names, in the amd64 folder. The file sizes and creation
dates are not the same.

The Win7 partition has corresponding folders under the Program File
and Program File (x86) folders.

I don't know what it all means.

I haven't looked at every file in these redist folders, but the ones
for the CRT have versions of 9.0.21022.8, before and after
vcredist_x86.exe version 9.0.30729.4148 is run to remove and then
install the re=distributable.

Should I expect to see version number 9.0.30729.4148 for these DLLs?
Or is this folder some remnant that is no longer used.

As I watchd vcredist_x86.exe remove the re-distributable, file names
flipped past. It looked like something was being removed.
Post by jon
As to your _actual_ problem, which seems to be that a program
dynamically linked with the runtime won't run, I assume this is
because you haven't installed the matching runtime DLLs. A 32-bit
program will need the 32-bit runtime, and a 64-bit program will need
the 64-bit runtime. Another solution is to change your project to
statically link the runtime libraries, and then you don't need to
worry about any of this.
Please understand, until two days ago I was only developing on my XP
system. I had spent the last week on XP removing and re-installing VS
2008 and the re-distributable, and trying different things to get this
project to build, and then run without the DLL error. All are 32 bit
builds.

As I tried different things I kept testing two other large apps
which compiled and ran just fine.

When I say large, I'm talking about 100K lines of C++.

These other two applications were very different in function, but
used many of the same libraries. Some of those libraries I've built,
which are static, and others are DLLs supplied by Microsoft or third
party vendors.

The configuration manager shows "Win32" in the "Active solution
platform" window, and all of the projects that the application depends
on have "Win32" in listed in the Platform column.

So this seems like it has much in common with the other applications
that build and run without any problems.

Where do I need to look to find a solution?

Thanks
Larry

Loading...