Enable platform-specific CAs, including ARM64

- Update to latest dependencies.
This commit is contained in:
Bob Arnson 2020-06-14 16:03:52 -04:00 коммит произвёл Bob Arnson
Родитель 5aee3f30c2
Коммит 1979837ff7
11 изменённых файлов: 155 добавлений и 21 удалений

Просмотреть файл

@ -9,5 +9,8 @@ msbuild -p:Configuration=Release src\test\WixToolsetTest.NetFx\WixToolsetTest.Ne
msbuild -p:Configuration=Release -t:Pack src\wixext\WixToolset.NetFx.wixext.csproj
msbuild -p:Configuration=Release src\test\WixToolsetTest.Netfx\WixToolsetTest.Netfx.csproj
dotnet test -c Release --no-build src\test\WixToolsetTest.Netfx
@popd
@endlocal

Просмотреть файл

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\packages\WixToolset.WcaUtil.4.0.11\build\WixToolset.WcaUtil.props" Condition="Exists('..\..\packages\WixToolset.WcaUtil.4.0.11\build\WixToolset.WcaUtil.props')" />
<Import Project="..\..\packages\WixToolset.DUtil.4.0.24\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.24\build\WixToolset.DUtil.props')" />
<Import Project="..\..\packages\WixToolset.DUtil.4.0.26\build\WixToolset.DUtil.props" Condition="Exists('..\..\packages\WixToolset.DUtil.4.0.26\build\WixToolset.DUtil.props')" />
<Import Project="..\..\packages\WixToolset.WcaUtil.4.0.13\build\WixToolset.WcaUtil.props" Condition="Exists('..\..\packages\WixToolset.WcaUtil.4.0.13\build\WixToolset.WcaUtil.props')" />
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@ -12,12 +12,36 @@
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM64">
<Configuration>Debug</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM64">
<Configuration>Release</Configuration>
<Platform>ARM64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}</ProjectGuid>
<ConfigurationType>DynamicLibrary</ConfigurationType>
<TargetName>netfxca</TargetName>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<ProjectModuleDefinitionFile>netfxca.def</ProjectModuleDefinitionFile>
<Description>WiX Toolset .NET Framework CustomAction</Description>
@ -46,7 +70,7 @@
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.24\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.24\build\WixToolset.DUtil.props'))" />
<Error Condition="!Exists('..\..\packages\WixToolset.WcaUtil.4.0.11\build\WixToolset.WcaUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.WcaUtil.4.0.11\build\WixToolset.WcaUtil.props'))" />
<Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.26\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.26\build\WixToolset.DUtil.props'))" />
<Error Condition="!Exists('..\..\packages\WixToolset.WcaUtil.4.0.13\build\WixToolset.WcaUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.WcaUtil.4.0.13\build\WixToolset.WcaUtil.props'))" />
</Target>
</Project>

Просмотреть файл

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="WixToolset.DUtil" version="4.0.24" targetFramework="native" />
<package id="WixToolset.WcaUtil" version="4.0.11" targetFramework="native" />
<package id="WixToolset.DUtil" version="4.0.26" targetFramework="native" />
<package id="WixToolset.WcaUtil" version="4.0.13" targetFramework="native" />
</packages>

Просмотреть файл

