Breaking change in MS DLL's ?

  • Thread starter Thread starter Rob
  • Start date Start date
R

Rob

Hi,
Since last weeks the exe's that I build on my vs2005/C++ devstation donot
work anymore on my clients PC. There are some dependencies on MS DLL's that
seem te be missing. The exe itself did not add any of these.
Using dependency walker I determinded that it had something to do with the
fact that IE8 was installed on my development PC. IE8 has been on my PC for
longer than last week, so possibly a security update was the reason for this ?

I uninstalled IE8, but this does not fix my problem. There are a few less
dependency's but still some missing ones.

A strange thing is that when IE8 is installed, at the customers PC it
compalins about IESHims.dll, which is not even on my dev-PC. (although it
runs fine there)

Who knows what's going on ? And how to solve this ?

Kind regards,
Rob
www.robtso.nl
 
Hi Rob, the problem was the latest security update for Visual C++ 2005 SP1.
It forces your app to use a newer version of CRT and MFC (8.0.50727.4053
instead of 8.0.50727.762)

To fix this, (my recommended approach) go to add/remove programs (with show
updates checked) and uninstalll KB971090, or (will work, but is a pain) send
them the newest vcredist_x86.exe from the bootstrapper folder on your hard
drive.

I have a better workaround but it's not quite ready for public consumption
yet. I'll email you the solution.

Ted.
 
Hi,
Thank you, uninstalling the update fixed my (immediate) problem.
But I think this is not so nice, since I like to keep up to date with the
latest updates.
Will this be a re-occurring problem on future installs on dev-PC's ?

I am not aware of "vcredist_x86.exe from the bootstrapper folder" , whats
that ?
Does VS2005 create that (after each update) ?
The one I downloaded from inet does not work...
Will vcredist be updated to use the new DLL's too ?

Kind Regards,
Rob.
www.robtso.nl
 
Hi Rob, the updated vcredist_x86.exe is found here:

C:\Program Files\Microsoft Visual Studio
8\SDK\v2.0\BootStrapper\Packages\vcredist_x86

Yes the problem will exist on all dev machines if you've installed KB971090.

I don't recommend using the updated redist for customers, it's too much
trouble making sure it's released to everyone. Instead, I recommend using
a trick that will allow you to target the SP1 versions. The trick I
mentioned is to target a specific version of the assemblies, 8.0.50727.762,
instead of the default which is 8.0.50727.4053.

If you want to try installing the security update again, I emailed you some
instructions on how to perform this trick. Let me know how it goes.

Ted.
 
Rob,

There are 4 options for solving your customer's problem that are preferable
to uninstalling the ATL security update:

1. Have your customers enable automatic updates. Automatic update installed
build 4053 of the C/C++ runtime library on all of my computers on which
build 762 already was installed.

2. Have your customers manually download and install build 4053 from
http://www.microsoft.com/downloads/...40ffb072-9112bab119c2&displaylang=en#filelist.

3. Distribute vcredist_x86.exe with your application and provide a small
setup program with your application.

4. Include the files in \Microsoft Visual Studio
8\VC\redist\x86\Microsoft.VC80.CRT\ as a private SxS assembly with your
application. (No separate installation on your cusomer's computer
required.)

Regards,

Rossetoecioccolato.
 
Hi Rossetoecioccolato,

If you have no Visual Studio installed on your machine, automatic update
only updates ATL from 762 to 4053, it does NOT update CRT/MFC. This is the
main issue. If they had only included CRT/MFC it wouldn't have been as big
a deal for customers.

Ted.
 
Ted,

Thanks for the clarification. The other 3 options should work, however.
Option 4 (private SxS assembly), in particular, would seem appropriate when
not using a a setup program to install the application. (If the OP were
using a setup program then the dependencies would have been updated as part
of that process.)

Regards,

Rossetoecioccolato.
 
Any chance of finding out what the better work around is? Un-installing the
breaking change that just lost me a whole day seems like the safest option.

Wayne.
 
None of the 4 suggestions worked for me...has anybody figured an easy way to
just get these dlls?
 
Back
Top