On 13.02.2010 11:55, Adrian Buehlmann wrote: > I finally got a new mercurial msi installer [1] working on a clean Windows XP > x86 SP3 > (running in a VirtualBox VM) by installing > > Microsoft Visual C++ 2008 SP1 Redistributable Package (x86) > > as available for download at > > http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en > > If this package is not installed, you will see the following when > trying to run hg: > > C:\Program Files\Mercurial>hg version > The system cannot execute the specified program. > > Dependency walker [2] will report: > > ''' > Error: The Side-by-Side configuration information in "c:\program > files\mercurial\HG.EXE" > contains errors. This application has failed to start because the application > configuration > is incorrect. Reinstalling the application may fix this problem (14001). > ''' > > ("Reinstalling the application" won't help here). > > Steve and (to some extent) I are currently looking into how to best fix this > in > thg-winbuild. > > The merge modules contained in the current msi builds produced by thg-winbuild > apparently don't work for Windows XP. > > On clean Windows 7 Ultimate x64 and x86 the msi install is fine. > > [1] http://bitbucket.org/tortoisehg/thg-winbuild, revision 0cdda5ce2ad5 > [2] C:\Program Files (x86)\Microsoft Visual Studio > 8\Common7\Tools\Bin\Depends.Exe >
Did some further experimenting: (1) Starting with a clean Win XP x86, "mercurial-unstable-1.4.3+98-41d0ed2c79df.msi" installed a "x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_6f74963e" in "C:\WINDOWS\WinSxS" but touches nothing in "C:\WINDOWS\WinSxS\Policies". (2) Staring with a clean Win XP x86 again, "vcredist_x86.exe" installed a "x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_6f74963e" "C:\WINDOWS\WinSxS" (plus other things I won't mention here) AND "x86_policy.9.0.Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_x-ww_b7353f75" in "C:\WINDOWS\WinSxS\Policies". As we know, combining (2) with (1) leads to a working hg.exe. I bet this is caused by the additional entry in Policies. I bet we need to merge the policy merge module as well. I'm going to try doing that on thg-winbuild. ---------------------------------------- Some possibly relevant pointers and info ---------------------------------------- Using http://www.google.com/search?hl=en&source=hp&q=policy+merge+module&aq=0&aqi=g1&oq=policy+merge I read http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/be46e4af-980a-4425-b903-9f7e196b19f8 Which contains: ''' The policy msm contains the redirection that makes everything work. It's essentially a version redirection policy file rather like a publisher policy assembly in the GAC. The internal policy file says something like "if a a requestor comes along with a requirement in his manifest for versions 8.0.50727.42 to 8.0.50727.762 then redirect them to this Dll". So if you don't install the policy file it's likely that (say) VS 2005 RTM code files will fail if you install the SP1 CRT merge module. ''' http://blogs.msdn.com/astebner/archive/2007/02/13/building-an-msi-using-wix-v3-0-that-includes-the-vc-8-0-runtime-merge-modules.aspx "Building an MSI using WiX v3.0 that includes the VC 8.0 runtime merge modules" in "Aaron Stebner's WebLog" with a comment from AlexPerry of Wednesday, January 27, 2010 (full quote): ''' Realise that this post was a long time ago but it was very useful to me recently (only just moved to vs2008 from 2005) - However there is an issue in not merging the policy files for the CRT. By default vc90 (version in vs2008) will request the oldest version of CRT which is compatible for the widest coverage (on my system CRT version requested is 9.0.21022.8) - however the version in the msi will be the more recent version (on my system is 9.0.30729.4148). If the policy file is not merged then this will not load at run time (the compatability of versions is controlled by the winners value in the registry which is set in the policy). Alternatively you may use a #define to change the version of CRT that is required so it does match but merging the policy as well seems simpler. ''' ------------------------------------------------------------------------------ SOLARIS 10 is the OS for Data Centers - provides features such as DTrace, Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW http://p.sf.net/sfu/solaris-dev2dev _______________________________________________ Tortoisehg-develop mailing list Tortoisehg-develop@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop