Fix the longstanding side-by-side assembly issue on WIndows (aka mysterious .NET 3.5 framework dependency)
This commit is contained in:
parent
940265ffcb
commit
e3d7240d92
|
|
@ -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("<dependency>[\t \n]*<dependentAssembly>[\t \n]*<assemblyIdentity[\t \na-zA-Z0-9.'\"=]*name=['\"]Microsoft[.]VC80[.]CRT['\"][\t \na-zA-Z0-9.'\"=/]*>[\t \n]*(</assemblyIdentity>)?[\t \n]*</dependentAssembly>[\t \n]*</dependency>[\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)
|
||||
|
||||
########################################################################
|
||||
|
|
|
|||
Loading…
Reference in New Issue