aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2026-01-29 21:03:31 -0800
committerRob Mensching <rob@firegiant.com>2026-01-30 11:14:58 -0800
commit405b90740e33d109c34cef3adda0c0664bacdd28 (patch)
tree26b97c82ff157a20a7005503c7076146d33a7d1c
parenta389a98c4dbed77cb658167badad79836e566887 (diff)
downloadwix-405b90740e33d109c34cef3adda0c0664bacdd28.tar.gz
wix-405b90740e33d109c34cef3adda0c0664bacdd28.tar.bz2
wix-405b90740e33d109c34cef3adda0c0664bacdd28.zip
Require "accept EULA" in .nupkgs plus some "accept EULA" bug fixes
Resolves 9196
-rw-r--r--src/Directory.Build.props1
-rw-r--r--src/Directory.Build.targets2
-rw-r--r--src/Directory.csproj.props7
-rw-r--r--src/Directory.csproj.targets8
-rw-r--r--src/api/burn/WixToolset.BootstrapperApplicationApi/WixToolset.BootstrapperApplicationApi.nuspec1
-rw-r--r--src/api/burn/bextutil/bextutil.nuspec1
-rw-r--r--src/dtf/WixToolset.Dtf.CustomAction/WixToolset.Dtf.CustomAction.nuspec1
-rw-r--r--src/dtf/WixToolset.Dtf.CustomAction/WixToolset.Dtf.CustomAction.targets2
-rw-r--r--src/ext/Bal/wixext-backward-compatible/WixToolset.Bal.wixext.nuspec1
-rw-r--r--src/ext/Bal/wixext-backward-compatible/WixToolset.Bal.wixext.targets2
-rw-r--r--src/ext/Bal/wixext/WixToolset.BootstrapperApplications.wixext.targets2
-rw-r--r--src/ext/Bal/wixstdfn/wixstdfn.nuspec1
-rw-r--r--src/ext/ComPlus/wixext/WixToolset.ComPlus.wixext.targets2
-rw-r--r--src/ext/Dependency/wixext/WixToolset.Dependency.wixext.targets2
-rw-r--r--src/ext/DirectX/wixext/WixToolset.DirectX.wixext.targets2
-rw-r--r--src/ext/Firewall/wixext/WixToolset.Firewall.wixext.targets2
-rw-r--r--src/ext/Http/wixext/WixToolset.Http.wixext.targets2
-rw-r--r--src/ext/Iis/wixext/WixToolset.Iis.wixext.targets2
-rw-r--r--src/ext/Msmq/wixext/WixToolset.Msmq.wixext.targets2
-rw-r--r--src/ext/NetFx/wixext/WixToolset.Netfx.wixext.targets2
-rw-r--r--src/ext/PowerShell/wixext/WixToolset.PowerShell.wixext.targets2
-rw-r--r--src/ext/Sql/wixext/WixToolset.Sql.wixext.targets2
-rw-r--r--src/ext/UI/wixext/WixToolset.UI.wixext.targets2
-rw-r--r--src/ext/Util/wixext/WixToolset.Util.wixext.targets2
-rw-r--r--src/ext/VisualStudio/wixext/WixToolset.VisualStudio.wixext.targets2
-rw-r--r--src/ext/WixExt.props2
-rw-r--r--src/internal/WixInternal.BaseBuildTasks.Sources/WixCommandLineBuilder.cs20
-rw-r--r--src/internal/targets/CheckLicenseAcceptance.targets30
-rw-r--r--src/libs/dutil/WixToolset.DUtil/dutil.nuspec1
-rw-r--r--src/libs/wcautil/WixToolset.WcaUtil/wcautil.nuspec1
-rw-r--r--src/test/msi/TestData/CustomActionTests/TestCA/TestCA.csproj3
-rw-r--r--src/test/wix/TestData/WixprojPackageVcxprojWindowsApp/WixprojPackageVcxprojWindowsApp.wixproj4
-rw-r--r--src/test/wix/WixE2E/WixE2EFixture.cs2
-rw-r--r--src/wix/WixToolset.BuildTasks/DetachBundleEngineForSigning.cs2
-rw-r--r--src/wix/WixToolset.BuildTasks/InscribeMsiWithCabinetSignatures.cs2
-rw-r--r--src/wix/WixToolset.BuildTasks/ReattachSignedBundleEngine.cs2
-rw-r--r--src/wix/WixToolset.BuildTasks/WindowsInstallerValidation.cs2
-rw-r--r--src/wix/WixToolset.BuildTasks/WixBuild.cs2
-rw-r--r--src/wix/test/WixToolsetTest.Sdk/TestData/MultiTargetingWixlib/PackageUsingExplicitProperties/PackageUsingExplicitProperties.wixproj1
39 files changed, 117 insertions, 12 deletions
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 110ccb28..35d10c30 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -41,6 +41,7 @@
41 41
42 <PackageEulaSource>$(RootFolder)OSMFEULA.txt</PackageEulaSource> 42 <PackageEulaSource>$(RootFolder)OSMFEULA.txt</PackageEulaSource>
43 <PackageLicenseFile>OSMFEULA.txt</PackageLicenseFile> 43 <PackageLicenseFile>OSMFEULA.txt</PackageLicenseFile>
44 <PackageLicenseAcceptanceTargets>$(MSBuildThisFileDirectory)internal\targets\CheckLicenseAcceptance.targets</PackageLicenseAcceptanceTargets>
44 <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance> 45 <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
45 46
46 <Product Condition=" '$(WixOfficialBuild)'!='true' ">WiX Dev Build</Product> 47 <Product Condition=" '$(WixOfficialBuild)'!='true' ">WiX Dev Build</Product>
diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets
index 9cb7bbc2..45320d19 100644
--- a/src/Directory.Build.targets
+++ b/src/Directory.Build.targets
@@ -48,7 +48,7 @@
48 <NuspecProperties>$(NuspecProperties);Copyright=$(Copyright);Description=$(Description);Title=$(Title)</NuspecProperties> 48 <NuspecProperties>$(NuspecProperties);Copyright=$(Copyright);Description=$(Description);Title=$(Title)</NuspecProperties>
49 <NuspecProperties>$(NuspecProperties);RepositoryType=$(RepositoryType);RepositoryCommit=$(RepositoryCommit);RepositoryUrl=$(RepositoryUrl)</NuspecProperties> 49 <NuspecProperties>$(NuspecProperties);RepositoryType=$(RepositoryType);RepositoryCommit=$(RepositoryCommit);RepositoryUrl=$(RepositoryUrl)</NuspecProperties>
50 <NuspecProperties>$(NuspecProperties);PackageTags=$(PackageTags)</NuspecProperties> 50 <NuspecProperties>$(NuspecProperties);PackageTags=$(PackageTags)</NuspecProperties>
51 <NuspecProperties>$(NuspecProperties);ProjectUrl=$(ProjectUrl);ProjectFolder=$(MSBuildProjectDirectory);RootFolder=$(RootFolder);EulaTxt=$(PackageEulaSource);IconPng=$(PackageIconSource)</NuspecProperties> 51 <NuspecProperties>$(NuspecProperties);ProjectUrl=$(ProjectUrl);ProjectFolder=$(MSBuildProjectDirectory);RootFolder=$(RootFolder);EulaTxt=$(PackageEulaSource);IconPng=$(PackageIconSource);LicenseAcceptanceTargets=$(PackageLicenseAcceptanceTargets)</NuspecProperties>
52 </PropertyGroup> 52 </PropertyGroup>
53 </Target> 53 </Target>
54 54
diff --git a/src/Directory.csproj.props b/src/Directory.csproj.props
index 0663fb7f..42407929 100644
--- a/src/Directory.csproj.props
+++ b/src/Directory.csproj.props
@@ -11,8 +11,7 @@
11 <DebugType Condition=" '$(DebugType)'=='' ">embedded</DebugType> 11 <DebugType Condition=" '$(DebugType)'=='' ">embedded</DebugType>
12 </PropertyGroup> 12 </PropertyGroup>
13 13
14 <ItemGroup Condition=" '$(IsWixTestProject)'!='true' "> 14 <PropertyGroup>
15 <Content Include="$(PackageEulaSource)" Pack="true" PackagePath="/" /> 15 <AcceptEula>abc;wix7;xyz;123</AcceptEula>
16 <Content Include="$(PackageIconSource)" Pack="true" PackagePath="/" /> 16 </PropertyGroup>
17 </ItemGroup>
18</Project> 17</Project>
diff --git a/src/Directory.csproj.targets b/src/Directory.csproj.targets
index dbf9d604..b49c8c04 100644
--- a/src/Directory.csproj.targets
+++ b/src/Directory.csproj.targets
@@ -13,13 +13,19 @@
13 <SignOutput>false</SignOutput> 13 <SignOutput>false</SignOutput>
14 </PropertyGroup> 14 </PropertyGroup>
15 15
16
17 <PropertyGroup Condition=" '$(IsWixMSTestProject)' == 'true' "> 16 <PropertyGroup Condition=" '$(IsWixMSTestProject)' == 'true' ">
18 <!-- Force a .NET v6-compatible package. --> 17 <!-- Force a .NET v6-compatible package. -->
19 <MicrosoftTestingExtensionsCodeCoverageVersion>17.11.5</MicrosoftTestingExtensionsCodeCoverageVersion> 18 <MicrosoftTestingExtensionsCodeCoverageVersion>17.11.5</MicrosoftTestingExtensionsCodeCoverageVersion>
20 <TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure> 19 <TestingPlatformShowTestsFailure>true</TestingPlatformShowTestsFailure>
21 </PropertyGroup> 20 </PropertyGroup>
22 21
22 <ItemGroup Condition=" '$(IsWixTestProject)'!='true' ">
23 <Content Include="$(PackageEulaSource)" Pack="true" PackagePath="/" />
24 <Content Include="$(PackageIconSource)" Pack="true" PackagePath="/" />
25 <Content Include="$(PackageLicenseAcceptanceTargets)" Pack="true" PackagePath="build/$(MSBuildProjectName).targets"
26 Condition=" '$(IsWixExtension)' != 'true' " />
27 </ItemGroup>
28
23 <ItemGroup Condition=" '$(IsWixTestProject)'=='true' "> 29 <ItemGroup Condition=" '$(IsWixTestProject)'=='true' ">
24 <PackageReference Include="Microsoft.NET.Test.Sdk" /> 30 <PackageReference Include="Microsoft.NET.Test.Sdk" />
25 <PackageReference Include="xunit" /> 31 <PackageReference Include="xunit" />
diff --git a/src/api/burn/WixToolset.BootstrapperApplicationApi/WixToolset.BootstrapperApplicationApi.nuspec b/src/api/burn/WixToolset.BootstrapperApplicationApi/WixToolset.BootstrapperApplicationApi.nuspec
index 73fef99b..398a16b7 100644
--- a/src/api/burn/WixToolset.BootstrapperApplicationApi/WixToolset.BootstrapperApplicationApi.nuspec
+++ b/src/api/burn/WixToolset.BootstrapperApplicationApi/WixToolset.BootstrapperApplicationApi.nuspec
@@ -29,6 +29,7 @@
29 <file src="$projectFolder$\README.md" /> 29 <file src="$projectFolder$\README.md" />
30 30
31 <file src="$projectFolder$\build\WixToolset.BootstrapperApplicationApi.props" target="build\" /> 31 <file src="$projectFolder$\build\WixToolset.BootstrapperApplicationApi.props" target="build\" />
32 <file src="$licenseAcceptanceTargets$" target="build\$id$.targets" />
32 33
33 <file src="$projectFolder$\build\_._" target="lib\native" /> 34 <file src="$projectFolder$\build\_._" target="lib\native" />
34 <file src="net462\$id$.dll" target="lib\net462" /> 35 <file src="net462\$id$.dll" target="lib\net462" />
diff --git a/src/api/burn/bextutil/bextutil.nuspec b/src/api/burn/bextutil/bextutil.nuspec
index 065b72a3..6efdf0fc 100644
--- a/src/api/burn/bextutil/bextutil.nuspec
+++ b/src/api/burn/bextutil/bextutil.nuspec
@@ -24,6 +24,7 @@
24 <file src="$iconPng$" /> 24 <file src="$iconPng$" />
25 <file src="$projectFolder$\README.md" /> 25 <file src="$projectFolder$\README.md" />
26 <file src="$projectFolder$\build\$id$.props" target="build\" /> 26 <file src="$projectFolder$\build\$id$.props" target="build\" />
27 <file src="$licenseAcceptanceTargets$" target="build\$id$.targets" />
27 <file src="$projectFolder$\inc\*" target="build\native\include" /> 28 <file src="$projectFolder$\inc\*" target="build\native\include" />
28 <file src="$projectFolder$\..\inc\BootstrapperExtensionTypes.h" target="build\native\include" /> 29 <file src="$projectFolder$\..\inc\BootstrapperExtensionTypes.h" target="build\native\include" />
29 <file src="$projectFolder$\..\inc\BootstrapperExtensionEngineTypes.h" target="build\native\include" /> 30 <file src="$projectFolder$\..\inc\BootstrapperExtensionEngineTypes.h" target="build\native\include" />
diff --git a/src/dtf/WixToolset.Dtf.CustomAction/WixToolset.Dtf.CustomAction.nuspec b/src/dtf/WixToolset.Dtf.CustomAction/WixToolset.Dtf.CustomAction.nuspec
index bac680dc..37cc3e86 100644
--- a/src/dtf/WixToolset.Dtf.CustomAction/WixToolset.Dtf.CustomAction.nuspec
+++ b/src/dtf/WixToolset.Dtf.CustomAction/WixToolset.Dtf.CustomAction.nuspec
@@ -24,6 +24,7 @@
24 <file src="$iconPng$" /> 24 <file src="$iconPng$" />
25 <file src="$projectFolder$\README.md" /> 25 <file src="$projectFolder$\README.md" />
26 <file src="$projectFolder$\$id$.targets" target="build" /> 26 <file src="$projectFolder$\$id$.targets" target="build" />
27 <file src="$licenseAcceptanceTargets$" target="build" />
27 <file src="net472\WixToolset.Dtf.MakeSfxCA.exe" target="tools" /> 28 <file src="net472\WixToolset.Dtf.MakeSfxCA.exe" target="tools" />
28 <file src="net472\WixToolset.Dtf.MakeSfxCA.exe.config" target="tools" /> 29 <file src="net472\WixToolset.Dtf.MakeSfxCA.exe.config" target="tools" />
29 <file src="net472\WixToolset.Dtf.Compression.dll" target="tools" /> 30 <file src="net472\WixToolset.Dtf.Compression.dll" target="tools" />
diff --git a/src/dtf/WixToolset.Dtf.CustomAction/WixToolset.Dtf.CustomAction.targets b/src/dtf/WixToolset.Dtf.CustomAction/WixToolset.Dtf.CustomAction.targets
index e83272a2..440a1298 100644
--- a/src/dtf/WixToolset.Dtf.CustomAction/WixToolset.Dtf.CustomAction.targets
+++ b/src/dtf/WixToolset.Dtf.CustomAction/WixToolset.Dtf.CustomAction.targets
@@ -5,6 +5,8 @@
5 5
6 <Import Project="$(CustomBeforeWixCATargets)" Condition=" '$(CustomBeforeWixCATargets)' != '' and Exists('$(CustomBeforeWixCATargets)')" /> 6 <Import Project="$(CustomBeforeWixCATargets)" Condition=" '$(CustomBeforeWixCATargets)' != '' and Exists('$(CustomBeforeWixCATargets)')" />
7 7
8 <Import Project="CheckLicenseAcceptance.targets" />
9
8 <PropertyGroup> 10 <PropertyGroup>
9 <WixCATargetsImported>true</WixCATargetsImported> 11 <WixCATargetsImported>true</WixCATargetsImported>
10 12
diff --git a/src/ext/Bal/wixext-backward-compatible/WixToolset.Bal.wixext.nuspec b/src/ext/Bal/wixext-backward-compatible/WixToolset.Bal.wixext.nuspec
index 2af1e037..c7b4a6ea 100644
--- a/src/ext/Bal/wixext-backward-compatible/WixToolset.Bal.wixext.nuspec
+++ b/src/ext/Bal/wixext-backward-compatible/WixToolset.Bal.wixext.nuspec
@@ -21,6 +21,7 @@
21 <file src="$iconPng$" /> 21 <file src="$iconPng$" />
22 <file src="$projectFolder$\README.md" /> 22 <file src="$projectFolder$\README.md" />
23 <file src="$projectFolder$\WixToolset.Bal.wixext.targets" target="build" /> 23 <file src="$projectFolder$\WixToolset.Bal.wixext.targets" target="build" />
24 <file src="$licenseAcceptanceTargets$" target="build" />
24 <file src="WixToolset.BootstrapperApplications.wixext.dll" target="$wixExtensionPackageFolder$" /> 25 <file src="WixToolset.BootstrapperApplications.wixext.dll" target="$wixExtensionPackageFolder$" />
25 </files> 26 </files>
26</package> 27</package>
diff --git a/src/ext/Bal/wixext-backward-compatible/WixToolset.Bal.wixext.targets b/src/ext/Bal/wixext-backward-compatible/WixToolset.Bal.wixext.targets
index 8203d95b..dd2960ab 100644
--- a/src/ext/Bal/wixext-backward-compatible/WixToolset.Bal.wixext.targets
+++ b/src/ext/Bal/wixext-backward-compatible/WixToolset.Bal.wixext.targets
@@ -8,4 +8,6 @@
8 <UnsupportedWixExtension Include="WixToolset.BootstrapperApplications.wixext" 8 <UnsupportedWixExtension Include="WixToolset.BootstrapperApplications.wixext"
9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\WixToolset.BootstrapperApplications.wixext.dll') " /> 9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\WixToolset.BootstrapperApplications.wixext.dll') " />
10 </ItemGroup> 10 </ItemGroup>
11
12 <Import Project="CheckLicenseAcceptance.targets" />
11</Project> 13</Project>
diff --git a/src/ext/Bal/wixext/WixToolset.BootstrapperApplications.wixext.targets b/src/ext/Bal/wixext/WixToolset.BootstrapperApplications.wixext.targets
index bf6df083..b0a7c5b8 100644
--- a/src/ext/Bal/wixext/WixToolset.BootstrapperApplications.wixext.targets
+++ b/src/ext/Bal/wixext/WixToolset.BootstrapperApplications.wixext.targets
@@ -8,4 +8,6 @@
8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)" 8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)"
9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " /> 9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " />
10 </ItemGroup> 10 </ItemGroup>
11
12 <Import Project="CheckLicenseAcceptance.targets" />
11</Project> 13</Project>
diff --git a/src/ext/Bal/wixstdfn/wixstdfn.nuspec b/src/ext/Bal/wixstdfn/wixstdfn.nuspec
index d4b6e104..b125ff7c 100644
--- a/src/ext/Bal/wixstdfn/wixstdfn.nuspec
+++ b/src/ext/Bal/wixstdfn/wixstdfn.nuspec
@@ -27,6 +27,7 @@
27 <file src="$iconPng$" /> 27 <file src="$iconPng$" />
28 <file src="$projectFolder$\README.md" /> 28 <file src="$projectFolder$\README.md" />
29 <file src="$projectFolder$\build\$id$.props" target="build\" /> 29 <file src="$projectFolder$\build\$id$.props" target="build\" />
30 <file src="$licenseAcceptanceTargets$" target="build\$id$.targets" />
30 <file src="$projectFolder$\inc\*" target="lib\native\include" /> 31 <file src="$projectFolder$\inc\*" target="lib\native\include" />
31 <file src="..\..\v143\x86\wixstdfn.lib" target="lib\native\v14\x86" /> 32 <file src="..\..\v143\x86\wixstdfn.lib" target="lib\native\v14\x86" />
32 <file src="..\..\v143\x64\wixstdfn.lib" target="lib\native\v14\x64" /> 33 <file src="..\..\v143\x64\wixstdfn.lib" target="lib\native\v14\x64" />
diff --git a/src/ext/ComPlus/wixext/WixToolset.ComPlus.wixext.targets b/src/ext/ComPlus/wixext/WixToolset.ComPlus.wixext.targets
index bf6df083..b0a7c5b8 100644
--- a/src/ext/ComPlus/wixext/WixToolset.ComPlus.wixext.targets
+++ b/src/ext/ComPlus/wixext/WixToolset.ComPlus.wixext.targets
@@ -8,4 +8,6 @@
8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)" 8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)"
9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " /> 9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " />
10 </ItemGroup> 10 </ItemGroup>
11
12 <Import Project="CheckLicenseAcceptance.targets" />
11</Project> 13</Project>
diff --git a/src/ext/Dependency/wixext/WixToolset.Dependency.wixext.targets b/src/ext/Dependency/wixext/WixToolset.Dependency.wixext.targets
index bf6df083..b0a7c5b8 100644
--- a/src/ext/Dependency/wixext/WixToolset.Dependency.wixext.targets
+++ b/src/ext/Dependency/wixext/WixToolset.Dependency.wixext.targets
@@ -8,4 +8,6 @@
8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)" 8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)"
9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " /> 9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " />
10 </ItemGroup> 10 </ItemGroup>
11
12 <Import Project="CheckLicenseAcceptance.targets" />
11</Project> 13</Project>
diff --git a/src/ext/DirectX/wixext/WixToolset.DirectX.wixext.targets b/src/ext/DirectX/wixext/WixToolset.DirectX.wixext.targets
index bf6df083..b0a7c5b8 100644
--- a/src/ext/DirectX/wixext/WixToolset.DirectX.wixext.targets
+++ b/src/ext/DirectX/wixext/WixToolset.DirectX.wixext.targets
@@ -8,4 +8,6 @@
8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)" 8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)"
9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " /> 9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " />
10 </ItemGroup> 10 </ItemGroup>
11
12 <Import Project="CheckLicenseAcceptance.targets" />
11</Project> 13</Project>
diff --git a/src/ext/Firewall/wixext/WixToolset.Firewall.wixext.targets b/src/ext/Firewall/wixext/WixToolset.Firewall.wixext.targets
index bf6df083..b0a7c5b8 100644
--- a/src/ext/Firewall/wixext/WixToolset.Firewall.wixext.targets
+++ b/src/ext/Firewall/wixext/WixToolset.Firewall.wixext.targets
@@ -8,4 +8,6 @@
8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)" 8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)"
9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " /> 9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " />
10 </ItemGroup> 10 </ItemGroup>
11
12 <Import Project="CheckLicenseAcceptance.targets" />
11</Project> 13</Project>
diff --git a/src/ext/Http/wixext/WixToolset.Http.wixext.targets b/src/ext/Http/wixext/WixToolset.Http.wixext.targets
index bf6df083..b0a7c5b8 100644
--- a/src/ext/Http/wixext/WixToolset.Http.wixext.targets
+++ b/src/ext/Http/wixext/WixToolset.Http.wixext.targets
@@ -8,4 +8,6 @@
8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)" 8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)"
9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " /> 9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " />
10 </ItemGroup> 10 </ItemGroup>
11
12 <Import Project="CheckLicenseAcceptance.targets" />
11</Project> 13</Project>
diff --git a/src/ext/Iis/wixext/WixToolset.Iis.wixext.targets b/src/ext/Iis/wixext/WixToolset.Iis.wixext.targets
index bf6df083..b0a7c5b8 100644
--- a/src/ext/Iis/wixext/WixToolset.Iis.wixext.targets
+++ b/src/ext/Iis/wixext/WixToolset.Iis.wixext.targets
@@ -8,4 +8,6 @@
8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)" 8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)"
9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " /> 9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " />
10 </ItemGroup> 10 </ItemGroup>
11
12 <Import Project="CheckLicenseAcceptance.targets" />
11</Project> 13</Project>
diff --git a/src/ext/Msmq/wixext/WixToolset.Msmq.wixext.targets b/src/ext/Msmq/wixext/WixToolset.Msmq.wixext.targets
index bf6df083..b0a7c5b8 100644
--- a/src/ext/Msmq/wixext/WixToolset.Msmq.wixext.targets
+++ b/src/ext/Msmq/wixext/WixToolset.Msmq.wixext.targets
@@ -8,4 +8,6 @@
8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)" 8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)"
9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " /> 9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " />
10 </ItemGroup> 10 </ItemGroup>
11
12 <Import Project="CheckLicenseAcceptance.targets" />
11</Project> 13</Project>
diff --git a/src/ext/NetFx/wixext/WixToolset.Netfx.wixext.targets b/src/ext/NetFx/wixext/WixToolset.Netfx.wixext.targets
index bf6df083..b0a7c5b8 100644
--- a/src/ext/NetFx/wixext/WixToolset.Netfx.wixext.targets
+++ b/src/ext/NetFx/wixext/WixToolset.Netfx.wixext.targets
@@ -8,4 +8,6 @@
8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)" 8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)"
9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " /> 9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " />
10 </ItemGroup> 10 </ItemGroup>
11
12 <Import Project="CheckLicenseAcceptance.targets" />
11</Project> 13</Project>
diff --git a/src/ext/PowerShell/wixext/WixToolset.PowerShell.wixext.targets b/src/ext/PowerShell/wixext/WixToolset.PowerShell.wixext.targets
index bf6df083..b0a7c5b8 100644
--- a/src/ext/PowerShell/wixext/WixToolset.PowerShell.wixext.targets
+++ b/src/ext/PowerShell/wixext/WixToolset.PowerShell.wixext.targets
@@ -8,4 +8,6 @@
8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)" 8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)"
9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " /> 9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " />
10 </ItemGroup> 10 </ItemGroup>
11
12 <Import Project="CheckLicenseAcceptance.targets" />
11</Project> 13</Project>
diff --git a/src/ext/Sql/wixext/WixToolset.Sql.wixext.targets b/src/ext/Sql/wixext/WixToolset.Sql.wixext.targets
index bf6df083..b0a7c5b8 100644
--- a/src/ext/Sql/wixext/WixToolset.Sql.wixext.targets
+++ b/src/ext/Sql/wixext/WixToolset.Sql.wixext.targets
@@ -8,4 +8,6 @@
8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)" 8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)"
9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " /> 9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " />
10 </ItemGroup> 10 </ItemGroup>
11
12 <Import Project="CheckLicenseAcceptance.targets" />
11</Project> 13</Project>
diff --git a/src/ext/UI/wixext/WixToolset.UI.wixext.targets b/src/ext/UI/wixext/WixToolset.UI.wixext.targets
index bf6df083..b0a7c5b8 100644
--- a/src/ext/UI/wixext/WixToolset.UI.wixext.targets
+++ b/src/ext/UI/wixext/WixToolset.UI.wixext.targets
@@ -8,4 +8,6 @@
8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)" 8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)"
9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " /> 9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " />
10 </ItemGroup> 10 </ItemGroup>
11
12 <Import Project="CheckLicenseAcceptance.targets" />
11</Project> 13</Project>
diff --git a/src/ext/Util/wixext/WixToolset.Util.wixext.targets b/src/ext/Util/wixext/WixToolset.Util.wixext.targets
index bf6df083..b0a7c5b8 100644
--- a/src/ext/Util/wixext/WixToolset.Util.wixext.targets
+++ b/src/ext/Util/wixext/WixToolset.Util.wixext.targets
@@ -8,4 +8,6 @@
8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)" 8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)"
9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " /> 9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " />
10 </ItemGroup> 10 </ItemGroup>
11
12 <Import Project="CheckLicenseAcceptance.targets" />
11</Project> 13</Project>
diff --git a/src/ext/VisualStudio/wixext/WixToolset.VisualStudio.wixext.targets b/src/ext/VisualStudio/wixext/WixToolset.VisualStudio.wixext.targets
index bf6df083..b0a7c5b8 100644
--- a/src/ext/VisualStudio/wixext/WixToolset.VisualStudio.wixext.targets
+++ b/src/ext/VisualStudio/wixext/WixToolset.VisualStudio.wixext.targets
@@ -8,4 +8,6 @@
8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)" 8 <UnsupportedWixExtension Include="$(MSBuildThisFileName)"
9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " /> 9 Condition=" !Exists('$(MSBuildThisFileDirectory)..\$(WixToolsetExtensionPackageFolder)\$(MSBuildThisFileName).dll') " />
10 </ItemGroup> 10 </ItemGroup>
11
12 <Import Project="CheckLicenseAcceptance.targets" />
11</Project> 13</Project>
diff --git a/src/ext/WixExt.props b/src/ext/WixExt.props
index 538c6b97..56f40f50 100644
--- a/src/ext/WixExt.props
+++ b/src/ext/WixExt.props
@@ -8,10 +8,12 @@
8 <NoWarn>NU5100</NoWarn> 8 <NoWarn>NU5100</NoWarn>
9 <WixExtensionPackageFolder>wixext6</WixExtensionPackageFolder> 9 <WixExtensionPackageFolder>wixext6</WixExtensionPackageFolder>
10 <PackageTags>$(PackageTags) wixext CustomActions</PackageTags> 10 <PackageTags>$(PackageTags) wixext CustomActions</PackageTags>
11 <IsWixExtension>true</IsWixExtension>
11 </PropertyGroup> 12 </PropertyGroup>
12 13
13 <ItemGroup> 14 <ItemGroup>
14 <Content Include="$(MSBuildProjectName).targets" PackagePath="build" /> 15 <Content Include="$(MSBuildProjectName).targets" PackagePath="build" />
16 <Content Include="$(PackageLicenseAcceptanceTargets)" Pack="true" PackagePath="build/CheckLicenseAcceptance.targets" />
15 <Content Include="$(TargetPath)" PackagePath="$(WixExtensionPackageFolder)" /> 17 <Content Include="$(TargetPath)" PackagePath="$(WixExtensionPackageFolder)" />
16 18
17 <PackageReference Include="WixToolset.Extensibility" PrivateAssets="all" /> 19 <PackageReference Include="WixToolset.Extensibility" PrivateAssets="all" />
diff --git a/src/internal/WixInternal.BaseBuildTasks.Sources/WixCommandLineBuilder.cs b/src/internal/WixInternal.BaseBuildTasks.Sources/WixCommandLineBuilder.cs
index d950bca9..61d7095d 100644
--- a/src/internal/WixInternal.BaseBuildTasks.Sources/WixCommandLineBuilder.cs
+++ b/src/internal/WixInternal.BaseBuildTasks.Sources/WixCommandLineBuilder.cs
@@ -76,6 +76,26 @@ namespace WixToolset.BaseBuildTasks
76 } 76 }
77 77
78 /// <summary> 78 /// <summary>
79 /// Append a switch to the command-line for each value in a split text.
80 /// </summary>
81 /// <param name="switchName">Switch to append.</param>
82 /// <param name="values">Text to split and append.</param>
83 /// <param name="split">Character to use to split the string</param>
84 public void AppendTextAsArray(string switchName, string values, char splitter = ';')
85 {
86 if (!String.IsNullOrEmpty(values))
87 {
88 foreach (string value in values.Split([ splitter ], StringSplitOptions.RemoveEmptyEntries))
89 {
90 if (!String.IsNullOrWhiteSpace(value))
91 {
92 this.AppendSwitchIfNotNull(switchName, value.Trim());
93 }
94 }
95 }
96 }
97
98 /// <summary>
79 /// Append arbitrary text to the command-line if specified. 99 /// Append arbitrary text to the command-line if specified.
80 /// </summary> 100 /// </summary>
81 /// <param name="textToAppend">Text to append.</param> 101 /// <param name="textToAppend">Text to append.</param>
diff --git a/src/internal/targets/CheckLicenseAcceptance.targets b/src/internal/targets/CheckLicenseAcceptance.targets
new file mode 100644
index 00000000..61155827
--- /dev/null
+++ b/src/internal/targets/CheckLicenseAcceptance.targets
@@ -0,0 +1,30 @@
1<?xml version="1.0" encoding="utf-8"?>
2<!-- 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. -->
3
4<Project>
5
6 <Target
7 Name="CheckWix7LicenseAcceptance"
8 BeforeTargets="CoreCompile">
9
10 <ItemGroup>
11 <_AcceptEula Include="$(AcceptEula)" />
12 </ItemGroup>
13
14 <PropertyGroup>
15 <_Wix7EulaFile>$(USERPROFILE)\.wix\wix7-osmf-eula.txt</_Wix7EulaFile>
16 </PropertyGroup>
17
18 <FindInList List="@(_AcceptEula)" ItemSpecToFind="wix7">
19 <Output TaskParameter="ItemFound" ItemName="_Wix7LicenseAccepted" />
20 </FindInList>
21
22 <Error
23 Text="You must accept the Open Source Maintenance Fee (OSMF) EULA to use WiX Toolset v7. For instructions, see https://wixtoolset.org/osmf/"
24 Code="WIX7015"
25 File="$(MSBuildProjectFile)"
26 HelpLink="https://wixtoolset.org/osmf"
27 Condition=" '@(_Wix7LicenseAccepted)' == '' and !Exists('$(_Wix7EulaFile)')" />
28 </Target>
29
30</Project>
diff --git a/src/libs/dutil/WixToolset.DUtil/dutil.nuspec b/src/libs/dutil/WixToolset.DUtil/dutil.nuspec
index 534ccd69..eb3833a5 100644
--- a/src/libs/dutil/WixToolset.DUtil/dutil.nuspec
+++ b/src/libs/dutil/WixToolset.DUtil/dutil.nuspec
@@ -21,6 +21,7 @@
21 <file src="$iconPng$" /> 21 <file src="$iconPng$" />
22 <file src="$projectFolder$\..\README.md" /> 22 <file src="$projectFolder$\..\README.md" />
23 <file src="$projectFolder$\build\$id$.props" target="build\" /> 23 <file src="$projectFolder$\build\$id$.props" target="build\" />
24 <file src="$licenseAcceptanceTargets$" target="build\$id$.targets" />
24 <file src="$projectFolder$\inc\*" target="build\native\include" /> 25 <file src="$projectFolder$\inc\*" target="build\native\include" />
25 <file src="..\..\v143\x64\dutil.lib" target="build\native\v14\x64" /> 26 <file src="..\..\v143\x64\dutil.lib" target="build\native\v14\x64" />
26 <file src="..\..\v143\x86\dutil.lib" target="build\native\v14\x86" /> 27 <file src="..\..\v143\x86\dutil.lib" target="build\native\v14\x86" />
diff --git a/src/libs/wcautil/WixToolset.WcaUtil/wcautil.nuspec b/src/libs/wcautil/WixToolset.WcaUtil/wcautil.nuspec
index 915e00d9..78ac10a4 100644
--- a/src/libs/wcautil/WixToolset.WcaUtil/wcautil.nuspec
+++ b/src/libs/wcautil/WixToolset.WcaUtil/wcautil.nuspec
@@ -24,6 +24,7 @@
24 <file src="$iconPng$" /> 24 <file src="$iconPng$" />
25 <file src="$projectFolder$\..\README.md" /> 25 <file src="$projectFolder$\..\README.md" />
26 <file src="$projectFolder$\build\$id$.props" target="build\" /> 26 <file src="$projectFolder$\build\$id$.props" target="build\" />
27 <file src="$licenseAcceptanceTargets$" target="build\$id$.targets" />
27 <file src="$projectFolder$\inc\*" target="build\native\include" /> 28 <file src="$projectFolder$\inc\*" target="build\native\include" />
28 <file src="..\..\v143\x64\wcautil.lib" target="build\native\v14\x64" /> 29 <file src="..\..\v143\x64\wcautil.lib" target="build\native\v14\x64" />
29 <file src="..\..\v143\x86\wcautil.lib" target="build\native\v14\x86" /> 30 <file src="..\..\v143\x86\wcautil.lib" target="build\native\v14\x86" />
diff --git a/src/test/msi/TestData/CustomActionTests/TestCA/TestCA.csproj b/src/test/msi/TestData/CustomActionTests/TestCA/TestCA.csproj
index 80602295..00fb5a41 100644
--- a/src/test/msi/TestData/CustomActionTests/TestCA/TestCA.csproj
+++ b/src/test/msi/TestData/CustomActionTests/TestCA/TestCA.csproj
@@ -3,6 +3,9 @@
3<Project Sdk="Microsoft.NET.Sdk"> 3<Project Sdk="Microsoft.NET.Sdk">
4 <PropertyGroup> 4 <PropertyGroup>
5 <TargetFramework>net472</TargetFramework> 5 <TargetFramework>net472</TargetFramework>
6
7 <!-- Add some random EULA Ids for testing purposes. -->
8 <AcceptEula>foo;wix7;bar</AcceptEula>
6 </PropertyGroup> 9 </PropertyGroup>
7 10
8 <ItemGroup> 11 <ItemGroup>
diff --git a/src/test/wix/TestData/WixprojPackageVcxprojWindowsApp/WixprojPackageVcxprojWindowsApp.wixproj b/src/test/wix/TestData/WixprojPackageVcxprojWindowsApp/WixprojPackageVcxprojWindowsApp.wixproj
index 27affb11..1e137761 100644
--- a/src/test/wix/TestData/WixprojPackageVcxprojWindowsApp/WixprojPackageVcxprojWindowsApp.wixproj
+++ b/src/test/wix/TestData/WixprojPackageVcxprojWindowsApp/WixprojPackageVcxprojWindowsApp.wixproj
@@ -4,6 +4,9 @@
4 <PropertyGroup> 4 <PropertyGroup>
5 <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally> 5 <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
6 <SignOutput>true</SignOutput> 6 <SignOutput>true</SignOutput>
7
8 <!-- Add some random EULA Ids for testing purposes. -->
9 <AcceptEula>abc;xyz;123;wix7</AcceptEula>
7 </PropertyGroup> 10 </PropertyGroup>
8 11
9 <ItemGroup> 12 <ItemGroup>
@@ -12,6 +15,7 @@
12 <ProjectReference Include="..\WixprojModuleCsprojWinFormsNetFx\WixprojModuleCsprojWinFormsNetFx.wixproj" /> 15 <ProjectReference Include="..\WixprojModuleCsprojWinFormsNetFx\WixprojModuleCsprojWinFormsNetFx.wixproj" />
13 16
14 <PackageReference Include="Wixtoolset.UI.wixext" /> 17 <PackageReference Include="Wixtoolset.UI.wixext" />
18 <PackageReference Include="Wixtoolset.Util.wixext" />
15 </ItemGroup> 19 </ItemGroup>
16 20
17 <Target Name="SignMsi"> 21 <Target Name="SignMsi">
diff --git a/src/test/wix/WixE2E/WixE2EFixture.cs b/src/test/wix/WixE2E/WixE2EFixture.cs
index f15571e4..512e80f5 100644
--- a/src/test/wix/WixE2E/WixE2EFixture.cs
+++ b/src/test/wix/WixE2E/WixE2EFixture.cs
@@ -71,7 +71,7 @@ namespace WixE2E
71 .ToArray(); 71 .ToArray();
72 WixAssert.CompareLineByLine(new[] 72 WixAssert.CompareLineByLine(new[]
73 { 73 {
74 @"<projectFolder>\WixprojPackageVcxprojWindowsApp.wixproj(18,5): warning : SignMsi = obj\<configuration>\en-US\WixprojPackageVcxprojWindowsApp.msi;obj\<configuration>\ja-JP\WixprojPackageVcxprojWindowsApp.msi" 74 @"<projectFolder>\WixprojPackageVcxprojWindowsApp.wixproj(22,5): warning : SignMsi = obj\<configuration>\en-US\WixprojPackageVcxprojWindowsApp.msi;obj\<configuration>\ja-JP\WixprojPackageVcxprojWindowsApp.msi"
75 }, signingStatement); 75 }, signingStatement);
76 } 76 }
77 77
diff --git a/src/wix/WixToolset.BuildTasks/DetachBundleEngineForSigning.cs b/src/wix/WixToolset.BuildTasks/DetachBundleEngineForSigning.cs
index c438d417..3a4ee36d 100644
--- a/src/wix/WixToolset.BuildTasks/DetachBundleEngineForSigning.cs
+++ b/src/wix/WixToolset.BuildTasks/DetachBundleEngineForSigning.cs
@@ -45,7 +45,7 @@ namespace WixToolset.BuildTasks
45 commandLineBuilder.AppendFileNameIfNotNull(this.BundleFile); 45 commandLineBuilder.AppendFileNameIfNotNull(this.BundleFile);
46 commandLineBuilder.AppendSwitchIfNotNull("-engine ", this.OutputFile); 46 commandLineBuilder.AppendSwitchIfNotNull("-engine ", this.OutputFile);
47 commandLineBuilder.AppendSwitchIfNotNull("-intermediatefolder ", this.IntermediateDirectory); 47 commandLineBuilder.AppendSwitchIfNotNull("-intermediatefolder ", this.IntermediateDirectory);
48 commandLineBuilder.AppendSwitchIfNotNull("-acceptEula ", this.AcceptEula); 48 commandLineBuilder.AppendTextAsArray("-acceptEula ", this.AcceptEula);
49 49
50 base.BuildCommandLine(commandLineBuilder); 50 base.BuildCommandLine(commandLineBuilder);
51 } 51 }
diff --git a/src/wix/WixToolset.BuildTasks/InscribeMsiWithCabinetSignatures.cs b/src/wix/WixToolset.BuildTasks/InscribeMsiWithCabinetSignatures.cs
index dacae1a8..c88c14e7 100644
--- a/src/wix/WixToolset.BuildTasks/InscribeMsiWithCabinetSignatures.cs
+++ b/src/wix/WixToolset.BuildTasks/InscribeMsiWithCabinetSignatures.cs
@@ -30,7 +30,7 @@ namespace WixToolset.BuildTasks
30 commandLineBuilder.AppendFileNameIfNotNull(this.DatabaseFile); 30 commandLineBuilder.AppendFileNameIfNotNull(this.DatabaseFile);
31 commandLineBuilder.AppendSwitchIfNotNull("-out ", this.OutputFile); 31 commandLineBuilder.AppendSwitchIfNotNull("-out ", this.OutputFile);
32 commandLineBuilder.AppendSwitchIfNotNull("-intermediatefolder ", this.IntermediateDirectory); 32 commandLineBuilder.AppendSwitchIfNotNull("-intermediatefolder ", this.IntermediateDirectory);
33 commandLineBuilder.AppendSwitchIfNotNull("-acceptEula ", this.AcceptEula); 33 commandLineBuilder.AppendTextAsArray("-acceptEula ", this.AcceptEula);
34 34
35 base.BuildCommandLine(commandLineBuilder); 35 base.BuildCommandLine(commandLineBuilder);
36 } 36 }
diff --git a/src/wix/WixToolset.BuildTasks/ReattachSignedBundleEngine.cs b/src/wix/WixToolset.BuildTasks/ReattachSignedBundleEngine.cs
index 433328bf..424263a5 100644
--- a/src/wix/WixToolset.BuildTasks/ReattachSignedBundleEngine.cs
+++ b/src/wix/WixToolset.BuildTasks/ReattachSignedBundleEngine.cs
@@ -52,7 +52,7 @@ namespace WixToolset.BuildTasks
52 commandLineBuilder.AppendSwitchIfNotNull("-engine ", this.BundleEngineFile); 52 commandLineBuilder.AppendSwitchIfNotNull("-engine ", this.BundleEngineFile);
53 commandLineBuilder.AppendSwitchIfNotNull("-out ", this.OutputFile); 53 commandLineBuilder.AppendSwitchIfNotNull("-out ", this.OutputFile);
54 commandLineBuilder.AppendSwitchIfNotNull("-intermediatefolder ", this.IntermediateDirectory); 54 commandLineBuilder.AppendSwitchIfNotNull("-intermediatefolder ", this.IntermediateDirectory);
55 commandLineBuilder.AppendSwitchIfNotNull("-acceptEula ", this.AcceptEula); 55 commandLineBuilder.AppendTextAsArray("-acceptEula ", this.AcceptEula);
56 56
57 base.BuildCommandLine(commandLineBuilder); 57 base.BuildCommandLine(commandLineBuilder);
58 } 58 }
diff --git a/src/wix/WixToolset.BuildTasks/WindowsInstallerValidation.cs b/src/wix/WixToolset.BuildTasks/WindowsInstallerValidation.cs
index 75b99951..1a7ffa2c 100644
--- a/src/wix/WixToolset.BuildTasks/WindowsInstallerValidation.cs
+++ b/src/wix/WixToolset.BuildTasks/WindowsInstallerValidation.cs
@@ -56,7 +56,7 @@ namespace WixToolset.BuildTasks
56 commandLineBuilder.AppendArrayIfNotNull("-cub ", this.CubeFiles); 56 commandLineBuilder.AppendArrayIfNotNull("-cub ", this.CubeFiles);
57 commandLineBuilder.AppendArrayIfNotNull("-ice ", this.Ices); 57 commandLineBuilder.AppendArrayIfNotNull("-ice ", this.Ices);
58 commandLineBuilder.AppendArrayIfNotNull("-sice ", this.SuppressIces); 58 commandLineBuilder.AppendArrayIfNotNull("-sice ", this.SuppressIces);
59 commandLineBuilder.AppendSwitchIfNotNull("-acceptEula ", this.AcceptEula); 59 commandLineBuilder.AppendTextAsArray("-acceptEula ", this.AcceptEula);
60 60
61 base.BuildCommandLine(commandLineBuilder); 61 base.BuildCommandLine(commandLineBuilder);
62 } 62 }
diff --git a/src/wix/WixToolset.BuildTasks/WixBuild.cs b/src/wix/WixToolset.BuildTasks/WixBuild.cs
index 73da56d3..e3353b7f 100644
--- a/src/wix/WixToolset.BuildTasks/WixBuild.cs
+++ b/src/wix/WixToolset.BuildTasks/WixBuild.cs
@@ -79,7 +79,7 @@ namespace WixToolset.BuildTasks
79 commandLineBuilder.AppendSwitchIfNotNull("-intermediatefolder ", this.IntermediateDirectory); 79 commandLineBuilder.AppendSwitchIfNotNull("-intermediatefolder ", this.IntermediateDirectory);
80 commandLineBuilder.AppendSwitchIfNotNull("-trackingfile ", this.BindTrackingFile); 80 commandLineBuilder.AppendSwitchIfNotNull("-trackingfile ", this.BindTrackingFile);
81 commandLineBuilder.AppendSwitchIfNotNull("-defaultcompressionlevel ", this.DefaultCompressionLevel); 81 commandLineBuilder.AppendSwitchIfNotNull("-defaultcompressionlevel ", this.DefaultCompressionLevel);
82 commandLineBuilder.AppendSwitchIfNotNull("-acceptEula ", this.AcceptEula); 82 commandLineBuilder.AppendTextAsArray("-acceptEula ", this.AcceptEula);
83 83
84 base.BuildCommandLine(commandLineBuilder); 84 base.BuildCommandLine(commandLineBuilder);
85 85
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/MultiTargetingWixlib/PackageUsingExplicitProperties/PackageUsingExplicitProperties.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/MultiTargetingWixlib/PackageUsingExplicitProperties/PackageUsingExplicitProperties.wixproj
index d93d9e3e..84d0db4d 100644
--- a/src/wix/test/WixToolsetTest.Sdk/TestData/MultiTargetingWixlib/PackageUsingExplicitProperties/PackageUsingExplicitProperties.wixproj
+++ b/src/wix/test/WixToolsetTest.Sdk/TestData/MultiTargetingWixlib/PackageUsingExplicitProperties/PackageUsingExplicitProperties.wixproj
@@ -3,6 +3,7 @@
3 <Import Project="$(WixMSBuildProps)" /> 3 <Import Project="$(WixMSBuildProps)" />
4 4
5 <PropertyGroup> 5 <PropertyGroup>
6 <!-- Add some random EULA Ids for testing purposes. -->
6 <AcceptEula>foo;wix7;bar</AcceptEula> 7 <AcceptEula>foo;wix7;bar</AcceptEula>
7 </PropertyGroup> 8 </PropertyGroup>
8 9