Issue 24476: Statically links vcruntime140.dll and removes it from the installer
This commit is contained in:
parent
4ab4ac8e03
commit
6d58f8dc52
|
@ -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>
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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" />
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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,
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue