Re: [Audacity-devel] 1.3.13rc3 freeze
A free multi-track audio editor and recorder
Brought to you by:
aosiniao
From: Vaughan J. <va...@au...> - 2011-04-08 19:11:53
|
Putting this on -quality, too, in case other QA folks have any input. On 4/7/2011 6:16 PM, Gale (Audacity Team) wrote: > Vaughan wrote: >> I still am unclear on 4.6. Do you mean we no longer need to do *anything* >> special >> for these manifests? In that case the whole of step 4 should just be >> removed. > As I understand it, we need the "9.0.21022.8" manifest. The issue is that if > we don't then distribute matching "9.0.21022.8" msvc*.dlls, then we lay > ourselves open to that "error R6034" on launch, because the only way we know > to stop that error is to distribute dll's that match the manifest. Do we *know* that stopped the error? Al heard it was okay the way we were doing it, but thought it *might* cause the error R6034 problem (http://wiki.audacityteam.org/wiki/Release_Process/Win#Copy_other_necessities_to_release_build_folder 4.5) that afaik we hadn't replicated but heard about, rarely. Then (and I don't think I was aware of this) for 1.3.12 it was decided we go with *old* (pre-sp) versions of the DLL's, even though we had no proof using the 9.0.30729.1 SP DLL's with the hacked Manifest caused any problem, and had in fact been necessary. That means we threw out any fixes in the VC++ sp that are in the 9.0.30729.1 SP DLL's. I'm sure Microsoft had compelling reasons to patch it, and we should use the latest DLL's. I don't even know where we can get those old DLL's from a reliable source. (See below.) In short, I think that decision for 1.3.12 was unwise, and we should remove points 4.5 and 4.6, and the rc3 Martyn posted is probably fine. So let's confirm that. Can you please, on a Windows machine that has *no* msvc*90.dll's installed anywhere, install the Unicode rc3, and see if it works? If you or somebody else cannot, let me know. I'm very pressed for time, so it might be a while before I can do it. Later, it might even be worth trying it on a machine with no msvc*90.dll's, with an installer that has both the 9.0.30729.1 manifest (not hacked) and dll's. Some system patch may have fixed the problem we encountered with 1.3.8. > > So "comments" 4.5 and 4.6 are correct but the step 4.4 (and > audacity_unicode.iss if we used that to pull the dll's) would have to > change. > > 4.4 says "The *.iss scripts (see "Build the Installer" below) will pick up > the replacement manifest and DLLs from C:\Program Files\Microsoft Visual > Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT." > > but that path is only going to get the later dll's. On my Win 7 x64, the > only place I have "9.0.21022.8" versions of the two dll's we want is: > > "C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91" > > and > > "C:\Windows\winsxs\amd64_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_750b37ff97f4f68b" > > The x86 path (in my case) is the path I want. Those are just accidents of previous installs of the runtimes. You probably have multiple copies of the 9.0.30729.1 SP versions as well. > > Whoever built 1.3.12 Unicode (Al?) obviously replaced the two dll's > manually, but if we changed audacity_unicode iss we would have to recurse > the path "C:\Windows\winsxs" I guess to make sure the dll's were found? Unfortunately, they'd be in a different place on different builder's winsxs tree. E.g., you have two copies, probably from two installs of different apps that put them in that tree rather than in the app directory. This DLL hell is why we install them in the Audacity app directory, so at runtime, the DLL-loader doesn't wander around the winsxs tree, possibly getting DLL's that match the manifest, but that we didn't install and cannot be sure of. The .iss should get them from "C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT". Those are consistent on every builder's machine (unless they installed MSVS someplace other than default). And btw, step 4.4 should say 4.4 says "The audacity_unicode.iss script..." because the ANSI build is using VC8 and all this doesn't apply, right? > > I'm sorry I didn't remove 4.5 and 4.6 and make this crystal clear, but I > didn't do so because I wasn't sure if we wanted to just replace the files > manually or figure out how to change the installer script. Neither, I think! :-) And I don't think it's possible to make DLL Hell crystal clear. :-( Thanks for trying, though. - Vaughan |