aboutsummaryrefslogtreecommitdiff
path: root/src/ext
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext')
-rw-r--r--src/ext/Bal/README.md4
-rw-r--r--src/ext/Bal/bal_t.proj6
-rw-r--r--src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/BalExtensionFixture.cs4
-rw-r--r--src/ext/Bal/test/examples/EarliestCoreBundleSCD/EarliestCoreBundleSCD.wixproj10
-rw-r--r--src/ext/Bal/test/examples/EarliestCoreBundleSCD/SelfContainedBundle.wxs8
-rw-r--r--src/ext/Bal/test/examples/EarliestCoreBundleSCD/ba.xslt15
-rw-r--r--src/ext/Bal/test/examples/EarliestCoreBundleTrimmedSCD/EarliestCoreBundleTrimmedSCD.wixproj10
-rw-r--r--src/ext/Bal/test/examples/EarliestCoreBundleTrimmedSCD/TrimmedSelfContainedBundle.wxs8
-rw-r--r--src/ext/Bal/test/examples/EarliestCoreBundleTrimmedSCD/ba.xslt15
-rw-r--r--src/ext/Bal/test/examples/LatestCoreBundleSCD/LatestCoreBundleSCD.wixproj10
-rw-r--r--src/ext/Bal/test/examples/LatestCoreBundleSCD/SelfContainedBundle.wxs8
-rw-r--r--src/ext/Bal/test/examples/LatestCoreBundleSCD/ba.xslt15
-rw-r--r--src/ext/Bal/test/examples/LatestCoreBundleTrimmedSCD/LatestCoreBundleTrimmedSCD.wixproj10
-rw-r--r--src/ext/Bal/test/examples/LatestCoreBundleTrimmedSCD/TrimmedSelfContainedBundle.wxs8
-rw-r--r--src/ext/Bal/test/examples/LatestCoreBundleTrimmedSCD/ba.xslt15
-rw-r--r--src/ext/Bal/test/examples/examples.proj6
-rw-r--r--src/ext/ComPlus/README.md4
-rw-r--r--src/ext/ComPlus/complus_t.proj6
-rw-r--r--src/ext/Dependency/README.md4
-rw-r--r--src/ext/Dependency/dependency_t.proj6
-rw-r--r--src/ext/DirectX/README.md4
-rw-r--r--src/ext/DirectX/directx_t.proj6
-rw-r--r--src/ext/Firewall/README.md4
-rw-r--r--src/ext/Firewall/firewall_t.proj6
-rw-r--r--src/ext/Firewall/test/WixToolsetTest.Firewall/FirewallExtensionFixture.cs41
-rw-r--r--src/ext/Firewall/test/WixToolsetTest.Firewall/TestData/DecompileWix4Firewall/Firewall4.msibin0 -> 196608 bytes
-rw-r--r--src/ext/Firewall/test/WixToolsetTest.Firewall/TestData/DecompileWix4Firewall/ReferenceSource/Firewall4.wixproj6
-rw-r--r--src/ext/Firewall/test/WixToolsetTest.Firewall/TestData/DecompileWix4Firewall/ReferenceSource/Firewall4.wxs36
-rw-r--r--src/ext/Firewall/wixext/FirewallDecompiler.cs31
-rw-r--r--src/ext/Http/README.md4
-rw-r--r--src/ext/Http/http_t.proj6
-rw-r--r--src/ext/Http/test/WixToolsetTest.Http/HttpExtensionFixture.cs4
-rw-r--r--src/ext/Iis/README.md4
-rw-r--r--src/ext/Iis/iis_t.proj6
-rw-r--r--src/ext/Msmq/README.md4
-rw-r--r--src/ext/Msmq/msmq_t.proj6
-rw-r--r--src/ext/NetFx/README.md4
-rw-r--r--src/ext/NetFx/netfx_t.proj6
-rw-r--r--src/ext/NetFx/test/WixToolsetTest.Netfx/NetfxExtensionFixture.cs4
-rw-r--r--src/ext/PowerShell/README.md4
-rw-r--r--src/ext/PowerShell/powershell_t.proj6
-rw-r--r--src/ext/Sql/README.md4
-rw-r--r--src/ext/Sql/sql_t.proj6
-rw-r--r--src/ext/UI/README.md4
-rw-r--r--src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs4
-rw-r--r--src/ext/UI/ui_t.proj6
-rw-r--r--src/ext/Util/README.md4
-rw-r--r--src/ext/Util/test/WixToolsetTest.Util/UtilExtensionFixture.cs7
-rw-r--r--src/ext/Util/util_t.proj6
-rw-r--r--src/ext/Util/wixext/UtilDecompiler.cs2
-rw-r--r--src/ext/VisualStudio/README.md4
-rw-r--r--src/ext/VisualStudio/visualstudio_t.proj6
-rw-r--r--src/ext/ext_t.proj21
53 files changed, 262 insertions, 176 deletions
diff --git a/src/ext/Bal/README.md b/src/ext/Bal/README.md
index 5e969c4f..009615dd 100644
--- a/src/ext/Bal/README.md
+++ b/src/ext/Bal/README.md
@@ -20,9 +20,9 @@ To pay the Maintenance Fee, [become a Sponsor](https://github.com/sponsors/wixto
20Add the WiX Extension as a PackageReference to your .wixproj: 20Add the WiX Extension as a PackageReference to your .wixproj:
21 21
22``` 22```
23<Project Sdk="WixToolset.Sdk/6.0.0"> 23<Project Sdk="WixToolset.Sdk/7.0.0">
24 <ItemGroup> 24 <ItemGroup>
25 <PackageReference Include="WixToolset.BootstrapperApplications.wixext" Version="6.0.0" /> 25 <PackageReference Include="WixToolset.BootstrapperApplications.wixext" Version="7.0.0" />
26 </ItemGroup> 26 </ItemGroup>
27</Project> 27</Project>
28``` 28```
diff --git a/src/ext/Bal/bal_t.proj b/src/ext/Bal/bal_t.proj
index bb8d44a2..80da207d 100644
--- a/src/ext/Bal/bal_t.proj
+++ b/src/ext/Bal/bal_t.proj
@@ -18,7 +18,7 @@
18 18
19 <ProjectReference Include="test\examples\examples.proj" /> 19 <ProjectReference Include="test\examples\examples.proj" />
20 20
21 <ProjectReference Include="test\WixToolsetTest.BootstrapperApplications\WixToolsetTest.BootstrapperApplications.csproj" Targets="Test" /> 21 <ProjectReference Include="test\WixToolsetTest.BootstrapperApplications\WixToolsetTest.BootstrapperApplications.csproj" />
22 22
23 <!-- 23 <!--
24 Currently there are no unskipped unit tests in this project. Should that change, 24 Currently there are no unskipped unit tests in this project. Should that change,
@@ -41,4 +41,8 @@
41 <Delete Files="$(ArtifactsFolder)WixToolset.BootstrapperApplications.wixext.*.nupkg" /> 41 <Delete Files="$(ArtifactsFolder)WixToolset.BootstrapperApplications.wixext.*.nupkg" />
42 <Delete Files="$(ArtifactsFolder)WixToolset.WixStandardBootstrapperApplicationFunctionApi.wixext.*.nupkg" /> 42 <Delete Files="$(ArtifactsFolder)WixToolset.WixStandardBootstrapperApplicationFunctionApi.wixext.*.nupkg" />
43 </Target> 43 </Target>
44
45 <Target Name="WixTest">
46 <MSBuild Projects="test\WixToolsetTest.BootstrapperApplications\WixToolsetTest.BootstrapperApplications.csproj" Targets="Test" />
47 </Target>
44</Project> 48</Project>
diff --git a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/BalExtensionFixture.cs b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/BalExtensionFixture.cs
index 6e24ad72..07d3dacb 100644
--- a/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/BalExtensionFixture.cs
+++ b/src/ext/Bal/test/WixToolsetTest.BootstrapperApplications/BalExtensionFixture.cs
@@ -1,5 +1,9 @@
1// 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. 1// 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.
2 2
3using Microsoft.VisualStudio.TestTools.UnitTesting;
4
5[assembly: Parallelize(Scope = ExecutionScope.MethodLevel)]
6
3namespace WixToolsetTest.BootstrapperApplications 7namespace WixToolsetTest.BootstrapperApplications
4{ 8{
5 using System; 9 using System;
diff --git a/src/ext/Bal/test/examples/EarliestCoreBundleSCD/EarliestCoreBundleSCD.wixproj b/src/ext/Bal/test/examples/EarliestCoreBundleSCD/EarliestCoreBundleSCD.wixproj
index 1179bea7..aea77d1b 100644
--- a/src/ext/Bal/test/examples/EarliestCoreBundleSCD/EarliestCoreBundleSCD.wixproj
+++ b/src/ext/Bal/test/examples/EarliestCoreBundleSCD/EarliestCoreBundleSCD.wixproj
@@ -1,14 +1,6 @@
1<!-- 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. --> 1<!-- 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. -->
2<Project Sdk="WixToolset.Sdk"> 2<Project Sdk="WixToolset.Sdk">
3 <ItemGroup> 3 <ItemGroup>
4 <BindPath Include="$(OutputPath)publish\Example.EarliestCoreMBA\scd" /> 4 <BindPath Include="$(OutputPath)publish\Example.EarliestCoreMBA\scd" BindName="ba.payloads" />
5 <HarvestDirectory Include="$(OutputPath)publish\Example.EarliestCoreMBA\scd">
6 <DirectoryRefId>publish.Example.EarliestCoreMBA.scd</DirectoryRefId>
7 <Transforms>ba.xslt</Transforms>
8 </HarvestDirectory>
9 </ItemGroup>
10
11 <ItemGroup>
12 <PackageReference Include="WixToolset.Heat" />
13 </ItemGroup> 5 </ItemGroup>
14</Project> 6</Project>
diff --git a/src/ext/Bal/test/examples/EarliestCoreBundleSCD/SelfContainedBundle.wxs b/src/ext/Bal/test/examples/EarliestCoreBundleSCD/SelfContainedBundle.wxs
index 38a167f1..68b697e7 100644
--- a/src/ext/Bal/test/examples/EarliestCoreBundleSCD/SelfContainedBundle.wxs
+++ b/src/ext/Bal/test/examples/EarliestCoreBundleSCD/SelfContainedBundle.wxs
@@ -1,9 +1,11 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
2 <Bundle Name="SCDEarliestCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533"> 2 <Bundle Name="SCDEarliestCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533">
3 <BootstrapperApplication SourceFile="Example.EarliestCoreMBA.exe"> 3 <BootstrapperApplication SourceFile="!(bindpath.ba.payloads)\Example.EarliestCoreMBA.exe">
4 <!-- <bal:WixDotNetCoreBootstrapperApplicationHost SelfContainedDeployment="yes" /> --> 4 <Payloads Include="!(bindpath.ba.payloads)\**">
5 <PayloadGroupRef Id="publish.Example.EarliestCoreMBA.scd" /> 5 <Exclude Files="!(bindpath.ba.payloads)\Example.EarliestCoreMBA.exe" />
6 </Payloads>
6 </BootstrapperApplication> 7 </BootstrapperApplication>
8
7 <Chain> 9 <Chain>
8 <ExePackage DetectCondition="none" UninstallArguments="-foo" SourceFile="..\.data\notanexe.exe" PerMachine="yes" /> 10 <ExePackage DetectCondition="none" UninstallArguments="-foo" SourceFile="..\.data\notanexe.exe" PerMachine="yes" />
9 </Chain> 11 </Chain>
diff --git a/src/ext/Bal/test/examples/EarliestCoreBundleSCD/ba.xslt b/src/ext/Bal/test/examples/EarliestCoreBundleSCD/ba.xslt
deleted file mode 100644
index d30b2564..00000000
--- a/src/ext/Bal/test/examples/EarliestCoreBundleSCD/ba.xslt
+++ /dev/null
@@ -1,15 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3 xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
4 xmlns:wix="http://wixtoolset.org/schemas/v4/wxs"
5>
6 <xsl:output method="xml" indent="yes"/>
7
8 <xsl:template match="@* | node()">
9 <xsl:copy>
10 <xsl:apply-templates select="@* | node()"/>
11 </xsl:copy>
12 </xsl:template>
13
14 <xsl:template match="wix:Payload[@SourceFile='SourceDir\Example.EarliestCoreMBA.exe']" />
15</xsl:stylesheet>
diff --git a/src/ext/Bal/test/examples/EarliestCoreBundleTrimmedSCD/EarliestCoreBundleTrimmedSCD.wixproj b/src/ext/Bal/test/examples/EarliestCoreBundleTrimmedSCD/EarliestCoreBundleTrimmedSCD.wixproj
index f9926550..5475022c 100644
--- a/src/ext/Bal/test/examples/EarliestCoreBundleTrimmedSCD/EarliestCoreBundleTrimmedSCD.wixproj
+++ b/src/ext/Bal/test/examples/EarliestCoreBundleTrimmedSCD/EarliestCoreBundleTrimmedSCD.wixproj
@@ -1,14 +1,6 @@
1<!-- 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. --> 1<!-- 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. -->
2<Project Sdk="WixToolset.Sdk"> 2<Project Sdk="WixToolset.Sdk">
3 <ItemGroup> 3 <ItemGroup>
4 <BindInputPaths Include="$(OutputPath)publish\Example.EarliestCoreMBA\trimmedscd" /> 4 <BindInputPaths Include="$(OutputPath)publish\Example.EarliestCoreMBA\trimmedscd" BindName="ba.payloads" />
5 <HarvestDirectory Include="$(OutputPath)publish\Example.EarliestCoreMBA\trimmedscd">
6 <DirectoryRefId>publish.Example.EarliestCoreMBA.trimmedscd</DirectoryRefId>
7 <Transforms>ba.xslt</Transforms>
8 </HarvestDirectory>
9 </ItemGroup>
10
11 <ItemGroup>
12 <PackageReference Include="WixToolset.Heat" />
13 </ItemGroup> 5 </ItemGroup>
14</Project> 6</Project>
diff --git a/src/ext/Bal/test/examples/EarliestCoreBundleTrimmedSCD/TrimmedSelfContainedBundle.wxs b/src/ext/Bal/test/examples/EarliestCoreBundleTrimmedSCD/TrimmedSelfContainedBundle.wxs
index bf4ad6e3..8895b279 100644
--- a/src/ext/Bal/test/examples/EarliestCoreBundleTrimmedSCD/TrimmedSelfContainedBundle.wxs
+++ b/src/ext/Bal/test/examples/EarliestCoreBundleTrimmedSCD/TrimmedSelfContainedBundle.wxs
@@ -1,9 +1,11 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
2 <Bundle Name="TrimmedSCDEarliestCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533"> 2 <Bundle Name="TrimmedSCDEarliestCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533">
3 <BootstrapperApplication SourceFile="SourceDir\Example.EarliestCoreMBA.exe" > 3 <BootstrapperApplication SourceFile="!(bindpath.ba.payloads)\Example.EarliestCoreMBA.exe" >
4 <!-- <bal:WixDotNetCoreBootstrapperApplicationHost SelfContainedDeployment="yes" /> --> 4 <Payloads Include="!(bindpath.ba.payloads)\**">
5 <PayloadGroupRef Id="publish.Example.EarliestCoreMBA.trimmedscd" /> 5 <Exclude Files="!(bindpath.ba.payloads)\Example.EarliestCoreMBA.exe" />
6 </Payloads>
6 </BootstrapperApplication> 7 </BootstrapperApplication>
8
7 <Chain> 9 <Chain>
8 <ExePackage DetectCondition="none" UninstallArguments="-foo" SourceFile="..\.data\notanexe.exe" PerMachine="yes" /> 10 <ExePackage DetectCondition="none" UninstallArguments="-foo" SourceFile="..\.data\notanexe.exe" PerMachine="yes" />
9 </Chain> 11 </Chain>
diff --git a/src/ext/Bal/test/examples/EarliestCoreBundleTrimmedSCD/ba.xslt b/src/ext/Bal/test/examples/EarliestCoreBundleTrimmedSCD/ba.xslt
deleted file mode 100644
index d30b2564..00000000
--- a/src/ext/Bal/test/examples/EarliestCoreBundleTrimmedSCD/ba.xslt
+++ /dev/null
@@ -1,15 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3 xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
4 xmlns:wix="http://wixtoolset.org/schemas/v4/wxs"
5>
6 <xsl:output method="xml" indent="yes"/>
7
8 <xsl:template match="@* | node()">
9 <xsl:copy>
10 <xsl:apply-templates select="@* | node()"/>
11 </xsl:copy>
12 </xsl:template>
13
14 <xsl:template match="wix:Payload[@SourceFile='SourceDir\Example.EarliestCoreMBA.exe']" />
15</xsl:stylesheet>
diff --git a/src/ext/Bal/test/examples/LatestCoreBundleSCD/LatestCoreBundleSCD.wixproj b/src/ext/Bal/test/examples/LatestCoreBundleSCD/LatestCoreBundleSCD.wixproj
index 048e3c97..73582984 100644
--- a/src/ext/Bal/test/examples/LatestCoreBundleSCD/LatestCoreBundleSCD.wixproj
+++ b/src/ext/Bal/test/examples/LatestCoreBundleSCD/LatestCoreBundleSCD.wixproj
@@ -1,14 +1,6 @@
1<!-- 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. --> 1<!-- 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. -->
2<Project Sdk="WixToolset.Sdk"> 2<Project Sdk="WixToolset.Sdk">
3 <ItemGroup> 3 <ItemGroup>
4 <BindInputPaths Include="$(OutputPath)publish\Example.LatestCoreMBA\scd" /> 4 <BindInputPaths Include="$(OutputPath)publish\Example.LatestCoreMBA\scd" BindName="ba.payloads" />
5 <HarvestDirectory Include="$(OutputPath)publish\Example.LatestCoreMBA\scd">
6 <DirectoryRefId>publish.Example.LatestCoreMBA.scd</DirectoryRefId>
7 <Transforms>ba.xslt</Transforms>
8 </HarvestDirectory>
9 </ItemGroup>
10
11 <ItemGroup>
12 <PackageReference Include="WixToolset.Heat" />
13 </ItemGroup> 5 </ItemGroup>
14</Project> 6</Project>
diff --git a/src/ext/Bal/test/examples/LatestCoreBundleSCD/SelfContainedBundle.wxs b/src/ext/Bal/test/examples/LatestCoreBundleSCD/SelfContainedBundle.wxs
index 0022b690..1f379b59 100644
--- a/src/ext/Bal/test/examples/LatestCoreBundleSCD/SelfContainedBundle.wxs
+++ b/src/ext/Bal/test/examples/LatestCoreBundleSCD/SelfContainedBundle.wxs
@@ -1,9 +1,11 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
2 <Bundle Name="SCDLatestCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533"> 2 <Bundle Name="SCDLatestCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533">
3 <BootstrapperApplication SourceFile="Example.LatestCoreMBA.exe"> 3 <BootstrapperApplication SourceFile="!(bindpath.ba.payloads)\Example.LatestCoreMBA.exe">
4 <!-- <bal:WixDotNetCoreBootstrapperApplicationHost SelfContainedDeployment="yes" /> --> 4 <Payloads Include="!(bindpath.ba.payloads)\**">
5 <PayloadGroupRef Id="publish.Example.LatestCoreMBA.scd" /> 5 <Exclude Files="!(bindpath.ba.payloads)\Example.LatestCoreMBA.exe" />
6 </Payloads>
6 </BootstrapperApplication> 7 </BootstrapperApplication>
8
7 <Chain> 9 <Chain>
8 <ExePackage DetectCondition="none" UninstallArguments="-foo" SourceFile="..\.data\notanexe.exe" PerMachine="yes" /> 10 <ExePackage DetectCondition="none" UninstallArguments="-foo" SourceFile="..\.data\notanexe.exe" PerMachine="yes" />
9 </Chain> 11 </Chain>
diff --git a/src/ext/Bal/test/examples/LatestCoreBundleSCD/ba.xslt b/src/ext/Bal/test/examples/LatestCoreBundleSCD/ba.xslt
deleted file mode 100644
index f606296e..00000000
--- a/src/ext/Bal/test/examples/LatestCoreBundleSCD/ba.xslt
+++ /dev/null
@@ -1,15 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3 xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
4 xmlns:wix="http://wixtoolset.org/schemas/v4/wxs"
5>
6 <xsl:output method="xml" indent="yes"/>
7
8 <xsl:template match="@* | node()">
9 <xsl:copy>
10 <xsl:apply-templates select="@* | node()"/>
11 </xsl:copy>
12 </xsl:template>
13
14 <xsl:template match="wix:Payload[@SourceFile='SourceDir\Example.LatestCoreMBA.exe']" />
15</xsl:stylesheet>
diff --git a/src/ext/Bal/test/examples/LatestCoreBundleTrimmedSCD/LatestCoreBundleTrimmedSCD.wixproj b/src/ext/Bal/test/examples/LatestCoreBundleTrimmedSCD/LatestCoreBundleTrimmedSCD.wixproj
index 056bf2bb..532f09b4 100644
--- a/src/ext/Bal/test/examples/LatestCoreBundleTrimmedSCD/LatestCoreBundleTrimmedSCD.wixproj
+++ b/src/ext/Bal/test/examples/LatestCoreBundleTrimmedSCD/LatestCoreBundleTrimmedSCD.wixproj
@@ -1,14 +1,6 @@
1<!-- 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. --> 1<!-- 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. -->
2<Project Sdk="WixToolset.Sdk"> 2<Project Sdk="WixToolset.Sdk">
3 <ItemGroup> 3 <ItemGroup>
4 <BindInputPaths Include="$(OutputPath)publish\Example.LatestCoreMBA\trimmedscd" /> 4 <BindInputPaths Include="$(OutputPath)publish\Example.LatestCoreMBA\trimmedscd" BindName="ba.payloads" />
5 <HarvestDirectory Include="$(OutputPath)publish\Example.LatestCoreMBA\trimmedscd">
6 <DirectoryRefId>publish.Example.LatestCoreMBA.trimmedscd</DirectoryRefId>
7 <Transforms>ba.xslt</Transforms>
8 </HarvestDirectory>
9 </ItemGroup>
10
11 <ItemGroup>
12 <PackageReference Include="WixToolset.Heat" />
13 </ItemGroup> 5 </ItemGroup>
14</Project> 6</Project>
diff --git a/src/ext/Bal/test/examples/LatestCoreBundleTrimmedSCD/TrimmedSelfContainedBundle.wxs b/src/ext/Bal/test/examples/LatestCoreBundleTrimmedSCD/TrimmedSelfContainedBundle.wxs
index 322a27a3..cd32628a 100644
--- a/src/ext/Bal/test/examples/LatestCoreBundleTrimmedSCD/TrimmedSelfContainedBundle.wxs
+++ b/src/ext/Bal/test/examples/LatestCoreBundleTrimmedSCD/TrimmedSelfContainedBundle.wxs
@@ -1,9 +1,11 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal"> 1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal">
2 <Bundle Name="TrimmedSCDLatestCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533"> 2 <Bundle Name="TrimmedSCDLatestCoreMBA" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="5CE5B5C7-4B6B-4B95-B297-731F1F956533">
3 <BootstrapperApplication SourceFile="Example.LatestCoreMBA.exe"> 3 <BootstrapperApplication SourceFile="!(bindpath.ba.payloads)\Example.LatestCoreMBA.exe">
4 <!-- <bal:WixDotNetCoreBootstrapperApplicationHost SelfContainedDeployment="yes" /> --> 4 <Payloads Include="!(bindpath.ba.payloads)\**">
5 <PayloadGroupRef Id="publish.Example.LatestCoreMBA.trimmedscd" /> 5 <Exclude Files="!(bindpath.ba.payloads)\Example.LatestCoreMBA.exe" />
6 </Payloads>
6 </BootstrapperApplication> 7 </BootstrapperApplication>
8
7 <Chain> 9 <Chain>
8 <ExePackage DetectCondition="none" UninstallArguments="-foo" SourceFile="..\.data\notanexe.exe" PerMachine="yes" /> 10 <ExePackage DetectCondition="none" UninstallArguments="-foo" SourceFile="..\.data\notanexe.exe" PerMachine="yes" />
9 </Chain> 11 </Chain>
diff --git a/src/ext/Bal/test/examples/LatestCoreBundleTrimmedSCD/ba.xslt b/src/ext/Bal/test/examples/LatestCoreBundleTrimmedSCD/ba.xslt
deleted file mode 100644
index f606296e..00000000
--- a/src/ext/Bal/test/examples/LatestCoreBundleTrimmedSCD/ba.xslt
+++ /dev/null
@@ -1,15 +0,0 @@
1<?xml version="1.0" encoding="utf-8"?>
2<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3 xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
4 xmlns:wix="http://wixtoolset.org/schemas/v4/wxs"
5>
6 <xsl:output method="xml" indent="yes"/>
7
8 <xsl:template match="@* | node()">
9 <xsl:copy>
10 <xsl:apply-templates select="@* | node()"/>
11 </xsl:copy>
12 </xsl:template>
13
14 <xsl:template match="wix:Payload[@SourceFile='SourceDir\Example.LatestCoreMBA.exe']" />
15</xsl:stylesheet>
diff --git a/src/ext/Bal/test/examples/examples.proj b/src/ext/Bal/test/examples/examples.proj
index c1544766..e439c288 100644
--- a/src/ext/Bal/test/examples/examples.proj
+++ b/src/ext/Bal/test/examples/examples.proj
@@ -34,16 +34,12 @@
34 Condition="'%(CoreMBAProject.SkipFDD)'==''" /> 34 Condition="'%(CoreMBAProject.SkipFDD)'==''" />
35 <Exec Command='dotnet publish -o "%(CoreMBAProject.PublishPath)\scd" -r win-x64 -c $(Configuration) --self-contained true "%(CoreMBAProject.Identity)"' 35 <Exec Command='dotnet publish -o "%(CoreMBAProject.PublishPath)\scd" -r win-x64 -c $(Configuration) --self-contained true "%(CoreMBAProject.Identity)"'
36 Condition="'%(CoreMBAProject.SkipSCD)'==''" /> 36 Condition="'%(CoreMBAProject.SkipSCD)'==''" />
37 <!--
38 Publishing a library is "undefined" (per https://github.com/dotnet/runtime/issues/91535)
39 and is now a build error. This will go away when BAs go out of proc, so not spending a
40 lot of time to keep building trimmed in VS 17.8.
41 -->
42 <Exec Command='dotnet publish -o "%(CoreMBAProject.PublishPath)\trimmedscd" -r win-x64 -c $(Configuration) --self-contained true -p:PublishTrimmed=false -p:TrimMode=%(CoreMBAProject.TrimMode) "%(CoreMBAProject.Identity)"' 37 <Exec Command='dotnet publish -o "%(CoreMBAProject.PublishPath)\trimmedscd" -r win-x64 -c $(Configuration) --self-contained true -p:PublishTrimmed=false -p:TrimMode=%(CoreMBAProject.TrimMode) "%(CoreMBAProject.Identity)"'
43 Condition="'%(CoreMBAProject.TrimMode)'!=''" /> 38 Condition="'%(CoreMBAProject.TrimMode)'!=''" />
44 </Target> 39 </Target>
45 40
46 <ItemGroup> 41 <ItemGroup>
42 <ProjectReference Include="..\..\wixext\WixToolset.BootstrapperApplications.wixext.csproj" />
47 <ProjectReference Include="**\*.wixproj" /> 43 <ProjectReference Include="**\*.wixproj" />
48 </ItemGroup> 44 </ItemGroup>
49</Project> 45</Project>
diff --git a/src/ext/ComPlus/README.md b/src/ext/ComPlus/README.md
index 2412a6d1..01f60df4 100644
--- a/src/ext/ComPlus/README.md
+++ b/src/ext/ComPlus/README.md
@@ -17,9 +17,9 @@ To pay the Maintenance Fee, [become a Sponsor](https://github.com/sponsors/wixto
17Add the WiX Extension as a PackageReference to your .wixproj: 17Add the WiX Extension as a PackageReference to your .wixproj:
18 18
19``` 19```
20<Project Sdk="WixToolset.Sdk/6.0.0"> 20<Project Sdk="WixToolset.Sdk/7.0.0">
21 <ItemGroup> 21 <ItemGroup>
22 <PackageReference Include="WixToolset.ComPlus.wixext" Version="6.0.0" /> 22 <PackageReference Include="WixToolset.ComPlus.wixext" Version="7.0.0" />
23 </ItemGroup> 23 </ItemGroup>
24</Project> 24</Project>
25``` 25```
diff --git a/src/ext/ComPlus/complus_t.proj b/src/ext/ComPlus/complus_t.proj
index 8f187744..56f0cc99 100644
--- a/src/ext/ComPlus/complus_t.proj
+++ b/src/ext/ComPlus/complus_t.proj
@@ -3,7 +3,7 @@
3 3
4<Project Sdk="Microsoft.Build.Traversal"> 4<Project Sdk="Microsoft.Build.Traversal">
5 <ItemGroup> 5 <ItemGroup>
6 <ProjectReference Include="test\WixToolsetTest.ComPlus\WixToolsetTest.ComPlus.csproj" Targets="Test" /> 6 <ProjectReference Include="test\WixToolsetTest.ComPlus\WixToolsetTest.ComPlus.csproj" />
7 <ProjectReference Include="wixext\WixToolset.ComPlus.wixext.csproj" Targets="Pack" Properties="NoBuild=true" /> 7 <ProjectReference Include="wixext\WixToolset.ComPlus.wixext.csproj" Targets="Pack" Properties="NoBuild=true" />
8 </ItemGroup> 8 </ItemGroup>
9 9
@@ -14,4 +14,8 @@
14 14
15 <Delete Files="$(ArtifactsFolder)WixToolset.ComPlus.wixext.*.nupkg" /> 15 <Delete Files="$(ArtifactsFolder)WixToolset.ComPlus.wixext.*.nupkg" />
16 </Target> 16 </Target>
17
18 <Target Name="WixTest">
19 <MSBuild Projects="test\WixToolsetTest.ComPlus\WixToolsetTest.ComPlus.csproj" Targets="Test" />
20 </Target>
17</Project> 21</Project>
diff --git a/src/ext/Dependency/README.md b/src/ext/Dependency/README.md
index 0d7fd7b3..2ed031f2 100644
--- a/src/ext/Dependency/README.md
+++ b/src/ext/Dependency/README.md
@@ -17,9 +17,9 @@ To pay the Maintenance Fee, [become a Sponsor](https://github.com/sponsors/wixto
17Add the WiX Extension as a PackageReference to your .wixproj: 17Add the WiX Extension as a PackageReference to your .wixproj:
18 18
19``` 19```
20<Project Sdk="WixToolset.Sdk/6.0.0"> 20<Project Sdk="WixToolset.Sdk/7.0.0">
21 <ItemGroup> 21 <ItemGroup>
22 <PackageReference Include="WixToolset.Dependency.wixext" Version="6.0.0" /> 22 <PackageReference Include="WixToolset.Dependency.wixext" Version="7.0.0" />
23 </ItemGroup> 23 </ItemGroup>
24</Project> 24</Project>
25``` 25```
diff --git a/src/ext/Dependency/dependency_t.proj b/src/ext/Dependency/dependency_t.proj
index 569ddd17..c4293806 100644
--- a/src/ext/Dependency/dependency_t.proj
+++ b/src/ext/Dependency/dependency_t.proj
@@ -3,7 +3,7 @@
3 3
4<Project Sdk="Microsoft.Build.Traversal"> 4<Project Sdk="Microsoft.Build.Traversal">
5 <ItemGroup> 5 <ItemGroup>
6 <ProjectReference Include="test\WixToolsetTest.Dependency\WixToolsetTest.Dependency.csproj" Targets="Test" /> 6 <ProjectReference Include="test\WixToolsetTest.Dependency\WixToolsetTest.Dependency.csproj" />
7 <ProjectReference Include="wixext\WixToolset.Dependency.wixext.csproj" Targets="Pack" Properties="NoBuild=true" /> 7 <ProjectReference Include="wixext\WixToolset.Dependency.wixext.csproj" Targets="Pack" Properties="NoBuild=true" />
8 </ItemGroup> 8 </ItemGroup>
9 9
@@ -14,4 +14,8 @@
14 14
15 <Delete Files="$(ArtifactsFolder)WixToolset.Dependency.wixext.*.nupkg" /> 15 <Delete Files="$(ArtifactsFolder)WixToolset.Dependency.wixext.*.nupkg" />
16 </Target> 16 </Target>
17
18 <Target Name="WixTest">
19 <MSBuild Projects="test\WixToolsetTest.Dependency\WixToolsetTest.Dependency.csproj" Targets="Test" />
20 </Target>
17</Project> 21</Project>
diff --git a/src/ext/DirectX/README.md b/src/ext/DirectX/README.md
index 2f9f3f08..cceaa105 100644
--- a/src/ext/DirectX/README.md
+++ b/src/ext/DirectX/README.md
@@ -17,9 +17,9 @@ To pay the Maintenance Fee, [become a Sponsor](https://github.com/sponsors/wixto
17Add the WiX Extension as a PackageReference to your .wixproj: 17Add the WiX Extension as a PackageReference to your .wixproj:
18 18
19``` 19```
20<Project Sdk="WixToolset.Sdk/6.0.0"> 20<Project Sdk="WixToolset.Sdk/7.0.0">
21 <ItemGroup> 21 <ItemGroup>
22 <PackageReference Include="WixToolset.DirectX.wixext" Version="6.0.0" /> 22 <PackageReference Include="WixToolset.DirectX.wixext" Version="7.0.0" />
23 </ItemGroup> 23 </ItemGroup>
24</Project> 24</Project>
25``` 25```
diff --git a/src/ext/DirectX/directx_t.proj b/src/ext/DirectX/directx_t.proj
index f014465b..ff28ccb7 100644
--- a/src/ext/DirectX/directx_t.proj
+++ b/src/ext/DirectX/directx_t.proj
@@ -3,7 +3,7 @@
3 3
4<Project Sdk="Microsoft.Build.Traversal"> 4<Project Sdk="Microsoft.Build.Traversal">
5 <ItemGroup> 5 <ItemGroup>
6 <ProjectReference Include="test\WixToolsetTest.DirectX\WixToolsetTest.DirectX.csproj" Targets="Test" /> 6 <ProjectReference Include="test\WixToolsetTest.DirectX\WixToolsetTest.DirectX.csproj" />
7 <ProjectReference Include="wixext\WixToolset.DirectX.wixext.csproj" Targets="Pack" Properties="NoBuild=true" /> 7 <ProjectReference Include="wixext\WixToolset.DirectX.wixext.csproj" Targets="Pack" Properties="NoBuild=true" />
8 </ItemGroup> 8 </ItemGroup>
9 9
@@ -14,4 +14,8 @@
14 14
15 <Delete Files="$(ArtifactsFolder)WixToolset.DirectX.wixext.*.nupkg" /> 15 <Delete Files="$(ArtifactsFolder)WixToolset.DirectX.wixext.*.nupkg" />
16 </Target> 16 </Target>
17
18 <Target Name="WixTest">
19 <MSBuild Projects="test\WixToolsetTest.DirectX\WixToolsetTest.DirectX.csproj" Targets="Test" />
20 </Target>
17</Project> 21</Project>
diff --git a/src/ext/Firewall/README.md b/src/ext/Firewall/README.md
index bd2b3fce..eac3acf9 100644
--- a/src/ext/Firewall/README.md
+++ b/src/ext/Firewall/README.md
@@ -17,9 +17,9 @@ To pay the Maintenance Fee, [become a Sponsor](https://github.com/sponsors/wixto
17Add the WiX Extension as a PackageReference to your .wixproj: 17Add the WiX Extension as a PackageReference to your .wixproj:
18 18
19``` 19```
20<Project Sdk="WixToolset.Sdk/6.0.0"> 20<Project Sdk="WixToolset.Sdk/7.0.0">
21 <ItemGroup> 21 <ItemGroup>
22 <PackageReference Include="WixToolset.Firewall.wixext" Version="6.0.0" /> 22 <PackageReference Include="WixToolset.Firewall.wixext" Version="7.0.0" />
23 </ItemGroup> 23 </ItemGroup>
24</Project> 24</Project>
25``` 25```
diff --git a/src/ext/Firewall/firewall_t.proj b/src/ext/Firewall/firewall_t.proj
index 72128805..f2cee0a0 100644
--- a/src/ext/Firewall/firewall_t.proj
+++ b/src/ext/Firewall/firewall_t.proj
@@ -3,7 +3,7 @@
3 3
4<Project Sdk="Microsoft.Build.Traversal"> 4<Project Sdk="Microsoft.Build.Traversal">
5 <ItemGroup> 5 <ItemGroup>
6 <ProjectReference Include="test\WixToolsetTest.Firewall\WixToolsetTest.Firewall.csproj" Targets="Test" /> 6 <ProjectReference Include="test\WixToolsetTest.Firewall\WixToolsetTest.Firewall.csproj" />
7 <ProjectReference Include="wixext\WixToolset.Firewall.wixext.csproj" Targets="Pack" Properties="NoBuild=true" /> 7 <ProjectReference Include="wixext\WixToolset.Firewall.wixext.csproj" Targets="Pack" Properties="NoBuild=true" />
8 </ItemGroup> 8 </ItemGroup>
9 9
@@ -14,4 +14,8 @@
14 14
15 <Delete Files="$(ArtifactsFolder)WixToolset.Firewall.wixext.*.nupkg" /> 15 <Delete Files="$(ArtifactsFolder)WixToolset.Firewall.wixext.*.nupkg" />
16 </Target> 16 </Target>
17
18 <Target Name="WixTest">
19 <MSBuild Projects="test\WixToolsetTest.Firewall\WixToolsetTest.Firewall.csproj" Targets="Test" />
20 </Target>
17</Project> 21</Project>
diff --git a/src/ext/Firewall/test/WixToolsetTest.Firewall/FirewallExtensionFixture.cs b/src/ext/Firewall/test/WixToolsetTest.Firewall/FirewallExtensionFixture.cs
index 4b9aecd7..3be8af0e 100644
--- a/src/ext/Firewall/test/WixToolsetTest.Firewall/FirewallExtensionFixture.cs
+++ b/src/ext/Firewall/test/WixToolsetTest.Firewall/FirewallExtensionFixture.cs
@@ -1,7 +1,12 @@
1// 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. 1// 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.
2 2
3using Microsoft.VisualStudio.TestTools.UnitTesting;
4
5[assembly: Parallelize(Scope = ExecutionScope.MethodLevel)]
6
3namespace WixToolsetTest.Firewall 7namespace WixToolsetTest.Firewall
4{ 8{
9 using System;
5 using System.Data; 10 using System.Data;
6 using System.IO; 11 using System.IO;
7 using System.Linq; 12 using System.Linq;
@@ -621,6 +626,39 @@ namespace WixToolsetTest.Firewall
621 }, locals.ToArray()); 626 }, locals.ToArray());
622 } 627 }
623 628
629 [TestMethod]
630 public void CanDecompileWix4FirewallPackage()
631 {
632 var folder = TestData.Get(@"TestData\DecompileWix4Firewall");
633 var output = Path.Combine(folder, "DecompiledWix4Firewall.xml");
634
635 var result = WixRunner.Execute(
636 "msi",
637 "decompile",
638 "-ext", Path.GetFullPath(typeof(FirewallExtensionFactory).Assembly.Location),
639 Path.Combine(folder, "Firewall4.msi"),
640 "-o", output
641 );
642 result.AssertSuccess();
643
644 var doc = XDocument.Load(output);
645 var actual = doc.Descendants()
646 .Where(e => e.Name.Namespace == "http://wixtoolset.org/schemas/v4/wxs/firewall")
647 .Select(fe => new { Name = fe.Name.LocalName, Attributes = fe.Attributes().Select(a => $"{a.Name.LocalName}={a.Value}").ToArray() })
648 .ToArray();
649
650 WixAssert.CompareLineByLine(new[]
651 {
652 "FirewallException",
653 "RemoteAddress",
654 "RemoteAddress",
655 "RemoteAddress",
656 "RemoteAddress",
657 "RemoteAddress",
658 "FirewallException",
659 }, actual.Select(a => a.Name).ToArray());
660 }
661
624 private static void Build(string[] args) 662 private static void Build(string[] args)
625 { 663 {
626 var result = WixRunner.Execute(args); 664 var result = WixRunner.Execute(args);
@@ -654,8 +692,9 @@ namespace WixToolsetTest.Firewall
654 var folder = TestData.Get(@"TestData", path); 692 var folder = TestData.Get(@"TestData", path);
655 var build = new Builder(folder, typeof(FirewallExtensionFactory), new[] { folder }); 693 var build = new Builder(folder, typeof(FirewallExtensionFactory), new[] { folder });
656 var output = Path.Combine(folder, $"Firewall{ruleName}.xml"); 694 var output = Path.Combine(folder, $"Firewall{ruleName}.xml");
695 var isOfficialBuild = !String.IsNullOrEmpty(Environment.GetEnvironmentVariable("WixOfficialBuild"));
657 696
658 build.BuildAndDecompileAndBuild(Build, Decompile, output, validate: true); 697 build.BuildAndDecompileAndBuild(Build, Decompile, output, validate: isOfficialBuild);
659 698
660 var doc = XDocument.Load(output); 699 var doc = XDocument.Load(output);
661 var actual = doc.Descendants() 700 var actual = doc.Descendants()
diff --git a/src/ext/Firewall/test/WixToolsetTest.Firewall/TestData/DecompileWix4Firewall/Firewall4.msi b/src/ext/Firewall/test/WixToolsetTest.Firewall/TestData/DecompileWix4Firewall/Firewall4.msi
new file mode 100644
index 00000000..1dde5df4
--- /dev/null
+++ b/src/ext/Firewall/test/WixToolsetTest.Firewall/TestData/DecompileWix4Firewall/Firewall4.msi
Binary files differ
diff --git a/src/ext/Firewall/test/WixToolsetTest.Firewall/TestData/DecompileWix4Firewall/ReferenceSource/Firewall4.wixproj b/src/ext/Firewall/test/WixToolsetTest.Firewall/TestData/DecompileWix4Firewall/ReferenceSource/Firewall4.wixproj
new file mode 100644
index 00000000..0098d7ac
--- /dev/null
+++ b/src/ext/Firewall/test/WixToolsetTest.Firewall/TestData/DecompileWix4Firewall/ReferenceSource/Firewall4.wixproj
@@ -0,0 +1,6 @@
1<Project Sdk="WixToolset.Sdk/4.0.6">
2 <ItemGroup>
3 <PackageVersion Update="WixToolset.Firewall.wixext" Version="4.0.6" />
4 <PackageReference Include="WixToolset.Firewall.wixext" />
5 </ItemGroup>
6</Project> \ No newline at end of file
diff --git a/src/ext/Firewall/test/WixToolsetTest.Firewall/TestData/DecompileWix4Firewall/ReferenceSource/Firewall4.wxs b/src/ext/Firewall/test/WixToolsetTest.Firewall/TestData/DecompileWix4Firewall/ReferenceSource/Firewall4.wxs
new file mode 100644
index 00000000..8a89ad6c
--- /dev/null
+++ b/src/ext/Firewall/test/WixToolsetTest.Firewall/TestData/DecompileWix4Firewall/ReferenceSource/Firewall4.wxs
@@ -0,0 +1,36 @@
1<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
2 xmlns:fw="http://wixtoolset.org/schemas/v4/wxs/firewall">
3 <Package Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a">
4 <MajorUpgrade DowngradeErrorMessage="(DowngradeError)" />
5 <MediaTemplate EmbedCab="yes" />
6
7 <Feature Id="FAll">
8 <ComponentGroupRef Id="ProductComponents" />
9 </Feature>
10 </Package>
11
12 <Fragment>
13 <StandardDirectory Id="ProgramFilesFolder">
14 <Directory Id="INSTALLFOLDER" Name="MsiPackage" />
15 </StandardDirectory>
16 </Fragment>
17
18 <Fragment>
19 <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
20 <Component>
21 <File Name="fw.exe" Source="$(sys.SOURCEFILEPATH)">
22 <Shortcut Id="FwShortcut" Directory="INSTALLFOLDER" Name="Firewall" />
23 <fw:FirewallException Id="ExampleFirewall" Description="An app-based firewall exception" Name="ExampleApp" Port="42">
24 <fw:RemoteAddress Value="Defaultgateway" />
25 <fw:RemoteAddress Value="DHCP" />
26 <fw:RemoteAddress Value="DNS" />
27 <fw:RemoteAddress Value="255.255.255.0" />
28 <fw:RemoteAddress Value="1.1.1.1-2.2.2.2" />
29 </fw:FirewallException>
30 </File>
31
32 <fw:FirewallException Description="A port-based firewall exception" Name="ExamplePort" Port="42" Outbound="yes" Scope="localSubnet" />
33 </Component>
34 </ComponentGroup>
35 </Fragment>
36</Wix>
diff --git a/src/ext/Firewall/wixext/FirewallDecompiler.cs b/src/ext/Firewall/wixext/FirewallDecompiler.cs
index 4fafc0a0..dbfc882e 100644
--- a/src/ext/Firewall/wixext/FirewallDecompiler.cs
+++ b/src/ext/Firewall/wixext/FirewallDecompiler.cs
@@ -4,8 +4,6 @@ namespace WixToolset.Firewall
4{ 4{
5 using System; 5 using System;
6 using System.Collections.Generic; 6 using System.Collections.Generic;
7 using System.Reflection;
8 using System.Security;
9 using System.Xml.Linq; 7 using System.Xml.Linq;
10 using WixToolset.Data; 8 using WixToolset.Data;
11 using WixToolset.Data.WindowsInstaller; 9 using WixToolset.Data.WindowsInstaller;
@@ -83,7 +81,7 @@ namespace WixToolset.Firewall
83 string[] addresses = ((string)row[2]).Split(','); 81 string[] addresses = ((string)row[2]).Split(',');
84 if (addresses.Length == 1) 82 if (addresses.Length == 1)
85 { 83 {
86 switch(addresses[0]) 84 switch (addresses[0])
87 { 85 {
88 case "*": 86 case "*":
89 firewallException.Add(new XAttribute("Scope", "any")); 87 firewallException.Add(new XAttribute("Scope", "any"));
@@ -482,20 +480,25 @@ namespace WixToolset.Firewall
482 /// <param name="tables">Collection of all tables.</param> 480 /// <param name="tables">Collection of all tables.</param>
483 private void FinalizeFirewallExceptionTable(TableIndexedCollection tables) 481 private void FinalizeFirewallExceptionTable(TableIndexedCollection tables)
484 { 482 {
485 if (tables.TryGetTable("Wix5FirewallException", out var firewallExceptionTable)) 483 var possibleTableNames = new List<string>() { "WixFirewallException", "Wix4FirewallException", "Wix5FirewallException", };
484
485 foreach (var tableName in possibleTableNames)
486 { 486 {
487 foreach (var row in firewallExceptionTable.Rows) 487 if (tables.TryGetTable(tableName, out var firewallExceptionTable))
488 { 488 {
489 var xmlConfig = this.DecompilerHelper.GetIndexedElement(row); 489 foreach (var row in firewallExceptionTable.Rows)
490
491 var componentId = row.FieldAsString(8);
492 if (this.DecompilerHelper.TryGetIndexedElement("Component", componentId, out var component))
493 {
494 component.Add(xmlConfig);
495 }
496 else
497 { 490 {
498 this.Messaging.Write(WarningMessages.ExpectedForeignRow(row.SourceLineNumbers, firewallExceptionTable.Name, row.GetPrimaryKey(), "Component_", componentId, "Component")); 491 var xmlConfig = this.DecompilerHelper.GetIndexedElement(row);
492
493 var componentId = row.FieldAsString(8);
494 if (this.DecompilerHelper.TryGetIndexedElement("Component", componentId, out var component))
495 {
496 component.Add(xmlConfig);
497 }
498 else
499 {
500 this.Messaging.Write(WarningMessages.ExpectedForeignRow(row.SourceLineNumbers, firewallExceptionTable.Name, row.GetPrimaryKey(), "Component_", componentId, "Component"));
501 }
499 } 502 }
500 } 503 }
501 } 504 }
diff --git a/src/ext/Http/README.md b/src/ext/Http/README.md
index 64cbbf51..35c80c68 100644
--- a/src/ext/Http/README.md
+++ b/src/ext/Http/README.md
@@ -17,9 +17,9 @@ To pay the Maintenance Fee, [become a Sponsor](https://github.com/sponsors/wixto
17Add the WiX Extension as a PackageReference to your .wixproj: 17Add the WiX Extension as a PackageReference to your .wixproj:
18 18
19``` 19```
20<Project Sdk="WixToolset.Sdk/6.0.0"> 20<Project Sdk="WixToolset.Sdk/7.0.0">
21 <ItemGroup> 21 <ItemGroup>
22 <PackageReference Include="WixToolset.Http.wixext" Version="6.0.0" /> 22 <PackageReference Include="WixToolset.Http.wixext" Version="7.0.0" />
23 </ItemGroup> 23 </ItemGroup>
24</Project> 24</Project>
25``` 25```
diff --git a/src/ext/Http/http_t.proj b/src/ext/Http/http_t.proj
index ddcb64b4..b3de433f 100644
--- a/src/ext/Http/http_t.proj
+++ b/src/ext/Http/http_t.proj
@@ -3,7 +3,7 @@
3 3
4<Project Sdk="Microsoft.Build.Traversal"> 4<Project Sdk="Microsoft.Build.Traversal">
5 <ItemGroup> 5 <ItemGroup>
6 <ProjectReference Include="test\WixToolsetTest.Http\WixToolsetTest.Http.csproj" Targets="Test" /> 6 <ProjectReference Include="test\WixToolsetTest.Http\WixToolsetTest.Http.csproj" />
7 <ProjectReference Include="wixext\WixToolset.Http.wixext.csproj" Targets="Pack" Properties="NoBuild=true" /> 7 <ProjectReference Include="wixext\WixToolset.Http.wixext.csproj" Targets="Pack" Properties="NoBuild=true" />
8 </ItemGroup> 8 </ItemGroup>
9 9
@@ -14,4 +14,8 @@
14 14
15 <Delete Files="$(ArtifactsFolder)WixToolset.Http.wixext.*.nupkg" /> 15 <Delete Files="$(ArtifactsFolder)WixToolset.Http.wixext.*.nupkg" />
16 </Target> 16 </Target>
17
18 <Target Name="WixTest">
19 <MSBuild Projects="test\WixToolsetTest.Http\WixToolsetTest.Http.csproj" Targets="Test" />
20 </Target>
17</Project> 21</Project>
diff --git a/src/ext/Http/test/WixToolsetTest.Http/HttpExtensionFixture.cs b/src/ext/Http/test/WixToolsetTest.Http/HttpExtensionFixture.cs
index c91ce937..7dcb9086 100644
--- a/src/ext/Http/test/WixToolsetTest.Http/HttpExtensionFixture.cs
+++ b/src/ext/Http/test/WixToolsetTest.Http/HttpExtensionFixture.cs
@@ -1,5 +1,9 @@
1// 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. 1// 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.
2 2
3using Microsoft.VisualStudio.TestTools.UnitTesting;
4
5[assembly: Parallelize(Scope = ExecutionScope.MethodLevel)]
6
3namespace WixToolsetTest.Http 7namespace WixToolsetTest.Http
4{ 8{
5 using Microsoft.VisualStudio.TestTools.UnitTesting; 9 using Microsoft.VisualStudio.TestTools.UnitTesting;
diff --git a/src/ext/Iis/README.md b/src/ext/Iis/README.md
index 3344d10c..f9fb96c3 100644
--- a/src/ext/Iis/README.md
+++ b/src/ext/Iis/README.md
@@ -17,9 +17,9 @@ To pay the Maintenance Fee, [become a Sponsor](https://github.com/sponsors/wixto
17Add the WiX Extension as a PackageReference to your .wixproj: 17Add the WiX Extension as a PackageReference to your .wixproj:
18 18
19``` 19```
20<Project Sdk="WixToolset.Sdk/6.0.0"> 20<Project Sdk="WixToolset.Sdk/7.0.0">
21 <ItemGroup> 21 <ItemGroup>
22 <PackageReference Include="WixToolset.Iis.wixext" Version="6.0.0" /> 22 <PackageReference Include="WixToolset.Iis.wixext" Version="7.0.0" />
23 </ItemGroup> 23 </ItemGroup>
24</Project> 24</Project>
25``` 25```
diff --git a/src/ext/Iis/iis_t.proj b/src/ext/Iis/iis_t.proj
index 2238d785..2e05f3f1 100644
--- a/src/ext/Iis/iis_t.proj
+++ b/src/ext/Iis/iis_t.proj
@@ -3,7 +3,7 @@
3 3
4<Project Sdk="Microsoft.Build.Traversal"> 4<Project Sdk="Microsoft.Build.Traversal">
5 <ItemGroup> 5 <ItemGroup>
6 <ProjectReference Include="test\WixToolsetTest.Iis\WixToolsetTest.Iis.csproj" Targets="Test" /> 6 <ProjectReference Include="test\WixToolsetTest.Iis\WixToolsetTest.Iis.csproj" />
7 <ProjectReference Include="wixext\WixToolset.Iis.wixext.csproj" Targets="Pack" Properties="NoBuild=true" /> 7 <ProjectReference Include="wixext\WixToolset.Iis.wixext.csproj" Targets="Pack" Properties="NoBuild=true" />
8 </ItemGroup> 8 </ItemGroup>
9 9
@@ -14,4 +14,8 @@
14 14
15 <Delete Files="$(ArtifactsFolder)WixToolset.Iis.wixext.*.nupkg" /> 15 <Delete Files="$(ArtifactsFolder)WixToolset.Iis.wixext.*.nupkg" />
16 </Target> 16 </Target>
17
18 <Target Name="WixTest">
19 <MSBuild Projects="test\WixToolsetTest.Iis\WixToolsetTest.Iis.csproj" Targets="Test" />
20 </Target>
17</Project> 21</Project>
diff --git a/src/ext/Msmq/README.md b/src/ext/Msmq/README.md
index 6ebd70e9..46491349 100644
--- a/src/ext/Msmq/README.md
+++ b/src/ext/Msmq/README.md
@@ -17,9 +17,9 @@ To pay the Maintenance Fee, [become a Sponsor](https://github.com/sponsors/wixto
17Add the WiX Extension as a PackageReference to your .wixproj: 17Add the WiX Extension as a PackageReference to your .wixproj:
18 18
19``` 19```
20<Project Sdk="WixToolset.Sdk/6.0.0"> 20<Project Sdk="WixToolset.Sdk/7.0.0">
21 <ItemGroup> 21 <ItemGroup>
22 <PackageReference Include="WixToolset.Msmq.wixext" Version="6.0.0" /> 22 <PackageReference Include="WixToolset.Msmq.wixext" Version="7.0.0" />
23 </ItemGroup> 23 </ItemGroup>
24</Project> 24</Project>
25``` 25```
diff --git a/src/ext/Msmq/msmq_t.proj b/src/ext/Msmq/msmq_t.proj
index 9eaab92f..639f7f77 100644
--- a/src/ext/Msmq/msmq_t.proj
+++ b/src/ext/Msmq/msmq_t.proj
@@ -3,7 +3,7 @@
3 3
4<Project Sdk="Microsoft.Build.Traversal"> 4<Project Sdk="Microsoft.Build.Traversal">
5 <ItemGroup> 5 <ItemGroup>
6 <ProjectReference Include="test\WixToolsetTest.Msmq\WixToolsetTest.Msmq.csproj" Targets="Test" /> 6 <ProjectReference Include="test\WixToolsetTest.Msmq\WixToolsetTest.Msmq.csproj" />
7 <ProjectReference Include="wixext\WixToolset.Msmq.wixext.csproj" Targets="Pack" Properties="NoBuild=true" /> 7 <ProjectReference Include="wixext\WixToolset.Msmq.wixext.csproj" Targets="Pack" Properties="NoBuild=true" />
8 </ItemGroup> 8 </ItemGroup>
9 9
@@ -14,4 +14,8 @@
14 14
15 <Delete Files="$(ArtifactsFolder)WixToolset.Msmq.wixext.*.nupkg" /> 15 <Delete Files="$(ArtifactsFolder)WixToolset.Msmq.wixext.*.nupkg" />
16 </Target> 16 </Target>
17
18 <Target Name="WixTest">
19 <MSBuild Projects="test\WixToolsetTest.Msmq\WixToolsetTest.Msmq.csproj" Targets="Test" />
20 </Target>
17</Project> 21</Project>
diff --git a/src/ext/NetFx/README.md b/src/ext/NetFx/README.md
index ace02de3..dcc79786 100644
--- a/src/ext/NetFx/README.md
+++ b/src/ext/NetFx/README.md
@@ -17,9 +17,9 @@ To pay the Maintenance Fee, [become a Sponsor](https://github.com/sponsors/wixto
17Add the WiX Extension as a PackageReference to your .wixproj: 17Add the WiX Extension as a PackageReference to your .wixproj:
18 18
19``` 19```
20<Project Sdk="WixToolset.Sdk/6.0.0"> 20<Project Sdk="WixToolset.Sdk/7.0.0">
21 <ItemGroup> 21 <ItemGroup>
22 <PackageReference Include="WixToolset.NetFx.wixext" Version="6.0.0" /> 22 <PackageReference Include="WixToolset.NetFx.wixext" Version="7.0.0" />
23 </ItemGroup> 23 </ItemGroup>
24</Project> 24</Project>
25``` 25```
diff --git a/src/ext/NetFx/netfx_t.proj b/src/ext/NetFx/netfx_t.proj
index 1c1b8a61..86996e42 100644
--- a/src/ext/NetFx/netfx_t.proj
+++ b/src/ext/NetFx/netfx_t.proj
@@ -4,7 +4,7 @@
4<Project Sdk="Microsoft.Build.Traversal"> 4<Project Sdk="Microsoft.Build.Traversal">
5 <ItemGroup> 5 <ItemGroup>
6 <ProjectReference Include="wixlib\netfx.wixproj" /> 6 <ProjectReference Include="wixlib\netfx.wixproj" />
7 <ProjectReference Include="test\WixToolsetTest.Netfx\WixToolsetTest.Netfx.csproj" Targets="Test" /> 7 <ProjectReference Include="test\WixToolsetTest.Netfx\WixToolsetTest.Netfx.csproj" />
8 <ProjectReference Include="wixext\WixToolset.Netfx.wixext.csproj" Targets="Pack" Properties="NoBuild=true" /> 8 <ProjectReference Include="wixext\WixToolset.Netfx.wixext.csproj" Targets="Pack" Properties="NoBuild=true" />
9 </ItemGroup> 9 </ItemGroup>
10 10
@@ -23,4 +23,8 @@
23 23
24 <Delete Files="$(ArtifactsFolder)WixToolset.NetFx.wixext.*.nupkg" /> 24 <Delete Files="$(ArtifactsFolder)WixToolset.NetFx.wixext.*.nupkg" />
25 </Target> 25 </Target>
26
27 <Target Name="WixTest">
28 <MSBuild Projects="test\WixToolsetTest.Netfx\WixToolsetTest.Netfx.csproj" Targets="Test" />
29 </Target>
26</Project> 30</Project>
diff --git a/src/ext/NetFx/test/WixToolsetTest.Netfx/NetfxExtensionFixture.cs b/src/ext/NetFx/test/WixToolsetTest.Netfx/NetfxExtensionFixture.cs
index 37f715bf..381270d4 100644
--- a/src/ext/NetFx/test/WixToolsetTest.Netfx/NetfxExtensionFixture.cs
+++ b/src/ext/NetFx/test/WixToolsetTest.Netfx/NetfxExtensionFixture.cs
@@ -1,5 +1,9 @@
1// 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. 1// 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.
2 2
3using Microsoft.VisualStudio.TestTools.UnitTesting;
4
5[assembly: Parallelize(Scope = ExecutionScope.MethodLevel)]
6
3namespace WixToolsetTest.Netfx 7namespace WixToolsetTest.Netfx
4{ 8{
5 using System.IO; 9 using System.IO;
diff --git a/src/ext/PowerShell/README.md b/src/ext/PowerShell/README.md
index 7ee2f5e2..9cea557f 100644
--- a/src/ext/PowerShell/README.md
+++ b/src/ext/PowerShell/README.md
@@ -17,9 +17,9 @@ To pay the Maintenance Fee, [become a Sponsor](https://github.com/sponsors/wixto
17Add the WiX Extension as a PackageReference to your .wixproj: 17Add the WiX Extension as a PackageReference to your .wixproj:
18 18
19``` 19```
20<Project Sdk="WixToolset.Sdk/6.0.0"> 20<Project Sdk="WixToolset.Sdk/7.0.0">
21 <ItemGroup> 21 <ItemGroup>
22 <PackageReference Include="WixToolset.PowerShell.wixext" Version="6.0.0" /> 22 <PackageReference Include="WixToolset.PowerShell.wixext" Version="7.0.0" />
23 </ItemGroup> 23 </ItemGroup>
24</Project> 24</Project>
25``` 25```
diff --git a/src/ext/PowerShell/powershell_t.proj b/src/ext/PowerShell/powershell_t.proj
index a1d88013..8c12bdef 100644
--- a/src/ext/PowerShell/powershell_t.proj
+++ b/src/ext/PowerShell/powershell_t.proj
@@ -3,7 +3,7 @@
3 3
4<Project Sdk="Microsoft.Build.Traversal"> 4<Project Sdk="Microsoft.Build.Traversal">
5 <ItemGroup> 5 <ItemGroup>
6 <ProjectReference Include="test\WixToolsetTest.PowerShell\WixToolsetTest.Powershell.csproj" Targets="Test" /> 6 <ProjectReference Include="test\WixToolsetTest.PowerShell\WixToolsetTest.Powershell.csproj" />
7 <ProjectReference Include="wixext\WixToolset.PowerShell.wixext.csproj" Targets="Pack" Properties="NoBuild=true" /> 7 <ProjectReference Include="wixext\WixToolset.PowerShell.wixext.csproj" Targets="Pack" Properties="NoBuild=true" />
8 </ItemGroup> 8 </ItemGroup>
9 9
@@ -14,4 +14,8 @@
14 14
15 <Delete Files="$(ArtifactsFolder)WixToolset.PowerShell.wixext.*.nupkg" /> 15 <Delete Files="$(ArtifactsFolder)WixToolset.PowerShell.wixext.*.nupkg" />
16 </Target> 16 </Target>
17
18 <Target Name="WixTest">
19 <MSBuild Projects="test\WixToolsetTest.PowerShell\WixToolsetTest.Powershell.csproj" Targets="Test" />
20 </Target>
17</Project> 21</Project>
diff --git a/src/ext/Sql/README.md b/src/ext/Sql/README.md
index adc543c8..156c7761 100644
--- a/src/ext/Sql/README.md
+++ b/src/ext/Sql/README.md
@@ -17,9 +17,9 @@ To pay the Maintenance Fee, [become a Sponsor](https://github.com/sponsors/wixto
17Add the WiX Extension as a PackageReference to your .wixproj: 17Add the WiX Extension as a PackageReference to your .wixproj:
18 18
19``` 19```
20<Project Sdk="WixToolset.Sdk/6.0.0"> 20<Project Sdk="WixToolset.Sdk/7.0.0">
21 <ItemGroup> 21 <ItemGroup>
22 <PackageReference Include="WixToolset.Sql.wixext" Version="6.0.0" /> 22 <PackageReference Include="WixToolset.Sql.wixext" Version="7.0.0" />
23 </ItemGroup> 23 </ItemGroup>
24</Project> 24</Project>
25``` 25```
diff --git a/src/ext/Sql/sql_t.proj b/src/ext/Sql/sql_t.proj
index 92c908d2..42450510 100644
--- a/src/ext/Sql/sql_t.proj
+++ b/src/ext/Sql/sql_t.proj
@@ -3,7 +3,7 @@
3 3
4<Project Sdk="Microsoft.Build.Traversal"> 4<Project Sdk="Microsoft.Build.Traversal">
5 <ItemGroup> 5 <ItemGroup>
6 <ProjectReference Include="test\WixToolsetTest.Sql\WixToolsetTest.Sql.csproj" Targets="Test" /> 6 <ProjectReference Include="test\WixToolsetTest.Sql\WixToolsetTest.Sql.csproj" />
7 <ProjectReference Include="wixext\WixToolset.Sql.wixext.csproj" Targets="Pack" Properties="NoBuild=true" /> 7 <ProjectReference Include="wixext\WixToolset.Sql.wixext.csproj" Targets="Pack" Properties="NoBuild=true" />
8 </ItemGroup> 8 </ItemGroup>
9 9
@@ -14,4 +14,8 @@
14 14
15 <Delete Files="$(ArtifactsFolder)WixToolset.Sql.wixext.*.nupkg" /> 15 <Delete Files="$(ArtifactsFolder)WixToolset.Sql.wixext.*.nupkg" />
16 </Target> 16 </Target>
17
18 <Target Name="WixTest">
19 <MSBuild Projects="test\WixToolsetTest.Sql\WixToolsetTest.Sql.csproj" Targets="Test" />
20 </Target>
17</Project> 21</Project>
diff --git a/src/ext/UI/README.md b/src/ext/UI/README.md
index 19d5ba0c..5b040f13 100644
--- a/src/ext/UI/README.md
+++ b/src/ext/UI/README.md
@@ -17,9 +17,9 @@ To pay the Maintenance Fee, [become a Sponsor](https://github.com/sponsors/wixto
17Add the WiX Extension as a PackageReference to your .wixproj: 17Add the WiX Extension as a PackageReference to your .wixproj:
18 18
19``` 19```
20<Project Sdk="WixToolset.Sdk/6.0.0"> 20<Project Sdk="WixToolset.Sdk/7.0.0">
21 <ItemGroup> 21 <ItemGroup>
22 <PackageReference Include="WixToolset.UI.wixext" Version="6.0.0" /> 22 <PackageReference Include="WixToolset.UI.wixext" Version="7.0.0" />
23 </ItemGroup> 23 </ItemGroup>
24</Project> 24</Project>
25``` 25```
diff --git a/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs b/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs
index ae3a49be..9bc82fcf 100644
--- a/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs
+++ b/src/ext/UI/test/WixToolsetTest.UI/UIExtensionFixture.cs
@@ -1,5 +1,9 @@
1// 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. 1// 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.
2 2
3using Microsoft.VisualStudio.TestTools.UnitTesting;
4
5[assembly: Parallelize(Scope = ExecutionScope.MethodLevel)]
6
3namespace WixToolsetTest.UI 7namespace WixToolsetTest.UI
4{ 8{
5 using System.IO; 9 using System.IO;
diff --git a/src/ext/UI/ui_t.proj b/src/ext/UI/ui_t.proj
index 6ac63cfe..895c0323 100644
--- a/src/ext/UI/ui_t.proj
+++ b/src/ext/UI/ui_t.proj
@@ -3,7 +3,7 @@
3 3
4<Project Sdk="Microsoft.Build.Traversal"> 4<Project Sdk="Microsoft.Build.Traversal">
5 <ItemGroup> 5 <ItemGroup>
6 <ProjectReference Include="test\WixToolsetTest.UI\WixToolsetTest.UI.csproj" Targets="Test" /> 6 <ProjectReference Include="test\WixToolsetTest.UI\WixToolsetTest.UI.csproj" />
7 <ProjectReference Include="wixext\WixToolset.UI.wixext.csproj" Targets="Pack" Properties="NoBuild=true" /> 7 <ProjectReference Include="wixext\WixToolset.UI.wixext.csproj" Targets="Pack" Properties="NoBuild=true" />
8 </ItemGroup> 8 </ItemGroup>
9 9
@@ -14,4 +14,8 @@
14 14
15 <Delete Files="$(ArtifactsFolder)WixToolset.UI.wixext.*.nupkg" /> 15 <Delete Files="$(ArtifactsFolder)WixToolset.UI.wixext.*.nupkg" />
16 </Target> 16 </Target>
17
18 <Target Name="WixTest">
19 <MSBuild Projects="test\WixToolsetTest.UI\WixToolsetTest.UI.csproj" Targets="Test" />
20 </Target>
17</Project> 21</Project>
diff --git a/src/ext/Util/README.md b/src/ext/Util/README.md
index 11d7a363..2bbf17ce 100644
--- a/src/ext/Util/README.md
+++ b/src/ext/Util/README.md
@@ -17,9 +17,9 @@ To pay the Maintenance Fee, [become a Sponsor](https://github.com/sponsors/wixto
17Add the WiX Extension as a PackageReference to your .wixproj: 17Add the WiX Extension as a PackageReference to your .wixproj:
18 18
19``` 19```
20<Project Sdk="WixToolset.Sdk/6.0.0"> 20<Project Sdk="WixToolset.Sdk/7.0.0">
21 <ItemGroup> 21 <ItemGroup>
22 <PackageReference Include="WixToolset.Util.wixext" Version="6.0.0" /> 22 <PackageReference Include="WixToolset.Util.wixext" Version="7.0.0" />
23 </ItemGroup> 23 </ItemGroup>
24</Project> 24</Project>
25``` 25```
diff --git a/src/ext/Util/test/WixToolsetTest.Util/UtilExtensionFixture.cs b/src/ext/Util/test/WixToolsetTest.Util/UtilExtensionFixture.cs
index 03d87e4e..bb00717f 100644
--- a/src/ext/Util/test/WixToolsetTest.Util/UtilExtensionFixture.cs
+++ b/src/ext/Util/test/WixToolsetTest.Util/UtilExtensionFixture.cs
@@ -1,15 +1,18 @@
1// 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. 1// 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.
2 2
3using Microsoft.VisualStudio.TestTools.UnitTesting;
4
5[assembly: Parallelize(Scope = ExecutionScope.MethodLevel)]
6
3namespace WixToolsetTest.Util 7namespace WixToolsetTest.Util
4{ 8{
5 using System;
6 using System.IO; 9 using System.IO;
7 using System.Linq; 10 using System.Linq;
8 using System.Xml; 11 using System.Xml;
9 using System.Xml.Linq; 12 using System.Xml.Linq;
10 using Microsoft.VisualStudio.TestTools.UnitTesting; 13 using Microsoft.VisualStudio.TestTools.UnitTesting;
11 using WixInternal.MSTestSupport;
12 using WixInternal.Core.MSTestPackage; 14 using WixInternal.Core.MSTestPackage;
15 using WixInternal.MSTestSupport;
13 using WixToolset.Util; 16 using WixToolset.Util;
14 17
15 [TestClass] 18 [TestClass]
diff --git a/src/ext/Util/util_t.proj b/src/ext/Util/util_t.proj
index 6ec63476..02be4b49 100644
--- a/src/ext/Util/util_t.proj
+++ b/src/ext/Util/util_t.proj
@@ -3,7 +3,7 @@
3 3
4<Project Sdk="Microsoft.Build.Traversal"> 4<Project Sdk="Microsoft.Build.Traversal">
5 <ItemGroup> 5 <ItemGroup>
6 <ProjectReference Include="test\WixToolsetTest.Util\WixToolsetTest.Util.csproj" Targets="Test" /> 6 <ProjectReference Include="test\WixToolsetTest.Util\WixToolsetTest.Util.csproj" />
7 <ProjectReference Include="wixext\WixToolset.Util.wixext.csproj" Targets="Pack" Properties="NoBuild=true" /> 7 <ProjectReference Include="wixext\WixToolset.Util.wixext.csproj" Targets="Pack" Properties="NoBuild=true" />
8 </ItemGroup> 8 </ItemGroup>
9 9
@@ -14,4 +14,8 @@
14 14
15 <Delete Files="$(ArtifactsFolder)WixToolset.Util.wixext.*.nupkg" /> 15 <Delete Files="$(ArtifactsFolder)WixToolset.Util.wixext.*.nupkg" />
16 </Target> 16 </Target>
17
18 <Target Name="WixTest">
19 <MSBuild Projects="test\WixToolsetTest.Util\WixToolsetTest.Util.csproj" Targets="Test" />
20 </Target>
17</Project> 21</Project>
diff --git a/src/ext/Util/wixext/UtilDecompiler.cs b/src/ext/Util/wixext/UtilDecompiler.cs
index cde64f8f..fb6d02e5 100644
--- a/src/ext/Util/wixext/UtilDecompiler.cs
+++ b/src/ext/Util/wixext/UtilDecompiler.cs
@@ -538,7 +538,7 @@ namespace WixToolset.Util
538 new XAttribute("Name", Path.GetFileNameWithoutExtension(row.FieldAsString(3))), // remove .lnk/.url extension because compiler extension adds it back for us 538 new XAttribute("Name", Path.GetFileNameWithoutExtension(row.FieldAsString(3))), // remove .lnk/.url extension because compiler extension adds it back for us
539 new XAttribute("Type", type), 539 new XAttribute("Type", type),
540 new XAttribute("Target", row.FieldAsString(4)), 540 new XAttribute("Target", row.FieldAsString(4)),
541 new XAttribute("IconFile", row.FieldAsString(6)), 541 AttributeIfNotNull("IconFile", row, 6),
542 NumericAttributeIfNotNull("IconIndex", row, 7) 542 NumericAttributeIfNotNull("IconIndex", row, 7)
543 ); 543 );
544 544
diff --git a/src/ext/VisualStudio/README.md b/src/ext/VisualStudio/README.md
index a418d49b..bf48670c 100644
--- a/src/ext/VisualStudio/README.md
+++ b/src/ext/VisualStudio/README.md
@@ -17,9 +17,9 @@ To pay the Maintenance Fee, [become a Sponsor](https://github.com/sponsors/wixto
17Add the WiX Extension as a PackageReference to your .wixproj: 17Add the WiX Extension as a PackageReference to your .wixproj:
18 18
19``` 19```
20<Project Sdk="WixToolset.Sdk/6.0.0"> 20<Project Sdk="WixToolset.Sdk/7.0.0">
21 <ItemGroup> 21 <ItemGroup>
22 <PackageReference Include="WixToolset.VisualStudio.wixext" Version="6.0.0" /> 22 <PackageReference Include="WixToolset.VisualStudio.wixext" Version="7.0.0" />
23 </ItemGroup> 23 </ItemGroup>
24</Project> 24</Project>
25``` 25```
diff --git a/src/ext/VisualStudio/visualstudio_t.proj b/src/ext/VisualStudio/visualstudio_t.proj
index 9b3f5b4f..d6c101e6 100644
--- a/src/ext/VisualStudio/visualstudio_t.proj
+++ b/src/ext/VisualStudio/visualstudio_t.proj
@@ -3,7 +3,7 @@
3 3
4<Project Sdk="Microsoft.Build.Traversal"> 4<Project Sdk="Microsoft.Build.Traversal">
5 <ItemGroup> 5 <ItemGroup>
6 <ProjectReference Include="test\WixToolsetTest.VisualStudio\WixToolsetTest.VisualStudio.csproj" Targets="Test" /> 6 <ProjectReference Include="test\WixToolsetTest.VisualStudio\WixToolsetTest.VisualStudio.csproj" />
7 <ProjectReference Include="wixext\WixToolset.VisualStudio.wixext.csproj" Targets="Pack" Properties="NoBuild=true" /> 7 <ProjectReference Include="wixext\WixToolset.VisualStudio.wixext.csproj" Targets="Pack" Properties="NoBuild=true" />
8 </ItemGroup> 8 </ItemGroup>
9 9
@@ -14,4 +14,8 @@
14 14
15 <Delete Files="$(ArtifactsFolder)WixToolset.VisualStudio.wixext.*.nupkg" /> 15 <Delete Files="$(ArtifactsFolder)WixToolset.VisualStudio.wixext.*.nupkg" />
16 </Target> 16 </Target>
17
18 <Target Name="WixTest">
19 <MSBuild Projects="test\WixToolsetTest.VisualStudio\WixToolsetTest.VisualStudio.csproj" Targets="Test" />
20 </Target>
17</Project> 21</Project>
diff --git a/src/ext/ext_t.proj b/src/ext/ext_t.proj
index b51f3425..f9febb2e 100644
--- a/src/ext/ext_t.proj
+++ b/src/ext/ext_t.proj
@@ -7,18 +7,33 @@
7 <ProjectReference Include="Util\util_t.proj" BuildInParallel="false" Targets="Restore;Build" /> 7 <ProjectReference Include="Util\util_t.proj" BuildInParallel="false" Targets="Restore;Build" />
8 <ProjectReference Include="Bal\bal_t.proj" BuildInParallel="false" Targets="Restore;Build" /> 8 <ProjectReference Include="Bal\bal_t.proj" BuildInParallel="false" Targets="Restore;Build" />
9 9
10 <ProjectReference Include="NetFx\netfx_t.proj" BuildInParallel="false" Targets="Restore;Build" /> 10 <ProjectReference Include="Firewall\firewall_t.proj" Targets="Restore;Build" />
11 <ProjectReference Include="UI\ui_t.proj" Targets="Restore;Build" />
11 <ProjectReference Include="ComPlus\complus_t.proj" Targets="Restore;Build" /> 12 <ProjectReference Include="ComPlus\complus_t.proj" Targets="Restore;Build" />
12 <ProjectReference Include="Dependency\dependency_t.proj" Targets="Restore;Build" /> 13 <ProjectReference Include="Dependency\dependency_t.proj" Targets="Restore;Build" />
13 <ProjectReference Include="DirectX\directx_t.proj" Targets="Restore;Build" /> 14 <ProjectReference Include="DirectX\directx_t.proj" Targets="Restore;Build" />
14 <ProjectReference Include="Firewall\firewall_t.proj" Targets="Restore;Build" />
15 <ProjectReference Include="Http\http_t.proj" Targets="Restore;Build" /> 15 <ProjectReference Include="Http\http_t.proj" Targets="Restore;Build" />
16 <ProjectReference Include="Iis\iis_t.proj" Targets="Restore;Build" /> 16 <ProjectReference Include="Iis\iis_t.proj" Targets="Restore;Build" />
17 <ProjectReference Include="Msmq\msmq_t.proj" Targets="Restore;Build" /> 17 <ProjectReference Include="Msmq\msmq_t.proj" Targets="Restore;Build" />
18 <ProjectReference Include="NetFx\netfx_t.proj" Targets="Restore;Build" /> 18 <ProjectReference Include="NetFx\netfx_t.proj" Targets="Restore;Build" />
19 <ProjectReference Include="PowerShell\powershell_t.proj" Targets="Restore;Build" /> 19 <ProjectReference Include="PowerShell\powershell_t.proj" Targets="Restore;Build" />
20 <ProjectReference Include="Sql\sql_t.proj" Targets="Restore;Build" /> 20 <ProjectReference Include="Sql\sql_t.proj" Targets="Restore;Build" />
21 <ProjectReference Include="UI\ui_t.proj" Targets="Restore;Build" />
22 <ProjectReference Include="VisualStudio\visualstudio_t.proj" Targets="Restore;Build" /> 21 <ProjectReference Include="VisualStudio\visualstudio_t.proj" Targets="Restore;Build" />
22
23 <ProjectReference Include="Firewall\firewall_t.proj" Targets="WixTest" />
24 <ProjectReference Include="UI\ui_t.proj" Targets="WixTest" />
25 <ProjectReference Include="Util\util_t.proj" Targets="WixTest" />
26 <ProjectReference Include="Bal\bal_t.proj" Targets="WixTest" />
27 <ProjectReference Include="ComPlus\complus_t.proj" Targets="WixTest" />
28 <ProjectReference Include="Dependency\dependency_t.proj" Targets="WixTest" />
29 <ProjectReference Include="DirectX\directx_t.proj" Targets="WixTest" />
30 <ProjectReference Include="Http\http_t.proj" Targets="WixTest" />
31 <ProjectReference Include="Iis\iis_t.proj" Targets="WixTest" />
32 <ProjectReference Include="Msmq\msmq_t.proj" Targets="WixTest" />
33 <ProjectReference Include="NetFx\netfx_t.proj" Targets="WixTest" />
34 <ProjectReference Include="PowerShell\powershell_t.proj" Targets="WixTest" />
35 <ProjectReference Include="Sql\sql_t.proj" Targets="WixTest" />
36 <ProjectReference Include="VisualStudio\visualstudio_t.proj" Targets="WixTest" />
37
23 </ItemGroup> 38 </ItemGroup>
24</Project> 39</Project>