Paul
Paul

Reputation: 2564

vcredist_x86.dll and version 8.0.50727.4053

Visual C++ 2005 I build on my system use CRT DLLs version 8.0.50727.4053. I believe it is the latest one and was automatically updated by Windows.

On user systems, this version of the DLL is not found. I have used vcredist_x86.exe in the past as a part of our installer to install runtime DLLs. It used to work.

My problem is that even the latest version of vcredist_x86.exe ( Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)) doesn't install this version of the DLL.

So which vcredist_x86.exe file do I need then ?

P.S. Would forcing my app to link to a specific version of the CRT solve the problem ? Is it a prefered method at all ?

Thanks,

Paul

UPDATE: There are other people who observe that vcredist_x86.exe ( Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)) doesn't install 8.0.50727.4053.

UPDATE2: At least one person suggests forcing using the previous version of CRT (http://tedwvc.wordpress.com/). This would however add a significant complexity to our projects.

Upvotes: 11

Views: 31402

Answers (9)

nobs
nobs

Reputation: 730

It looks like you can install a msm file directrly with the msiexec see: http://forums.winamp.com/showthread.php?s=&threadid=99668&highlight=msm

Upvotes: 0

Tigerblue
Tigerblue

Reputation: 1

Note: Installing the "Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update" mentioned by mikets above also may resolve the following problem:

Error 0xc0150004 upon starting devenv.exe (Visual Studio 2005) or reader_sl.exe (Autostart of Acrobat Reader).

Reason it fixes a corrupt installation of the above Assemblies. (Probably corrupted with an Windows update/service pack installation).

Upvotes: 0

user148673
user148673

Reputation:

On my machine I found the 8.0.50727.4053 redistributable in \Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86

The one in \Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\vcredist_x86 was for VS2008.

-Greg

Upvotes: 0

MK.
MK.

Reputation: 34597

My understanding is that Microsoft hasn't released a vcredist_x86.exe for this version. They did, however, release Merge Modules with this version, so you should download them and include them in your installer. Now where do you get these is also a good question, but I somehow magically got them, probably through InstallShield update.

Upvotes: 0

alcor
alcor

Reputation: 658

I hope this could be a useful information:

The file you're looking for (2.0.50727.4053) has a size of 2.705.744 bytes (2.707.456 bytes on disk).

Upvotes: 1

Aron
Aron

Reputation: 31

I think there's an important distinction for VS standard/professional users and VS Express users. For VC++ Standard, c:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\ contains the 8.0.50727.4053 redistributable (after the security update is installed). There is no need to separately install an SDK, so (for instance), I don't even have a C:\Program Files\Microsoft SDKs\ directory on the machine with VC++ Standard installed.

When using VS 2005 Express, follow mikets' answer, and get the ATL security update version. I confirmed these fix the problem in my case.

Upvotes: 3

mikets
mikets

Reputation: 31

Following the advice of JesperE, I found that there exists "Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update" which provides these distributables.

Upvotes: 3

Paul
Paul

Reputation: 2564

Ok. I found the solution in an MS Forum:

If you installed the security update, the 9.0.30729.4148 version of vcredist should be in your Windows SDK folder, typically C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\vcredist_x86 and C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\vcredist_x64.

Original thread

Upvotes: 2

JesperE
JesperE

Reputation: 64454

Microsoft release an update (google for KB971090) containing a security fix for the VC runtime. There is a corresponding update to the vcredist_x86.exe, but I don't have a link. If you have KB971090 installed, I think you should have an updated vcredist_x86.exe somewhere on your machine.

In practise (IIRC), it means that binaries built on machines which has KB971090 installed can only run on machines which have the corresponding updated VC runtimes, i.e. you need to ship and install the new vcredist_x86.exe on client machines.

Upvotes: 1

Related Questions