@ -42,17 +42,81 @@ namespace WixToolsetTest.Netfx
var folder = TestData.Get(@"TestData\UsingNativeImage");
var build = new Builder(folder, typeof(NetfxExtensionFactory), new[] { folder });
var results = build.BuildAndQuery(Build, "Wix4NetFxNativeImage");
var results = build.BuildAndQuery(Build, "Binary", "CustomAction", "Wix4NetFxNativeImage");
Assert.Equal(new[]
{
"Binary:Wix4NetFxCA_X86\t[Binary data]",
"CustomAction:Wix4NetFxExecuteNativeImageCommitInstall_X86\t3649\tWix4NetFxCA_X86\tExecNetFx\t",
"CustomAction:Wix4NetFxExecuteNativeImageCommitUninstall_X86\t3649\tWix4NetFxCA_X86\tExecNetFx\t",
"CustomAction:Wix4NetFxExecuteNativeImageInstall_X86\t3137\tWix4NetFxCA_X86\tExecNetFx\t",
"CustomAction:Wix4NetFxExecuteNativeImageUninstall_X86\t3137\tWix4NetFxCA_X86\tExecNetFx\t",
"CustomAction:Wix4NetFxScheduleNativeImage_X86\t1\tWix4NetFxCA_X86\tSchedNetFx\t",
"Wix4NetFxNativeImage:ExampleNgen\tfil6349_KNDJhqShNzVdHX3ihhvA6Y\t3\t8\t\t",
}, results.OrderBy(s => s).ToArray());
}
[Fact]
public void CanBuildUsingNativeImageX64()
{
var folder = TestData.Get(@"TestData\UsingNativeImage");
var build = new Builder(folder, typeof(NetfxExtensionFactory), new[] { folder });
var results = build.BuildAndQuery(BuildX64, "Binary", "CustomAction", "Wix4NetFxNativeImage");
Assert.Equal(new[]
{
"Binary:Wix4NetFxCA_X64\t[Binary data]",
"CustomAction:Wix4NetFxExecuteNativeImageCommitInstall_X64\t3649\tWix4NetFxCA_X64\tExecNetFx\t",
"CustomAction:Wix4NetFxExecuteNativeImageCommitUninstall_X64\t3649\tWix4NetFxCA_X64\tExecNetFx\t",
"CustomAction:Wix4NetFxExecuteNativeImageInstall_X64\t3137\tWix4NetFxCA_X64\tExecNetFx\t",
"CustomAction:Wix4NetFxExecuteNativeImageUninstall_X64\t3137\tWix4NetFxCA_X64\tExecNetFx\t",
"CustomAction:Wix4NetFxScheduleNativeImage_X64\t1\tWix4NetFxCA_X64\tSchedNetFx\t",
"Wix4NetFxNativeImage:ExampleNgen\tfil6349_KNDJhqShNzVdHX3ihhvA6Y\t3\t8\t\t",
}, results.OrderBy(s => s).ToArray());
}
[Fact]
public void CanBuildUsingNativeImageARM64()
{
var folder = TestData.Get(@"TestData\UsingNativeImage");
var build = new Builder(folder, typeof(NetfxExtensionFactory), new[] { folder });
var results = build.BuildAndQuery(BuildARM64, "Binary", "CustomAction", "Wix4NetFxNativeImage");
Assert.Equal(new[]
{
"Binary:Wix4NetFxCA_A64\t[Binary data]",
"CustomAction:Wix4NetFxExecuteNativeImageCommitInstall_A64\t3649\tWix4NetFxCA_A64\tExecNetFx\t",
"CustomAction:Wix4NetFxExecuteNativeImageCommitUninstall_A64\t3649\tWix4NetFxCA_A64\tExecNetFx\t",
"CustomAction:Wix4NetFxExecuteNativeImageInstall_A64\t3137\tWix4NetFxCA_A64\tExecNetFx\t",
"CustomAction:Wix4NetFxExecuteNativeImageUninstall_A64\t3137\tWix4NetFxCA_A64\tExecNetFx\t",
"CustomAction:Wix4NetFxScheduleNativeImage_A64\t1\tWix4NetFxCA_A64\tSchedNetFx\t",
"Wix4NetFxNativeImage:ExampleNgen\tfil6349_KNDJhqShNzVdHX3ihhvA6Y\t3\t8\t\t",
}, results.OrderBy(s => s).ToArray());
}
private static void Build(string[] args)
{
var result = WixRunner.Execute(args)
.AssertSuccess();
var result = WixRunner.Execute(args);
result.AssertSuccess();
}
private static void BuildX64(string[] args)
{
var newArgs = args.ToList();
newArgs.Add("-platform");
newArgs.Add("x64");
var result = WixRunner.Execute(newArgs.ToArray());
result.AssertSuccess();
}
private static void BuildARM64(string[] args)
{
var newArgs = args.ToList();
newArgs.Add("-platform");
newArgs.Add("arm64");
var result = WixRunner.Execute(newArgs.ToArray());
result.AssertSuccess();
}
}
}

