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
