Brendan77655

Hi there,

We have an application that uses VC++ 2005. For the runtime libraries we distribute them as private assemblies (which is to say we include the manifest and the msvc*.dll files in our application directory). This worked fine with the RTM.

When we installed SP1, we updated the manifest and dll files to the SP1 versions but we have found that the application will not load on any machine that doesn't already have SP1 installed. It seems that the runtime redistributables will no longer work as private assemblies.

Has anyone had any experience getting this going (or know of a reason why it no longer works)

Thanks,

Brendan



Re: Visual C++ General SP1 redistibutables can't run as private assemblies

Marius Bancila

Make sure that the version number in the manifest and the ones of the distributed assembly match. I had problems because of that.




Re: Visual C++ General SP1 redistibutables can't run as private assemblies

Ted.

Agreed with Marius - they do work, I just had to manipulate the manifest files a bit (not sure if the manipulation step was required, but the new manifests in the vc\redist folder had a lot of extra hashing crap in them that wasn't there in RTM version). 

< xml version="1.0" encoding="UTF-8" standalone="yes" >
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <noInheritable></noInheritable>
    <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    <file name="msvcr80.dll"/>
    <file name="msvcp80.dll"/>
</assembly>

 

< xml version="1.0" encoding="UTF-8" standalone="yes" >
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <noInheritable></noInheritable>
    <assemblyIdentity type="win32" name="Microsoft.VC80.MFC" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    <file name="mfc80.dll"/>
</assembly>

P.S. Add the files you deem necessary for your particular (I've stripped out the ones I don't require for my app).

 





Re: Visual C++ General SP1 redistibutables can't run as private assemblies

Brendan

Thanks for that. I had changed the manifest files to be (I thought) exactly the same as what you had listed. I won't get a chance to look at this again for a week or so but I will check again and see how I go.

It is good at least knowing that others have managed to make this work.

Thanks again,

Brendan