]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Issue 24476: Statically links vcruntime140.dll and removes it from the installer
authorSteve Dower <steve.dower@microsoft.com>
Fri, 19 Jun 2015 17:49:04 +0000 (10:49 -0700)
committerSteve Dower <steve.dower@microsoft.com>
Fri, 19 Jun 2015 17:49:04 +0000 (10:49 -0700)
PCbuild/pyproject.props
Tools/msi/bundle/bootstrap/PythonBootstrapperApplication.cpp
Tools/msi/bundle/bundle.targets
Tools/msi/bundle/packagegroups/crt.wxs
Tools/msi/crt/crt.wixproj [deleted file]
Tools/msi/crt/crt.wxs [deleted file]
Tools/msi/crt/crt_en-US.wxl [deleted file]
Tools/msi/crt/crt_files.wxs [deleted file]
Tools/msi/crt/crtlicense.txt [deleted file]
Tools/msi/exe/crtlicense.txt

index 1afbfe1639d1ef94636e9bda8da86121110dc6cc..d8f39e49aa3f44c41522a96c7d4ceeeeac79d3a1 100644 (file)
@@ -32,7 +32,7 @@
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <StringPooling>true</StringPooling>
       <ExceptionHandling></ExceptionHandling>
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <WarningLevel>Level3</WarningLevel>
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
@@ -43,7 +43,7 @@
     <ClCompile Condition="$(Configuration) == 'Debug'">
       <Optimization>Disabled</Optimization>
       <WholeProgramOptimization>false</WholeProgramOptimization>
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
     </ClCompile>
     <Link>
       <AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
@@ -53,7 +53,9 @@
       <RandomizedBaseAddress>true</RandomizedBaseAddress>
       <DataExecutionPrevention>true</DataExecutionPrevention>
       <SuppressStartupBanner>true</SuppressStartupBanner>
-      <IgnoreSpecificDefaultLibraries>LIBC;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+      <AdditionalDependencies Condition="$(Configuration) == 'Debug'">ucrtd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies Condition="$(Configuration) != 'Debug'">ucrt.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <IgnoreSpecificDefaultLibraries>LIBC;libucrt.lib;libucrtd.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
       <TargetMachine>MachineX86</TargetMachine>
       <TargetMachine Condition="'$(Platform)' == 'x64'">MachineX64</TargetMachine>
       <ProfileGuidedDatabase Condition="$(SupportPGO)">$(OutDir)$(TargetName).pgd</ProfileGuidedDatabase>
index 62b9614daf70127ddd86a3178e0dabbeda582a41..1917937f6bf55252651974bbd8bf1b82c6d97fd3 100644 (file)
@@ -2402,8 +2402,6 @@ private:
         // Check whether at least CRT v10.0.9924.0 is available.
         // It should only be installed as a Windows Update package, which means
         // we don't need to worry about 32-bit/64-bit.
-        // However, since the WU package does not include vcruntime140.dll, we
-        // still install that ourselves.
         LPCWSTR crtFile = L"api-ms-win-crt-runtime-l1-1-0.dll";
 
         DWORD cbVer = GetFileVersionInfoSizeW(crtFile, nullptr);
index cc7e44502387119ea0e7a02737a6b35eb8de7ef0..363c4e3efa2218c36404741403ab31e55a03551e 100644 (file)
@@ -61,7 +61,6 @@
     </ItemDefinitionGroup>
     <ItemGroup>
         <Package Include="..\core\core*.wixproj" />
-        <Package Include="..\crt\crt*.wixproj" />
         <Package Include="..\dev\dev*.wixproj" />
         <Package Include="..\doc\doc*.wixproj" />
         <Package Include="..\exe\exe*.wixproj" />
index b0797009f63ec6f29297d8bcc1b591c35a1d66e0..32b063ffceb7f29e27a56a4c1165d7c2c7944d43 100644 (file)
@@ -6,25 +6,6 @@
             <PackageGroupRef Id="crt_14.0_v6.1" />
             <PackageGroupRef Id="crt_14.0_v6.2" />
             <PackageGroupRef Id="crt_14.0_v6.3" />
-
-            <MsiPackage Id="crt_AllUsers"
-                        SourceFile="crt.msi"
-                        Compressed="$(var.CompressMSI)"
-                        DownloadUrl="$(var.DownloadUrl)"
-                        ForcePerMachine="yes"
-                        InstallCondition="InstallAllUsers and (Include_core or Include_exe or Include_launcher or Include_pip)">
-                <!-- TARGETDIR will be ignored, but must still be provided -->
-                <MsiProperty Name="TARGETDIR" Value="[TargetDir]" />
-            </MsiPackage>
-            
-            <MsiPackage Id="crt_JustForMe"
-                        SourceFile="crt.msi"
-                        Compressed="$(var.CompressMSI)"
-                        DownloadUrl="$(var.DownloadUrl)"
-                        ForcePerMachine="no"
-                        InstallCondition="not InstallAllUsers and (Include_core or Include_exe or Include_launcher or Include_pip)">
-                <MsiProperty Name="TARGETDIR" Value="[TargetDir]" />
-            </MsiPackage>
         </PackageGroup>
     </Fragment>
 
