mirror of https://github.com/python/cpython
Issue 24476: Statically links vcruntime140.dll and removes it from the installer
This commit is contained in:
commit
81fdd0b868
|
@ -32,7 +32,7 @@
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
<StringPooling>true</StringPooling>
|
<StringPooling>true</StringPooling>
|
||||||
<ExceptionHandling></ExceptionHandling>
|
<ExceptionHandling></ExceptionHandling>
|
||||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
<ClCompile Condition="$(Configuration) == 'Debug'">
|
<ClCompile Condition="$(Configuration) == 'Debug'">
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
@ -53,7 +53,9 @@
|
||||||
<RandomizedBaseAddress>true</RandomizedBaseAddress>
|
<RandomizedBaseAddress>true</RandomizedBaseAddress>
|
||||||
<DataExecutionPrevention>true</DataExecutionPrevention>
|
<DataExecutionPrevention>true</DataExecutionPrevention>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<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>MachineX86</TargetMachine>
|
||||||
<TargetMachine Condition="'$(Platform)' == 'x64'">MachineX64</TargetMachine>
|
<TargetMachine Condition="'$(Platform)' == 'x64'">MachineX64</TargetMachine>
|
||||||
<ProfileGuidedDatabase Condition="$(SupportPGO)">$(OutDir)$(TargetName).pgd</ProfileGuidedDatabase>
|
<ProfileGuidedDatabase Condition="$(SupportPGO)">$(OutDir)$(TargetName).pgd</ProfileGuidedDatabase>
|
||||||
|
|
|
@ -2402,8 +2402,6 @@ private:
|
||||||
// Check whether at least CRT v10.0.9924.0 is available.
|
// Check whether at least CRT v10.0.9924.0 is available.
|
||||||
// It should only be installed as a Windows Update package, which means
|
// It should only be installed as a Windows Update package, which means
|
||||||
// we don't need to worry about 32-bit/64-bit.
|
// 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";
|
LPCWSTR crtFile = L"api-ms-win-crt-runtime-l1-1-0.dll";
|
||||||
|
|
||||||
DWORD cbVer = GetFileVersionInfoSizeW(crtFile, nullptr);
|
DWORD cbVer = GetFileVersionInfoSizeW(crtFile, nullptr);
|
||||||
|
|
|
@ -61,7 +61,6 @@
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Package Include="..\core\core*.wixproj" />
|
<Package Include="..\core\core*.wixproj" />
|
||||||
<Package Include="..\crt\crt*.wixproj" />
|
|
||||||
<Package Include="..\dev\dev*.wixproj" />
|
<Package Include="..\dev\dev*.wixproj" />
|
||||||
<Package Include="..\doc\doc*.wixproj" />
|
<Package Include="..\doc\doc*.wixproj" />
|
||||||
<Package Include="..\exe\exe*.wixproj" />
|
<Package Include="..\exe\exe*.wixproj" />
|
||||||
|
|
|
@ -6,25 +6,6 @@
|
||||||
<PackageGroupRef Id="crt_14.0_v6.1" />
|
<PackageGroupRef Id="crt_14.0_v6.1" />
|
||||||
<PackageGroupRef Id="crt_14.0_v6.2" />
|
<PackageGroupRef Id="crt_14.0_v6.2" />
|
||||||
<PackageGroupRef Id="crt_14.0_v6.3" />
|
<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>
|
</PackageGroup>
|
||||||
</Fragment>
|
</Fragment>
|
||||||
|
|
||||||
|
|
|
@ -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>
|
|
|
@ -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>
|
|
||||||
|
|
|
@ -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>
|
|
|
@ -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>
|
|
|
@ -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.
|
|
||||||
|
|
|
@ -5,11 +5,8 @@ Additional Conditions for this Windows binary build
|
||||||
|
|
||||||
This program is linked with and uses Microsoft Distributable Code,
|
This program is linked with and uses Microsoft Distributable Code,
|
||||||
copyrighted by Microsoft Corporation. The Microsoft Distributable Code
|
copyrighted by Microsoft Corporation. The Microsoft Distributable Code
|
||||||
includes the following files:
|
is embedded in each .exe, .dll and .pyd file as a result of running
|
||||||
|
the code through a linker.
|
||||||
msvcr90.dll
|
|
||||||
msvcp90.dll
|
|
||||||
msvcm90.dll
|
|
||||||
|
|
||||||
If you further distribute programs that include the Microsoft
|
If you further distribute programs that include the Microsoft
|
||||||
Distributable Code, you must comply with the restrictions on
|
Distributable Code, you must comply with the restrictions on
|
||||||
|
|
Loading…
Reference in New Issue