Просмотреть файл

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
<Product Id="*" Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
<Package InstallerVersion="200" Compressed="no" InstallScope="perMachine" />
<Package InstallerVersion="500" Compressed="no" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="!(loc.DowngradeError)" />
<MediaTemplate />

Просмотреть файл

@ -145,7 +145,7 @@ namespace WixToolset.Netfx
this.ParseHelper.ParseForExtensionElements(this.Context.Extensions, intermediate, section, element);
this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "NetFxScheduleNativeImage", this.Context.Platform, CustomActionPlatforms.X86);
this.ParseHelper.CreateCustomActionReference(sourceLineNumbers, section, "NetFxScheduleNativeImage", this.Context.Platform, CustomActionPlatforms.ARM | CustomActionPlatforms.ARM64 | CustomActionPlatforms.X64 | CustomActionPlatforms.X86);
if (!this.Messaging.EncounteredError)
{

Просмотреть файл

@ -0,0 +1,8 @@
<?xml version="1.0"?>
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
<?define platform=arm ?>
<?include NetfxExtension_Platform.wxi ?>
</Wix>

Просмотреть файл

@ -0,0 +1,8 @@
<?xml version="1.0"?>
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
<?define platform=arm64 ?>
<?include NetfxExtension_Platform.wxi ?>
</Wix>

Просмотреть файл

@ -0,0 +1,8 @@
<?xml version="1.0"?>
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
<?define platform=x64 ?>
<?include NetfxExtension_Platform.wxi ?>
</Wix>

Просмотреть файл

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
<Project DefaultTargets="Build" InitialTargets="EnsureWixToolsetInstalled" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="15.0">
<Import Project="..\..\packages\WixToolset.MSBuild.4.0.0-build-0102\build\WixToolset.MSBuild.props" Condition="Exists('..\..\packages\WixToolset.MSBuild.4.0.0-build-0102\build\WixToolset.MSBuild.props')" />
<Import Project="..\..\packages\WixToolset.MSBuild.4.0.0-build-0133\build\WixToolset.MSBuild.props" Condition="Exists('..\..\packages\WixToolset.MSBuild.4.0.0-build-0133\build\WixToolset.MSBuild.props')" />
<Import Project="..\FindLocalWix.props" />
<PropertyGroup>
<ProjectGuid>{45e4a6ac-3190-4e17-83f0-9935ffa5dc2b}</ProjectGuid>
@ -28,6 +28,9 @@
<Compile Include="NetFx471.wxs" />
<Compile Include="NetFx472.wxs" />
<Compile Include="NetFx48.wxs" />
<Compile Include="NetFxExtension_arm.wxs" />
<Compile Include="NetFxExtension_arm64.wxs" />
<Compile Include="NetFxExtension_x64.wxs" />
<Compile Include="NetFxExtension_x86.wxs" />
<Compile Include="NetCore3.1.0_x64.wxs" />
<Compile Include="NetCore3.1.0_x86.wxs" />
@ -48,6 +51,22 @@
<ProjectReference Include="..\ca\netfxca.vcxproj">
<Name>netfxca</Name>
<Project>{F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}</Project>
<Properties>Platform=ARM</Properties>
</ProjectReference>
<ProjectReference Include="..\ca\netfxca.vcxproj">
<Name>netfxca</Name>
<Project>{F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}</Project>
<Properties>Platform=ARM64</Properties>
</ProjectReference>
<ProjectReference Include="..\ca\netfxca.vcxproj">
<Name>netfxca</Name>
<Project>{F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}</Project>
<Properties>Platform=x86</Properties>
</ProjectReference>
<ProjectReference Include="..\ca\netfxca.vcxproj">
<Name>netfxca</Name>
<Project>{F72D34CA-48DA-4DFD-91A9-A0C78BEF6981}</Project>
<Properties>Platform=x64</Properties>
</ProjectReference>
</ItemGroup>
<Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' AND Exists('$(WixTargetsPath)') " />
@ -60,11 +79,11 @@
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets'))" />
<Error Condition="!Exists('..\..\packages\WixToolset.MSBuild.4.0.0-build-0102\build\WixToolset.MSBuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.MSBuild.4.0.0-build-0102\build\WixToolset.MSBuild.props'))" />
<Error Condition="!Exists('..\..\packages\WixToolset.Bal.wixext.4.0.37\build\WixToolset.Bal.wixext.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.Bal.wixext.4.0.37\build\WixToolset.Bal.wixext.targets'))" />
<Error Condition="!Exists('..\..\packages\WixToolset.Util.wixext.4.0.32\build\WixToolset.Util.wixext.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.Util.wixext.4.0.32\build\WixToolset.Util.wixext.targets'))" />
<Error Condition="!Exists('..\..\packages\WixToolset.MSBuild.4.0.0-build-0133\build\WixToolset.MSBuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.MSBuild.4.0.0-build-0133\build\WixToolset.MSBuild.props'))" />
<Error Condition="!Exists('..\..\packages\WixToolset.Bal.wixext.4.0.40\build\WixToolset.Bal.wixext.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.Bal.wixext.4.0.40\build\WixToolset.Bal.wixext.targets'))" />
<Error Condition="!Exists('..\..\packages\WixToolset.Util.wixext.4.0.36\build\WixToolset.Util.wixext.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.Util.wixext.4.0.36\build\WixToolset.Util.wixext.targets'))" />
</Target>
<Import Project="..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.2.1.65\build\Nerdbank.GitVersioning.targets')" />
<Import Project="..\..\packages\WixToolset.Bal.wixext.4.0.37\build\WixToolset.Bal.wixext.targets" Condition="Exists('..\..\packages\WixToolset.Bal.wixext.4.0.37\build\WixToolset.Bal.wixext.targets')" />
<Import Project="..\..\packages\WixToolset.Util.wixext.4.0.32\build\WixToolset.Util.wixext.targets" Condition="Exists('..\..\packages\WixToolset.Util.wixext.4.0.32\build\WixToolset.Util.wixext.targets')" />
<Import Project="..\..\packages\WixToolset.Bal.wixext.4.0.40\build\WixToolset.Bal.wixext.targets" Condition="Exists('..\..\packages\WixToolset.Bal.wixext.4.0.40\build\WixToolset.Bal.wixext.targets')" />
<Import Project="..\..\packages\WixToolset.Util.wixext.4.0.36\build\WixToolset.Util.wixext.targets" Condition="Exists('..\..\packages\WixToolset.Util.wixext.4.0.36\build\WixToolset.Util.wixext.targets')" />
</Project>

Просмотреть файл

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Nerdbank.GitVersioning" version="2.1.65" developmentDependency="true" targetFramework="net40" />
<package id="WixToolset.MSBuild" version="4.0.0-build-0102" developmentDependency="true" targetFramework="net40" />
<package id="WixToolset.Bal.wixext" version="4.0.37" targetFramework="net40" />
<package id="WixToolset.Util.wixext" version="4.0.32" targetFramework="net40" />
<package id="WixToolset.MSBuild" version="4.0.0-build-0133" developmentDependency="true" targetFramework="net40" />
<package id="WixToolset.Bal.wixext" version="4.0.40" targetFramework="net40" />
<package id="WixToolset.Util.wixext" version="4.0.36" targetFramework="net40" />
</packages>