Manifests, Microsoft.VC90.CRT and vc_redist

Paul Chitescu paulc at voip.null.ro
Mon Jul 12 05:44:05 CDT 2010


On Monday 12 July 2010 12:49:02 pm Peter Urbanec wrote:
>   I'm trying to get my head around the mess generated by SxS, isolated 
> apps, embedded manifests, local deployment and all the other "solutions" 
> to DLL hell. It's hard enough to make it work on Windows, but making it 
> work well under wine is another challenge.
> 
> In a nutshell, I'd like to ship a custom wine64 RPM package that can 
> co-exist with distribution provided wine32 RPMs. I also want to make a 
> couple of companion RPMs, which provide x64 apps that depend on my 
> wine64 RPM. I don't want to require an installation of the x64 packages 
> under Wine. i.e. I want to avoid the requirement to run vcredist_x64.exe 
> for each user. The most obvious solution to this seems to be to include 
> the DLLs from "Microsoft Visual Studio 
> 9.0\VC\redist\amd64\Microsoft.VC90.CRT" in the same dir as the x64 
> application executable, known as "application local deployment".
> 
> Now, this is where I get confused. The VC redist files provide DLLs with 
> version 9.0.30729.1, whereas the manifest embedded in the application 
> has version 9.0.21022.8. When the 9.0.30729.1 VC redist files are 
> installed in the windows dir, the associated policies will redirect 
> requests for 9.0.21022.8 to use 9.0.30729.1, but this does not seem to 
> work when the DLLs are deployed in the app directory.
> 
> Wine itself provides msvcr90.dll.so, which as far as I can tell doesn't 
> play the manifest games or provide any particular version number.
> 
> Should I be using msvcr90.dll from VC redist?
> 
> Should I be using msvcr90.dll.so provided by wine? If so, how do I tell 
> wine to ignore manifests and just load the DLLs found in the app dir?
> 
> Thanks for any insights you could provide.

Hi!

You need a special manifest to redistribute the VC runtimes in the 
application's directory. This is provided with Visual C++ (but not with the 
Express edition that doesn't allow you to distribute the created 
applications).

I don't think I am allowed to publish that manifest. Please find one somewhere 
on the net or in some application that installs msvc*90 locally. Hint: no 
hashes are provided for files, just the DLL name.

Paul




More information about the wine-devel mailing list