diff --git a/Tools/msi/crt/crt.wixproj b/Tools/msi/crt/crt.wixproj
deleted file mode 100644 (file)
index 75295ba..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-    <PropertyGroup>
-        <ProjectGuid>{91C99298-8E2E-4422-A5AF-CC4FFF9A58D3}</ProjectGuid>
-        <SchemaVersion>2.0</SchemaVersion>
-        <OutputName>crt</OutputName>
-        <OutputType>Package</OutputType>
-        <SuppressIces>ICE71</SuppressIces>
-    </PropertyGroup>
-    <Import Project="..\msi.props" />
-    <ItemGroup>
-        <Compile Include="crt.wxs" />
-        <Compile Include="crt_files.wxs" />
-    </ItemGroup>
-    <ItemGroup>
-        <EmbeddedResource Include="*.wxl" />
-    </ItemGroup>
-    
-    <Import Project="..\msi.targets" />
-</Project>
\ No newline at end of file
diff --git a/Tools/msi/crt/crt.wxs b/Tools/msi/crt/crt.wxs
deleted file mode 100644 (file)
index 5b10095..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-    <Product Id="*" Language="!(loc.LCID)" Name="!(loc.Title)" Version="$(var.Version)" Manufacturer="!(loc.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
-        <Package InstallerVersion="300" Compressed="yes" InstallScope="perUser" Platform="$(var.Platform)" />
-        <MediaTemplate EmbedCab="yes" CompressionLevel="high" />
-        
-        <PropertyRef Id="UpgradeTable" />
-        
-        <?if $(var.Platform)~=x64 ?>
-        <?define DirName=System64?>
-        <?else ?>
-        <?define DirName=System?>
-        <?endif ?>
-        <DirectoryRef Id="TARGETDIR">
-            <Directory Id="$(var.DirName)Folder" Name="$(var.DirName)">
-                <Directory Id="SystemInstallDirectory" Name="." />
-            </Directory>
-        </DirectoryRef>
-        <?undef DirName ?>
-        
-        <Feature Id="DefaultFeature" AllowAdvertise="no" Title="!(loc.Title)" Description="!(loc.Description)">
-            <ComponentGroupRef Id="crt_files" />
-        </Feature>
-    </Product>
-</Wix>
-
diff --git a/Tools/msi/crt/crt_en-US.wxl b/Tools/msi/crt/crt_en-US.wxl
deleted file mode 100644 (file)
index cee3c8a..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.com/wix/2006/localization">
-    <String Id="Descriptor">C Runtime</String>
-    <String Id="ShortDescriptor">crt</String>
-</WixLocalization>
diff --git a/Tools/msi/crt/crt_files.wxs b/Tools/msi/crt/crt_files.wxs
deleted file mode 100644 (file)
index 46f7d6e..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
-    <Fragment>
-        <?if $(var.Platform)~=x64 ?>
-        <?define vcruntime140Guid={B33258FD-750C-3B42-8BE4-535B48E97DB4}?>
-        <?else ?>
-        <?define vcruntime140Guid={E8E39D3B-4F35-36D8-B892-4B28336FE041}?>
-        <?endif ?>
-        <ComponentGroup Id="crt_files">
-            <Component Id="vcruntime140.dll_LM" Directory="SystemInstallDirectory" Guid="$(var.vcruntime140Guid)" Shared="yes" SharedDllRefCount="yes">
-                <Condition>ALLUSERS=1</Condition>
-                <File Id="vcruntime140.dll_LM" Source="!(bindpath.crt)\vcruntime140.dll" />
-            </Component>
-            <Component Id="vcruntime140.dll_CU" Directory="InstallDirectory" Guid="*">
-                <Condition>NOT ALLUSERS=1</Condition>
-                <File Id="vcruntime140.dll_CU" Source="!(bindpath.crt)\vcruntime140.dll" />
-            </Component>
-        </ComponentGroup>
-    </Fragment>
-</Wix>
diff --git a/Tools/msi/crt/crtlicense.txt b/Tools/msi/crt/crtlicense.txt
deleted file mode 100644 (file)
index 1f0f1f9..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-Additional Conditions for this Windows binary build
----------------------------------------------------
-
-This program is linked with and uses Microsoft Distributable Code,
-copyrighted by Microsoft Corporation. The Microsoft Distributable Code
-includes the following files:
-
-appcrt140.dll
-desktopcrt140.dll
-vcruntime140.dll
-msvcp140.dll
-concrt140.dll
-vccorlib140.dll
-
-If you further distribute programs that include the Microsoft
-Distributable Code, you must comply with the restrictions on
-distribution specified by Microsoft. In particular, you must require
-distributors and external end users to agree to terms that protect the
-Microsoft Distributable Code at least as much as Microsoft's own
-requirements for the Distributable Code. See Microsoft's documentation
-(included in its developer tools and on its website at microsoft.com)
-for specific details.
-
-Redistribution of the Windows binary build of the Python interpreter
-complies with this agreement, provided that you do not:
-
-- alter any copyright, trademark or patent notice in Microsoft's
-Distributable Code;
-
-- use Microsoft's trademarks in your programs' names or in a way that
-suggests your programs come from or are endorsed by Microsoft;
-
-- distribute Microsoft's Distributable Code to run on a platform other
-than Microsoft operating systems, run-time technologies or application
-platforms; or
-
-- include Microsoft Distributable Code in malicious, deceptive or
-unlawful programs.
-
-These restrictions apply only to the Microsoft Distributable Code as
-defined above, not to Python itself or any programs running on the
-Python interpreter. The redistribution of the Python interpreter and
-libraries is governed by the Python Software License included with this
-file, or by other licenses as marked.
-
index 936bc5ad532d19f7ef3bb7fa53e51e6adf9cbd52..f86841f263efe824f4336d162a6662881a7aad10 100644 (file)
@@ -5,11 +5,8 @@ Additional Conditions for this Windows binary build
 
 This program is linked with and uses Microsoft Distributable Code,
 copyrighted by Microsoft Corporation. The Microsoft Distributable Code
-includes the following files:
-
-msvcr90.dll
-msvcp90.dll
-msvcm90.dll
+is embedded in each .exe, .dll and .pyd file as a result of running
+the code through a linker.
 
 If you further distribute programs that include the Microsoft
 Distributable Code, you must comply with the restrictions on