From e3d7240d92c33c557f783777a4dc323ad3f79c09 Mon Sep 17 00:00:00 2001 From: rdb Date: Fri, 25 Dec 2009 18:39:42 +0000 Subject: [PATCH] Fix the longstanding side-by-side assembly issue on WIndows (aka mysterious .NET 3.5 framework dependency) --- makepanda/makepandacore.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/makepanda/makepandacore.py b/makepanda/makepandacore.py index ae52eb05c7..21c16d20c6 100644 --- a/makepanda/makepandacore.py +++ b/makepanda/makepandacore.py @@ -757,10 +757,16 @@ def GetThirdpartyDir(): ######################################################################## ## ## Visual Studio Manifest Manipulation. +## These functions exist to make sure we are referencing the same +## version of the VC runtime in the manifests that we are shipping +## with Panda3D, to avoid side-by-side configuration errors. Also, +## it also removes any dependency the VC80 CRT (as we only want to +## depend on the VC90 CRT). ## ######################################################################## VC90CRTVERSIONRE=re.compile("name=['\"]Microsoft.VC90.CRT['\"]\\s+version=['\"]([0-9.]+)['\"]") +VC80CRTASSEMBLYRE=re.compile("[\t \n]*[\t \n]*[\t \n]*()?[\t \n]*[\t \n]*[\t \n]*") VC90CRTVERSION=None def GetVC90CRTVersion(fn = None): @@ -784,6 +790,7 @@ def SetVC90CRTVersion(fn, ver = None): manifest = ReadFile(fn) subst = " name='Microsoft.VC90.CRT' version='"+ver+"' " manifest = VC90CRTVERSIONRE.sub(subst, manifest) + manifest = VC80CRTASSEMBLYRE.sub("", manifest) WriteFile(fn, manifest) ########################################################################