diff --git a/.github/actions/spell-check/dictionary/microsoft.txt b/.github/actions/spell-check/dictionary/microsoft.txt index 6421c6bb666..50831af918c 100644 --- a/.github/actions/spell-check/dictionary/microsoft.txt +++ b/.github/actions/spell-check/dictionary/microsoft.txt @@ -5,4 +5,5 @@ microsoftonline osgvsowi powershell tdbuildteamid +vcruntime visualstudio diff --git a/.github/actions/spell-check/whitelist/whitelist.txt b/.github/actions/spell-check/whitelist/whitelist.txt index f71dde01479..58da42f6e46 100644 --- a/.github/actions/spell-check/whitelist/whitelist.txt +++ b/.github/actions/spell-check/whitelist/whitelist.txt @@ -596,6 +596,7 @@ Delt demoable depersist deprioritized +deps deque deref deserialization diff --git a/build/scripts/Test-WindowsTerminalPackage.ps1 b/build/scripts/Test-WindowsTerminalPackage.ps1 index 23da009c63f..5958a69f8b5 100644 --- a/build/scripts/Test-WindowsTerminalPackage.ps1 +++ b/build/scripts/Test-WindowsTerminalPackage.ps1 @@ -68,6 +68,27 @@ Try { } } + $dependencies = $Manifest.Package.Dependencies.PackageDependency.Name + $depsHasVclibsDesktop = ("Microsoft.VCLibs.140.00.UWPDesktop" -in $dependencies) -or ("Microsoft.VCLibs.140.00.Debug.UWPDesktop" -in $dependencies) + $depsHasVcLibsAppX = ("Microsoft.VCLibs.140.00" -in $dependencies) -or ("Microsoft.VCLibs.140.00.Debug" -in $dependencies) + $filesHasVclibsDesktop = ($null -ne (Get-Item "$AppxPackageRootPath\vcruntime140.dll" -EA:Ignore)) -or ($null -ne (Get-Item "$AppxPackageRootPath\vcruntime140d.dll" -EA:Ignore)) + $filesHasVclibsAppX = ($null -ne (Get-Item "$AppxPackageRootPath\vcruntime140_app.dll" -EA:Ignore)) -or ($null -ne (Get-Item "$AppxPackageRootPath\vcruntime140d_app.dll" -EA:Ignore)) + + If ($depsHasVclibsDesktop -Eq $filesHasVclibsDesktop) { + $eitherBoth = if ($depsHasVclibsDesktop) { "both" } else { "neither" } + $neitherNor = if ($depsHasVclibsDesktop) { "and" } else { "nor" } + Throw "Package has $eitherBoth Dependency $neitherNor Integrated Desktop VCLibs" + } + + If ($depsHasVclibsAppx -Eq $filesHasVclibsAppx) { + if ($depsHasVclibsAppx) { + # We've shipped like this forever, so downgrade to warning. + Write-Warning "Package has both Dependency and Integrated AppX VCLibs" + } else { + Throw "Package has neither Dependency nor Integrated AppX VCLibs" + } + } + ### Check that we have an App.xbf (which is a proxy for our resources having been merged) $resourceXpath = '/PriInfo/ResourceMap/ResourceMapSubtree[@name="Files"]/NamedResource[@name="App.xbf"]' $AppXbf = $PRIFile.SelectSingleNode($resourceXpath) diff --git a/src/cascadia/CascadiaPackage/CascadiaPackage.wapproj b/src/cascadia/CascadiaPackage/CascadiaPackage.wapproj index 97a6d26fb2a..69cb812cf3e 100644 --- a/src/cascadia/CascadiaPackage/CascadiaPackage.wapproj +++ b/src/cascadia/CascadiaPackage/CascadiaPackage.wapproj @@ -106,6 +106,30 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/cascadia/WindowsTerminal/WindowsTerminal.vcxproj b/src/cascadia/WindowsTerminal/WindowsTerminal.vcxproj index 475e19cabe9..dd24b6c3738 100644 --- a/src/cascadia/WindowsTerminal/WindowsTerminal.vcxproj +++ b/src/cascadia/WindowsTerminal/WindowsTerminal.vcxproj @@ -115,6 +115,21 @@ + + + x86 + $(Platform) + + + + + <_OpenConsoleVCLibToCopy Include="$(VCToolsRedistInstallDir)\$(ReasonablePlatform)\Microsoft.VC142.CRT\*.dll"> + %(Filename)%(Extension) + + + + + + + $(ProjectName) + BuiltProjectOutputGroup + + - \ No newline at end of file +