From 5f89a76d42dd9d132f4454e196e4f26fd65333ee Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Fri, 26 Jun 2020 01:09:40 -0700 Subject: Rename WixToolset.Msbuild to WixToolset.Sdk --- Tools.sln | 4 +- appveyor.cmd | 52 +- src/Wix.Build.props | 2 +- src/WixToolset.MSBuild/Sdk/Sdk.props | 23 - src/WixToolset.MSBuild/Sdk/Sdk.targets | 15 - src/WixToolset.MSBuild/WixToolset.MSBuild.csproj | 38 - src/WixToolset.MSBuild/WixToolset.MSBuild.nuspec | 18 - .../WixToolset.MSBuild.v3.ncrunchproject | 5 - .../build/WixToolset.MSBuild.props | 8 - src/WixToolset.MSBuild/tools/wix.ca.targets | 123 --- src/WixToolset.MSBuild/tools/wix.harvest.targets | 512 --------- src/WixToolset.MSBuild/tools/wix.signing.targets | 370 ------- src/WixToolset.MSBuild/tools/wix.targets | 1083 -------------------- src/WixToolset.Sdk/Sdk/Sdk.props | 23 + src/WixToolset.Sdk/Sdk/Sdk.targets | 15 + src/WixToolset.Sdk/WixToolset.Sdk.csproj | 38 + src/WixToolset.Sdk/WixToolset.Sdk.nuspec | 18 + .../WixToolset.Sdk.v3.ncrunchproject | 5 + src/WixToolset.Sdk/build/WixToolset.Sdk.props | 8 + src/WixToolset.Sdk/tools/wix.ca.targets | 123 +++ src/WixToolset.Sdk/tools/wix.harvest.targets | 512 +++++++++ src/WixToolset.Sdk/tools/wix.signing.targets | 370 +++++++ src/WixToolset.Sdk/tools/wix.targets | 1083 ++++++++++++++++++++ .../WixToolsetTest.BuildTasks.csproj | 8 +- src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs | 408 -------- .../WixToolsetTest.MSBuild/MsbuildHeatFixture.cs | 150 --- .../WixToolsetTest.MSBuild/MsbuildUtilities.cs | 98 -- src/test/WixToolsetTest.MSBuild/README.md | 5 - .../HeatFileMultipleFilesSameFileName.wixproj | 58 -- .../MyProgram.json | 1 - .../MyProgram.txt | 1 - .../HeatFileMultipleFilesSameFileName/Package.wxs | 22 - .../HeatFilePackage/HeatFilePackage.wixproj | 53 - .../TestData/HeatFilePackage/Package.wxs | 21 - .../MergeMsiPackage/MergeMsiPackage.wixproj | 44 - .../MergeModule/MergeMsiPackage/Package.wxs | 22 - .../MergeModule/SimpleMergeModule/MergeModule.wxs | 22 - .../SimpleMergeModule/SimpleMergeModule.wixproj | 42 - .../SimpleMergeModule/data/MergeModule.txt | 1 - .../MsiPackage/MsiPackage.wixproj | 50 - .../MsiPackage/Package.de-de.wxl | 11 - .../MsiPackage/Package.en-us.wxl | 11 - .../MultiCulturalMsiPackage/MsiPackage/Package.wxs | 21 - .../MsiPackage/PackageComponents.wxs | 10 - .../MsiPackage/data/test.txt | 1 - .../MultiCulturalMsiPackage.sln | 31 - .../SimpleMsiPackage/MsiPackage/MsiPackage.wixproj | 46 - .../SimpleMsiPackage/MsiPackage/Package.en-us.wxl | 11 - .../SimpleMsiPackage/MsiPackage/Package.wxs | 25 - .../MsiPackage/PackageComponents.wxs | 10 - .../SimpleMsiPackage/MsiPackage/data/test.txt | 1 - .../SimpleMsiPackage/SimpleBundle/Bundle.wxs | 10 - .../SimpleBundle/SimpleBundle.wixproj | 42 - .../TestData/SimpleMsiPackage/SimpleMsiPackage.sln | 39 - .../WixToolsetTest.MSBuild.csproj | 48 - .../WixToolsetTest.MSBuild.v3.ncrunchproject | 8 - src/test/WixToolsetTest.Sdk/MsbuildFixture.cs | 408 ++++++++ src/test/WixToolsetTest.Sdk/MsbuildHeatFixture.cs | 150 +++ src/test/WixToolsetTest.Sdk/MsbuildUtilities.cs | 98 ++ src/test/WixToolsetTest.Sdk/README.md | 5 + .../HeatFileMultipleFilesSameFileName.wixproj | 58 ++ .../MyProgram.json | 1 + .../MyProgram.txt | 1 + .../HeatFileMultipleFilesSameFileName/Package.wxs | 22 + .../HeatFilePackage/HeatFilePackage.wixproj | 53 + .../TestData/HeatFilePackage/Package.wxs | 21 + .../MergeMsiPackage/MergeMsiPackage.wixproj | 44 + .../MergeModule/MergeMsiPackage/Package.wxs | 22 + .../MergeModule/SimpleMergeModule/MergeModule.wxs | 22 + .../SimpleMergeModule/SimpleMergeModule.wixproj | 42 + .../SimpleMergeModule/data/MergeModule.txt | 1 + .../MsiPackage/MsiPackage.wixproj | 50 + .../MsiPackage/Package.de-de.wxl | 11 + .../MsiPackage/Package.en-us.wxl | 11 + .../MultiCulturalMsiPackage/MsiPackage/Package.wxs | 21 + .../MsiPackage/PackageComponents.wxs | 10 + .../MsiPackage/data/test.txt | 1 + .../MultiCulturalMsiPackage.sln | 31 + .../SimpleMsiPackage/MsiPackage/MsiPackage.wixproj | 46 + .../SimpleMsiPackage/MsiPackage/Package.en-us.wxl | 11 + .../SimpleMsiPackage/MsiPackage/Package.wxs | 25 + .../MsiPackage/PackageComponents.wxs | 10 + .../SimpleMsiPackage/MsiPackage/data/test.txt | 1 + .../SimpleMsiPackage/SimpleBundle/Bundle.wxs | 10 + .../SimpleBundle/SimpleBundle.wixproj | 42 + .../TestData/SimpleMsiPackage/SimpleMsiPackage.sln | 39 + .../WixToolsetTest.Sdk/WixToolsetTest.Sdk.csproj | 48 + .../WixToolsetTest.Sdk.v3.ncrunchproject | 8 + 88 files changed, 3551 insertions(+), 3551 deletions(-) delete mode 100644 src/WixToolset.MSBuild/Sdk/Sdk.props delete mode 100644 src/WixToolset.MSBuild/Sdk/Sdk.targets delete mode 100644 src/WixToolset.MSBuild/WixToolset.MSBuild.csproj delete mode 100644 src/WixToolset.MSBuild/WixToolset.MSBuild.nuspec delete mode 100644 src/WixToolset.MSBuild/WixToolset.MSBuild.v3.ncrunchproject delete mode 100644 src/WixToolset.MSBuild/build/WixToolset.MSBuild.props delete mode 100644 src/WixToolset.MSBuild/tools/wix.ca.targets delete mode 100644 src/WixToolset.MSBuild/tools/wix.harvest.targets delete mode 100644 src/WixToolset.MSBuild/tools/wix.signing.targets delete mode 100644 src/WixToolset.MSBuild/tools/wix.targets create mode 100644 src/WixToolset.Sdk/Sdk/Sdk.props create mode 100644 src/WixToolset.Sdk/Sdk/Sdk.targets create mode 100644 src/WixToolset.Sdk/WixToolset.Sdk.csproj create mode 100644 src/WixToolset.Sdk/WixToolset.Sdk.nuspec create mode 100644 src/WixToolset.Sdk/WixToolset.Sdk.v3.ncrunchproject create mode 100644 src/WixToolset.Sdk/build/WixToolset.Sdk.props create mode 100644 src/WixToolset.Sdk/tools/wix.ca.targets create mode 100644 src/WixToolset.Sdk/tools/wix.harvest.targets create mode 100644 src/WixToolset.Sdk/tools/wix.signing.targets create mode 100644 src/WixToolset.Sdk/tools/wix.targets delete mode 100644 src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs delete mode 100644 src/test/WixToolsetTest.MSBuild/MsbuildHeatFixture.cs delete mode 100644 src/test/WixToolsetTest.MSBuild/MsbuildUtilities.cs delete mode 100644 src/test/WixToolsetTest.MSBuild/README.md delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/HeatFileMultipleFilesSameFileName/HeatFileMultipleFilesSameFileName.wixproj delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/HeatFileMultipleFilesSameFileName/MyProgram.json delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/HeatFileMultipleFilesSameFileName/MyProgram.txt delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/HeatFileMultipleFilesSameFileName/Package.wxs delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/HeatFilePackage/HeatFilePackage.wixproj delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/HeatFilePackage/Package.wxs delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/MergeModule/MergeMsiPackage/MergeMsiPackage.wixproj delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/MergeModule/MergeMsiPackage/Package.wxs delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/MergeModule.wxs delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/SimpleMergeModule.wixproj delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/data/MergeModule.txt delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/MsiPackage.wixproj delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/Package.de-de.wxl delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/Package.en-us.wxl delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/Package.wxs delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/PackageComponents.wxs delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/data/test.txt delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MultiCulturalMsiPackage.sln delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/MsiPackage/MsiPackage.wixproj delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/MsiPackage/Package.en-us.wxl delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/MsiPackage/Package.wxs delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/MsiPackage/PackageComponents.wxs delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/MsiPackage/data/test.txt delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/SimpleBundle/Bundle.wxs delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/SimpleBundle/SimpleBundle.wixproj delete mode 100644 src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/SimpleMsiPackage.sln delete mode 100644 src/test/WixToolsetTest.MSBuild/WixToolsetTest.MSBuild.csproj delete mode 100644 src/test/WixToolsetTest.MSBuild/WixToolsetTest.MSBuild.v3.ncrunchproject create mode 100644 src/test/WixToolsetTest.Sdk/MsbuildFixture.cs create mode 100644 src/test/WixToolsetTest.Sdk/MsbuildHeatFixture.cs create mode 100644 src/test/WixToolsetTest.Sdk/MsbuildUtilities.cs create mode 100644 src/test/WixToolsetTest.Sdk/README.md create mode 100644 src/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/HeatFileMultipleFilesSameFileName.wixproj create mode 100644 src/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/MyProgram.json create mode 100644 src/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/MyProgram.txt create mode 100644 src/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/Package.wxs create mode 100644 src/test/WixToolsetTest.Sdk/TestData/HeatFilePackage/HeatFilePackage.wixproj create mode 100644 src/test/WixToolsetTest.Sdk/TestData/HeatFilePackage/Package.wxs create mode 100644 src/test/WixToolsetTest.Sdk/TestData/MergeModule/MergeMsiPackage/MergeMsiPackage.wixproj create mode 100644 src/test/WixToolsetTest.Sdk/TestData/MergeModule/MergeMsiPackage/Package.wxs create mode 100644 src/test/WixToolsetTest.Sdk/TestData/MergeModule/SimpleMergeModule/MergeModule.wxs create mode 100644 src/test/WixToolsetTest.Sdk/TestData/MergeModule/SimpleMergeModule/SimpleMergeModule.wixproj create mode 100644 src/test/WixToolsetTest.Sdk/TestData/MergeModule/SimpleMergeModule/data/MergeModule.txt create mode 100644 src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/MsiPackage.wixproj create mode 100644 src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/Package.de-de.wxl create mode 100644 src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/Package.en-us.wxl create mode 100644 src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/Package.wxs create mode 100644 src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/PackageComponents.wxs create mode 100644 src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/data/test.txt create mode 100644 src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MultiCulturalMsiPackage.sln create mode 100644 src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/MsiPackage.wixproj create mode 100644 src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/Package.en-us.wxl create mode 100644 src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/Package.wxs create mode 100644 src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/PackageComponents.wxs create mode 100644 src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/data/test.txt create mode 100644 src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleBundle/Bundle.wxs create mode 100644 src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleBundle/SimpleBundle.wixproj create mode 100644 src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleMsiPackage.sln create mode 100644 src/test/WixToolsetTest.Sdk/WixToolsetTest.Sdk.csproj create mode 100644 src/test/WixToolsetTest.Sdk/WixToolsetTest.Sdk.v3.ncrunchproject diff --git a/Tools.sln b/Tools.sln index 66f867d5..23f8a4d9 100644 --- a/Tools.sln +++ b/Tools.sln @@ -11,7 +11,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.BuildTasks", "sr EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dotnet-wix", "src\dotnet-wix\dotnet-wix.csproj", "{938BCA04-610B-4B99-9CB7-02BF7397A972}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.MSBuild", "src\WixToolset.MSBuild\WixToolset.MSBuild.csproj", "{0DF5D4CF-8457-469D-8288-13775E984F70}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolset.Sdk", "src\WixToolset.Sdk\WixToolset.Sdk.csproj", "{0DF5D4CF-8457-469D-8288-13775E984F70}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{449BE9B0-422F-4039-A030-BDD3E7D97878}" ProjectSection(SolutionItems) = preProject @@ -22,7 +22,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "thmviewer", "src\thmviewer\ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "heat", "src\heat\heat.csproj", "{B1F18B6F-FBD8-4911-B3BF-40D801DA77D7}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.MSBuild", "src\test\WixToolsetTest.MSBuild\WixToolsetTest.MSBuild.csproj", "{7B610B7B-C69D-4A4C-9D65-F304C44479E7}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WixToolsetTest.Sdk", "src\test\WixToolsetTest.Sdk\WixToolsetTest.Sdk.csproj", "{7B610B7B-C69D-4A4C-9D65-F304C44479E7}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/appveyor.cmd b/appveyor.cmd index f5141c14..f12f3903 100644 --- a/appveyor.cmd +++ b/appveyor.cmd @@ -10,34 +10,34 @@ dotnet test -c %_C% src\test\WixToolsetTest.BuildTasks || exit /b dotnet publish -c %_C% -o %_P%\dotnet-wix\ -f netcoreapp2.1 src\wix || exit /b -dotnet publish -c %_C% -o %_P%\WixToolset.MSBuild\separate\net461\x86\buildtasks\ -f net461 -r win-x86 src\WixToolset.BuildTasks || exit /b -dotnet publish -c %_C% -o %_P%\WixToolset.MSBuild\separate\net461\x86\heat\ -f net461 -r win-x86 src\heat || exit /b -dotnet publish -c %_C% -o %_P%\WixToolset.MSBuild\separate\net461\x86\wix\ -f net461 -r win-x86 src\wix || exit /b -robocopy %_P%\WixToolset.MSBuild\separate\net461\x86\buildtasks %_P%\WixToolset.MSBuild\tools\net461\x86 %_RCO% /XF Microsoft.Build.*.dll -robocopy %_P%\WixToolset.MSBuild\separate\net461\x86\heat %_P%\WixToolset.MSBuild\tools\net461\x86 %_RCO% -robocopy %_P%\WixToolset.MSBuild\separate\net461\x86\wix %_P%\WixToolset.MSBuild\tools\net461\x86 %_RCO% - -dotnet publish -c %_C% -o %_P%\WixToolset.MSBuild\separate\net461\x64\buildtasks\ -f net461 -r win-x64 src\WixToolset.BuildTasks || exit /b -dotnet publish -c %_C% -o %_P%\WixToolset.MSBuild\separate\net461\x64\heat\ -f net461 -r win-x64 src\heat || exit /b -dotnet publish -c %_C% -o %_P%\WixToolset.MSBuild\separate\net461\x64\wix\ -f net461 -r win-x64 src\wix || exit /b -robocopy %_P%\WixToolset.MSBuild\separate\net461\x64\buildtasks %_P%\WixToolset.MSBuild\tools\net461\x64 %_RCO% /XF Microsoft.Build.*.dll -robocopy %_P%\WixToolset.MSBuild\separate\net461\x64\heat %_P%\WixToolset.MSBuild\tools\net461\x64 %_RCO% -robocopy %_P%\WixToolset.MSBuild\separate\net461\x64\wix %_P%\WixToolset.MSBuild\tools\net461\x64 %_RCO% - -dotnet publish -c %_C% -o %_P%\WixToolset.MSBuild\separate\netcoreapp2.1\buildtasks\ -f netcoreapp2.1 src\WixToolset.BuildTasks || exit /b -dotnet publish -c %_C% -o %_P%\WixToolset.MSBuild\separate\netcoreapp2.1\heat\ -f netcoreapp2.1 src\heat || exit /b -dotnet publish -c %_C% -o %_P%\WixToolset.MSBuild\separate\netcoreapp2.1\wix\ -f netcoreapp2.1 src\wix || exit /b -robocopy %_P%\WixToolset.MSBuild\separate\netcoreapp2.1\buildtasks %_P%\WixToolset.MSBuild\tools\netcoreapp2.1 %_RCO% /XF Microsoft.Build.*.dll -robocopy %_P%\WixToolset.MSBuild\separate\netcoreapp2.1\heat %_P%\WixToolset.MSBuild\tools\netcoreapp2.1 %_RCO% -robocopy %_P%\WixToolset.MSBuild\separate\netcoreapp2.1\wix %_P%\WixToolset.MSBuild\tools\netcoreapp2.1 %_RCO% - -dotnet publish -c %_C% -o %_P%\WixToolset.MSBuild\ src\WixToolset.MSBuild || exit /b -dotnet publish -c %_C% -o %_P%\WixToolset.MSBuild\broken\net461\ -f net461 -r dne src\wix || exit /b - -dotnet test -c %_C% src\test\WixToolsetTest.MSBuild || exit /b +dotnet publish -c %_C% -o %_P%\WixToolset.Sdk\separate\net461\x86\buildtasks\ -f net461 -r win-x86 src\WixToolset.BuildTasks || exit /b +dotnet publish -c %_C% -o %_P%\WixToolset.Sdk\separate\net461\x86\heat\ -f net461 -r win-x86 src\heat || exit /b +dotnet publish -c %_C% -o %_P%\WixToolset.Sdk\separate\net461\x86\wix\ -f net461 -r win-x86 src\wix || exit /b +robocopy %_P%\WixToolset.Sdk\separate\net461\x86\buildtasks %_P%\WixToolset.Sdk\tools\net461\x86 %_RCO% /XF Microsoft.Build.*.dll +robocopy %_P%\WixToolset.Sdk\separate\net461\x86\heat %_P%\WixToolset.Sdk\tools\net461\x86 %_RCO% +robocopy %_P%\WixToolset.Sdk\separate\net461\x86\wix %_P%\WixToolset.Sdk\tools\net461\x86 %_RCO% + +dotnet publish -c %_C% -o %_P%\WixToolset.Sdk\separate\net461\x64\buildtasks\ -f net461 -r win-x64 src\WixToolset.BuildTasks || exit /b +dotnet publish -c %_C% -o %_P%\WixToolset.Sdk\separate\net461\x64\heat\ -f net461 -r win-x64 src\heat || exit /b +dotnet publish -c %_C% -o %_P%\WixToolset.Sdk\separate\net461\x64\wix\ -f net461 -r win-x64 src\wix || exit /b +robocopy %_P%\WixToolset.Sdk\separate\net461\x64\buildtasks %_P%\WixToolset.Sdk\tools\net461\x64 %_RCO% /XF Microsoft.Build.*.dll +robocopy %_P%\WixToolset.Sdk\separate\net461\x64\heat %_P%\WixToolset.Sdk\tools\net461\x64 %_RCO% +robocopy %_P%\WixToolset.Sdk\separate\net461\x64\wix %_P%\WixToolset.Sdk\tools\net461\x64 %_RCO% + +dotnet publish -c %_C% -o %_P%\WixToolset.Sdk\separate\netcoreapp2.1\buildtasks\ -f netcoreapp2.1 src\WixToolset.BuildTasks || exit /b +dotnet publish -c %_C% -o %_P%\WixToolset.Sdk\separate\netcoreapp2.1\heat\ -f netcoreapp2.1 src\heat || exit /b +dotnet publish -c %_C% -o %_P%\WixToolset.Sdk\separate\netcoreapp2.1\wix\ -f netcoreapp2.1 src\wix || exit /b +robocopy %_P%\WixToolset.Sdk\separate\netcoreapp2.1\buildtasks %_P%\WixToolset.Sdk\tools\netcoreapp2.1 %_RCO% /XF Microsoft.Build.*.dll +robocopy %_P%\WixToolset.Sdk\separate\netcoreapp2.1\heat %_P%\WixToolset.Sdk\tools\netcoreapp2.1 %_RCO% +robocopy %_P%\WixToolset.Sdk\separate\netcoreapp2.1\wix %_P%\WixToolset.Sdk\tools\netcoreapp2.1 %_RCO% + +dotnet publish -c %_C% -o %_P%\WixToolset.Sdk\ src\WixToolset.Sdk || exit /b +dotnet publish -c %_C% -o %_P%\WixToolset.Sdk\broken\net461\ -f net461 -r dne src\wix || exit /b + +dotnet test -c %_C% src\test\WixToolsetTest.Sdk || exit /b dotnet pack -c %_C% src\dotnet-wix || exit /b -dotnet pack -c %_C% src\WixToolset.MSBuild || exit /b +dotnet pack -c %_C% src\WixToolset.Sdk || exit /b msbuild -p:Configuration=%_C% .\src\ThmViewerPackage\ThmViewerPackage.wixproj || exit /b diff --git a/src/Wix.Build.props b/src/Wix.Build.props index bf286bb4..a0aaa658 100644 --- a/src/Wix.Build.props +++ b/src/Wix.Build.props @@ -10,5 +10,5 @@ - + diff --git a/src/WixToolset.MSBuild/Sdk/Sdk.props b/src/WixToolset.MSBuild/Sdk/Sdk.props deleted file mode 100644 index 5080e393..00000000 --- a/src/WixToolset.MSBuild/Sdk/Sdk.props +++ /dev/null @@ -1,23 +0,0 @@ - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - $([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\tools\wix.targets')) - - - - netstandard2.0 - true - true - true - - - - - - - diff --git a/src/WixToolset.MSBuild/Sdk/Sdk.targets b/src/WixToolset.MSBuild/Sdk/Sdk.targets deleted file mode 100644 index e21cf5c6..00000000 --- a/src/WixToolset.MSBuild/Sdk/Sdk.targets +++ /dev/null @@ -1,15 +0,0 @@ - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - - - - - - $(DefaultItemExcludes);$(BaseOutputPath)** - $(DefaultItemExcludes);$(BaseIntermediateOutputPath)** - $(DefaultItemExcludesInProjectFolder);**/.*/** - - diff --git a/src/WixToolset.MSBuild/WixToolset.MSBuild.csproj b/src/WixToolset.MSBuild/WixToolset.MSBuild.csproj deleted file mode 100644 index a145c864..00000000 --- a/src/WixToolset.MSBuild/WixToolset.MSBuild.csproj +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - netcoreapp2.1 - false - WiX Toolset MSBuild integration - $(MSBuildThisFileName).nuspec - $(OutputPath)publish\WixToolset.MSBuild\ - Id=$(MSBuildThisFileName);Authors=$(Authors);Copyright=$(Copyright);Description=$(Description) - - - - - - - - - - - - - - - - - - $(GenerateNuspecDependsOn);SetNuspecVersion - - - - - - $(NuspecProperties);Version=$(Version);ProjectFolder=$(MSBuildThisFileDirectory) - - - diff --git a/src/WixToolset.MSBuild/WixToolset.MSBuild.nuspec b/src/WixToolset.MSBuild/WixToolset.MSBuild.nuspec deleted file mode 100644 index 591b63a6..00000000 --- a/src/WixToolset.MSBuild/WixToolset.MSBuild.nuspec +++ /dev/null @@ -1,18 +0,0 @@ - - - - $id$ - $version$ - $authors$ - $authors$ - false - $description$ - $copyright$ - - - - - - - - diff --git a/src/WixToolset.MSBuild/WixToolset.MSBuild.v3.ncrunchproject b/src/WixToolset.MSBuild/WixToolset.MSBuild.v3.ncrunchproject deleted file mode 100644 index cf22dfa9..00000000 --- a/src/WixToolset.MSBuild/WixToolset.MSBuild.v3.ncrunchproject +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/WixToolset.MSBuild/build/WixToolset.MSBuild.props b/src/WixToolset.MSBuild/build/WixToolset.MSBuild.props deleted file mode 100644 index b453361b..00000000 --- a/src/WixToolset.MSBuild/build/WixToolset.MSBuild.props +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - $([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\tools\wix.targets')) - - diff --git a/src/WixToolset.MSBuild/tools/wix.ca.targets b/src/WixToolset.MSBuild/tools/wix.ca.targets deleted file mode 100644 index 4578c2d8..00000000 --- a/src/WixToolset.MSBuild/tools/wix.ca.targets +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - true - - $(TargetName).CA$(TargetExt) - - $(MSBuildThisFileDirectory) - $(WixSdkPath)x86\ - $(WixSdkPath)x64\ - - $(WixSdkPath)MakeSfxCA.exe - $(WixSdkX64Path)SfxCA.dll - $(WixSdkX86Path)SfxCA.dll - - - - - - - - - - - - - - - - - - - @(CustomActionReferenceContents);@(Content->'%(FullPath)');$(CustomActionContents) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/WixToolset.MSBuild/tools/wix.harvest.targets b/src/WixToolset.MSBuild/tools/wix.harvest.targets deleted file mode 100644 index dea44469..00000000 --- a/src/WixToolset.MSBuild/tools/wix.harvest.targets +++ /dev/null @@ -1,512 +0,0 @@ - - - - - - - - $(WixToolDir) - - - - - - - - - - - - - $(NoLogo) - $(SuppressAllWarnings) - $(SuppressSpecificWarnings) - $(TreatWarningsAsErrors) - $(TreatSpecificWarningsAsErrors) - $(VerboseOutput) - true - false - true - false - - - - - - false - - $(HarvestNoLogo) - $(HarvestSuppressAllWarnings) - $(HarvestSuppressSpecificWarnings) - $(HarvestTreatWarningsAsErrors) - $(HarvestTreatSpecificWarningsAsErrors) - $(HarvestVerboseOutput) - $(HarvestAutogenerateGuids) - $(HarvestGenerateGuidsNow) - $(HarvestSuppressFragments) - $(HarvestSuppressUniqueIds) - $(HarvestTransforms) - $(IntermediateOutputPath)Product.Generated.wxs - $(IntermediateOutputPath)Bundle.Generated.wxs - - - - - $(HarvestNoLogo) - $(HarvestSuppressAllWarnings) - $(HarvestSuppressSpecificWarnings) - $(HarvestTreatWarningsAsErrors) - $(HarvestTreatSpecificWarningsAsErrors) - $(HarvestVerboseOutput) - $(HarvestAutogenerateGuids) - $(HarvestGenerateGuidsNow) - $(HarvestSuppressFragments) - $(HarvestSuppressUniqueIds) - $(HarvestTransforms) - - - - - $(HarvestNoLogo) - $(HarvestSuppressAllWarnings) - $(HarvestSuppressSpecificWarnings) - $(HarvestTreatWarningsAsErrors) - $(HarvestTreatSpecificWarningsAsErrors) - $(HarvestVerboseOutput) - $(HarvestAutogenerateGuids) - $(HarvestGenerateGuidsNow) - $(HarvestSuppressFragments) - $(HarvestSuppressUniqueIds) - $(HarvestTransforms) - - - - - - ConvertReferences; - ConvertBundleReferences; - HarvestProjects; - HarvestDirectory; - HarvestFile; - GenerateCode; - - - - - - - - RefreshGeneratedFile; - RefreshBundleGeneratedFile - - - - - - - - - <_HeatProjectReference Include="@(_MSBuildProjectReferenceExistent)" Condition=" '%(_MSBuildProjectReferenceExistent.DoNotHarvest)' == '' "> - %(_MSBuildProjectReferenceExistent.RefTargetDir) - Binaries;Symbols;Sources;Content;Satellites;Documents - %(_MSBuildProjectReferenceExistent.Name) - $(IntermediateOutputPath)_%(_MSBuildProjectReferenceExistent.Filename).wxs - - - - - - - - - - <_GeneratedFiles Include="$(HarvestProjectsGeneratedFile)" /> - - - - - - - - - <_HeatProjectReference Include="@(_MSBuildProjectReferenceExistent)" Condition=" '%(_MSBuildProjectReferenceExistent.DoNotHarvest)' == '' "> - Binaries;Symbols;Sources;Content;Satellites;Documents - payloadgroup - $(IntermediateOutputPath)_%(_MSBuildProjectReferenceExistent.Filename).wxs - - - - - - - - - - <_GeneratedFiles Include="$(HarvestProjectsGeneratedFile)" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $(HarvestProjectsTransforms) - $(HarvestProjectsProjectOutputGroups) - $(HarvestProjectsDirectoryIds) - - - $(HarvestProjectsTransforms) - $(HarvestProjectsProjectOutputGroups) - $(HarvestProjectsDirectoryIds) - - - - - CombineHarvestProjects - - - - - - - - - - - - - - - - - $(HarvestDirectoryTransforms) - $(HarvestDirectoryComponentGroupName) - $(HarvestDirectoryDirectoryRefId) - $(HarvestDirectoryKeepEmptyDirectories) - $(HarvestDirectoryPreprocessorVariable) - $(HarvestDirectorySuppressCom) - $(HarvestDirectorySuppressRootDirectory) - $(HarvestDirectorySuppressRegistry) - - - - - - GetHarvestDirectoryContent - - - - - - - - - - - - - - - - - - - - - - - - - - $(HarvestFileTransforms) - $(HarvestFileComponentGroupName) - $(HarvestFileDirectoryRefId) - $(HarvestFilePreprocessorVariable) - $(HarvestFileSuppressCom) - $(HarvestFileSuppressRegistry) - $(HarvestFileSuppressRootDirectory) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/WixToolset.MSBuild/tools/wix.signing.targets b/src/WixToolset.MSBuild/tools/wix.signing.targets deleted file mode 100644 index 7c25175f..00000000 --- a/src/WixToolset.MSBuild/tools/wix.signing.targets +++ /dev/null @@ -1,370 +0,0 @@ - - - - - - $(MSBuildProjectFile).Signed.txt - $(IntermediateOutputPath)$(SignedFileName) - - - - - - - - - $(NoLogo) - $(SuppressAllWarnings) - $(SuppressSpecificWarnings) - $(TreatWarningsAsErrors) - $(TreatSpecificWarningsAsErrors) - $(VerboseOutput) - - - - - - GetMsmsToSign; - InternalSignMsm; - - - GetCabsToSign; - GetMsiToSign; - InternalSignCabs; - InscribeMsi; - InternalSignMsi; - - - GetContainersToSign; - InternalSignContainers; - InscribeBundleEngine; - InternalSignBundleEngine; - InscribeBundle; - InternalSignBundle; - - - - WixBuild; - CalculateSignTargetFiles; - BeforeSigning; - $(InternalSignDependsOn); - AfterSigning - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/WixToolset.MSBuild/tools/wix.targets b/src/WixToolset.MSBuild/tools/wix.targets deleted file mode 100644 index 6914d03e..00000000 --- a/src/WixToolset.MSBuild/tools/wix.targets +++ /dev/null @@ -1,1083 +0,0 @@ - - - - - - true - - - - - - - - - - $(MSBuildThisFileDirectory)netcoreapp2.1\ - $(MSBuildThisFileDirectory)net461\x86\ - $(MSBuildThisFileDirectory)net461\x64\ - $(WixBinDir)WixToolset.BuildTasks.dll - $(WixBinDir64)WixToolset.BuildTasks.dll - - - - $(MSBuildThisFileDirectory)wix.harvest.targets - $(MSBuildThisFileDirectory)wix.signing.targets - - - - - $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - $(MSBuildAllProjects);$(WixHarvestTargetsPath) - $(MSBuildAllProjects);$(WixSigningTargetsPath) - $(MSBuildAllProjects);$(CustomBeforeWixTargets) - $(MSBuildAllProjects);$(CustomAfterWixTargets) - - - - - - .wxs - wix - wix - - - $(MSBuildProjectName) - $(OutputName) - - - Package - - - full - - - - - .msi - .msm - .pcp - .wixlib - .exe - .wixipl - - - - - - - $(TargetDir) - $(PdbOutputDir)\ - - - $([System.IO.Path]::GetFullPath(`$([System.IO.Path]::Combine(`$(MSBuildProjectDirectory)`, `$(PdbOutputDir)`))`)) - - - $(TargetName).wixpdb - - - $(TargetPdbDir)$(TargetPdbFileName) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $(MSBuildProjectFile).BindContentsFileList.txt - $(MSBuildProjectFile).BindOutputsFileList.txt - $(MSBuildProjectFile).BindBuiltOutputsFileList.txt - - - - $(IntermediateOutputPath)cabcache\ - - - - $(WixBinDir) - - - - - - - - - - - - $(NoLogo) - $(SuppressAllWarnings) - $(SuppressSpecificWarnings) - $(TreatWarningsAsErrors) - $(TreatSpecificWarningsAsErrors) - $(VerboseOutput) - - $(Platform) - - - - - $(NoLogo) - $(BindFiles) - $(Pedantic) - $(SuppressAllWarnings) - $(SuppressSpecificWarnings) - $(SuppressSchemaValidation) - $(SuppressIntermediateFileVersionMatching) - $(TreatWarningsAsErrors) - $(TreatSpecificWarningsAsErrors) - $(VerboseOutput) - - - - - $(NoLogo) - $(BindFiles) - $(Pedantic) - $(SuppressAllWarnings) - $(SuppressSpecificWarnings) - $(SuppressSchemaValidation) - $(SuppressIntermediateFileVersionMatching) - $(TreatWarningsAsErrors) - $(TreatSpecificWarningsAsErrors) - $(VerboseOutput) - - - - - - - - - - - - - - - - - - <_PleaseSetThisInProjectFile>Please set this in the project file before the <Import> of the wix.targets file. - <_OutputTypeDescription>Possible values are: 'Package', 'Module', 'Library', 'Bundle', 'IntermediatePostLink'. $(_PleaseSetThisInProjectFile) - - - - - - - - - - - - - - - - - BuildOnlySettings; - PrepareForBuild; - PreBuildEvent; - - WixBuild; - Signing; - - GetTargetPath; - PrepareForRun; - IncrementalClean; - PostBuildEvent - - - - - - - - - - BeforeResolveReferences; - AssignProjectConfiguration; - ResolveProjectReferences; - ResolveWixLibraryReferences; - ResolveWixExtensionReferences; - AfterResolveReferences - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AssignTargetPaths - - - - - - - - - ResolveReferences; - BeforeCompile; - _TimeStampBeforeCompile; - - CalculateDefineConstants; - Harvest; - - GenerateCompileWithObjectPath; - - AssignTargetPaths; - ReadPreviousBindInputsAndBuiltOutputs; - - CoreWixBuild; - - UpdateLinkFileWrites; - _TimeStampAfterCompile; - AfterCompile - - - - - - - - - $([System.IO.Path]::GetFullPath($(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(TargetFileName))) - - $(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(TargetPdbFileName) - - - - - - - - - - - ResolveReferences - - - - - - Configuration=$(ConfigurationName); - OutDir=$(OutDir); - Platform=$(PlatformName); - ProjectDir=$(ProjectDir); - ProjectExt=$(ProjectExt); - ProjectFileName=$(ProjectFileName); - ProjectName=$(ProjectName); - ProjectPath=$(ProjectPath); - TargetDir=$(TargetDir); - TargetExt=$(TargetExt); - TargetFileName=$(TargetFileName); - TargetName=$(TargetName); - TargetPath=$(TargetPath); - - - - - $(SolutionDefineConstants);DevEnvDir=$(DevEnvDir) - $(SolutionDefineConstants);SolutionDir=$(SolutionDir) - $(SolutionDefineConstants);SolutionExt=$(SolutionExt) - $(SolutionDefineConstants);SolutionFileName=$(SolutionFileName) - $(SolutionDefineConstants);SolutionName=$(SolutionName) - $(SolutionDefineConstants);SolutionPath=$(SolutionPath) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_CulturedTargetPath Include="$(TargetDir)%(CultureGroup.OutputFolder)$(TargetFileName)" /> - <_CulturedTargetPdbPath Include="$(TargetPdbDir)%(CultureGroup.OutputFolder)$(TargetPdbFileName)" /> - - - - @(_CulturedTargetPath) - @(_CulturedTargetPdbPath) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - $(TargetPath) - $(TargetFileName) - - - - - - PrepareForBuild;AssignTargetPaths - - - - - - - - - - - - - <_BuiltProjectOutputGroupOutputIntermediate Include="$(TargetPath)" /> - - - - - - - %(_BuiltProjectOutputGroupOutputIntermediate.FullPath) - - - - - - - AssignTargetPaths - - - - - - - - - - - - - - - - true - - - - true - true - $([System.IO.Path]::GetFullPath($(IntermediateOutputPath))) - - - - - - - - - <_FullPathToCopy Include="$(OutputFile)" Condition=" '@(_FullPathToCopy)'=='' " /> - <_RelativePath Include="$([MSBuild]::MakeRelative($(FullIntermediateOutputPath), %(_FullPathToCopy.Identity)))" /> - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/WixToolset.Sdk/Sdk/Sdk.props b/src/WixToolset.Sdk/Sdk/Sdk.props new file mode 100644 index 00000000..5080e393 --- /dev/null +++ b/src/WixToolset.Sdk/Sdk/Sdk.props @@ -0,0 +1,23 @@ + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + $([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\tools\wix.targets')) + + + + netstandard2.0 + true + true + true + + + + + + + diff --git a/src/WixToolset.Sdk/Sdk/Sdk.targets b/src/WixToolset.Sdk/Sdk/Sdk.targets new file mode 100644 index 00000000..e21cf5c6 --- /dev/null +++ b/src/WixToolset.Sdk/Sdk/Sdk.targets @@ -0,0 +1,15 @@ + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + + + + + $(DefaultItemExcludes);$(BaseOutputPath)** + $(DefaultItemExcludes);$(BaseIntermediateOutputPath)** + $(DefaultItemExcludesInProjectFolder);**/.*/** + + diff --git a/src/WixToolset.Sdk/WixToolset.Sdk.csproj b/src/WixToolset.Sdk/WixToolset.Sdk.csproj new file mode 100644 index 00000000..32bd66c0 --- /dev/null +++ b/src/WixToolset.Sdk/WixToolset.Sdk.csproj @@ -0,0 +1,38 @@ + + + + + + netcoreapp2.1 + false + WiX Toolset MSBuild integration + $(MSBuildThisFileName).nuspec + $(OutputPath)publish\WixToolset.Sdk\ + Id=$(MSBuildThisFileName);Authors=$(Authors);Copyright=$(Copyright);Description=$(Description) + + + + + + + + + + + + + + + + + + $(GenerateNuspecDependsOn);SetNuspecVersion + + + + + + $(NuspecProperties);Version=$(Version);ProjectFolder=$(MSBuildThisFileDirectory) + + + diff --git a/src/WixToolset.Sdk/WixToolset.Sdk.nuspec b/src/WixToolset.Sdk/WixToolset.Sdk.nuspec new file mode 100644 index 00000000..591b63a6 --- /dev/null +++ b/src/WixToolset.Sdk/WixToolset.Sdk.nuspec @@ -0,0 +1,18 @@ + + + + $id$ + $version$ + $authors$ + $authors$ + false + $description$ + $copyright$ + + + + + + + + diff --git a/src/WixToolset.Sdk/WixToolset.Sdk.v3.ncrunchproject b/src/WixToolset.Sdk/WixToolset.Sdk.v3.ncrunchproject new file mode 100644 index 00000000..cf22dfa9 --- /dev/null +++ b/src/WixToolset.Sdk/WixToolset.Sdk.v3.ncrunchproject @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/WixToolset.Sdk/build/WixToolset.Sdk.props b/src/WixToolset.Sdk/build/WixToolset.Sdk.props new file mode 100644 index 00000000..b453361b --- /dev/null +++ b/src/WixToolset.Sdk/build/WixToolset.Sdk.props @@ -0,0 +1,8 @@ + + + + + + $([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\tools\wix.targets')) + + diff --git a/src/WixToolset.Sdk/tools/wix.ca.targets b/src/WixToolset.Sdk/tools/wix.ca.targets new file mode 100644 index 00000000..4578c2d8 --- /dev/null +++ b/src/WixToolset.Sdk/tools/wix.ca.targets @@ -0,0 +1,123 @@ + + + + + + + + + + true + + $(TargetName).CA$(TargetExt) + + $(MSBuildThisFileDirectory) + $(WixSdkPath)x86\ + $(WixSdkPath)x64\ + + $(WixSdkPath)MakeSfxCA.exe + $(WixSdkX64Path)SfxCA.dll + $(WixSdkX86Path)SfxCA.dll + + + + + + + + + + + + + + + + + + + @(CustomActionReferenceContents);@(Content->'%(FullPath)');$(CustomActionContents) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/WixToolset.Sdk/tools/wix.harvest.targets b/src/WixToolset.Sdk/tools/wix.harvest.targets new file mode 100644 index 00000000..dea44469 --- /dev/null +++ b/src/WixToolset.Sdk/tools/wix.harvest.targets @@ -0,0 +1,512 @@ + + + + + + + + $(WixToolDir) + + + + + + + + + + + + + $(NoLogo) + $(SuppressAllWarnings) + $(SuppressSpecificWarnings) + $(TreatWarningsAsErrors) + $(TreatSpecificWarningsAsErrors) + $(VerboseOutput) + true + false + true + false + + + + + + false + + $(HarvestNoLogo) + $(HarvestSuppressAllWarnings) + $(HarvestSuppressSpecificWarnings) + $(HarvestTreatWarningsAsErrors) + $(HarvestTreatSpecificWarningsAsErrors) + $(HarvestVerboseOutput) + $(HarvestAutogenerateGuids) + $(HarvestGenerateGuidsNow) + $(HarvestSuppressFragments) + $(HarvestSuppressUniqueIds) + $(HarvestTransforms) + $(IntermediateOutputPath)Product.Generated.wxs + $(IntermediateOutputPath)Bundle.Generated.wxs + + + + + $(HarvestNoLogo) + $(HarvestSuppressAllWarnings) + $(HarvestSuppressSpecificWarnings) + $(HarvestTreatWarningsAsErrors) + $(HarvestTreatSpecificWarningsAsErrors) + $(HarvestVerboseOutput) + $(HarvestAutogenerateGuids) + $(HarvestGenerateGuidsNow) + $(HarvestSuppressFragments) + $(HarvestSuppressUniqueIds) + $(HarvestTransforms) + + + + + $(HarvestNoLogo) + $(HarvestSuppressAllWarnings) + $(HarvestSuppressSpecificWarnings) + $(HarvestTreatWarningsAsErrors) + $(HarvestTreatSpecificWarningsAsErrors) + $(HarvestVerboseOutput) + $(HarvestAutogenerateGuids) + $(HarvestGenerateGuidsNow) + $(HarvestSuppressFragments) + $(HarvestSuppressUniqueIds) + $(HarvestTransforms) + + + + + + ConvertReferences; + ConvertBundleReferences; + HarvestProjects; + HarvestDirectory; + HarvestFile; + GenerateCode; + + + + + + + + RefreshGeneratedFile; + RefreshBundleGeneratedFile + + + + + + + + + <_HeatProjectReference Include="@(_MSBuildProjectReferenceExistent)" Condition=" '%(_MSBuildProjectReferenceExistent.DoNotHarvest)' == '' "> + %(_MSBuildProjectReferenceExistent.RefTargetDir) + Binaries;Symbols;Sources;Content;Satellites;Documents + %(_MSBuildProjectReferenceExistent.Name) + $(IntermediateOutputPath)_%(_MSBuildProjectReferenceExistent.Filename).wxs + + + + + + + + + + <_GeneratedFiles Include="$(HarvestProjectsGeneratedFile)" /> + + + + + + + + + <_HeatProjectReference Include="@(_MSBuildProjectReferenceExistent)" Condition=" '%(_MSBuildProjectReferenceExistent.DoNotHarvest)' == '' "> + Binaries;Symbols;Sources;Content;Satellites;Documents + payloadgroup + $(IntermediateOutputPath)_%(_MSBuildProjectReferenceExistent.Filename).wxs + + + + + + + + + + <_GeneratedFiles Include="$(HarvestProjectsGeneratedFile)" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $(HarvestProjectsTransforms) + $(HarvestProjectsProjectOutputGroups) + $(HarvestProjectsDirectoryIds) + + + $(HarvestProjectsTransforms) + $(HarvestProjectsProjectOutputGroups) + $(HarvestProjectsDirectoryIds) + + + + + CombineHarvestProjects + + + + + + + + + + + + + + + + + $(HarvestDirectoryTransforms) + $(HarvestDirectoryComponentGroupName) + $(HarvestDirectoryDirectoryRefId) + $(HarvestDirectoryKeepEmptyDirectories) + $(HarvestDirectoryPreprocessorVariable) + $(HarvestDirectorySuppressCom) + $(HarvestDirectorySuppressRootDirectory) + $(HarvestDirectorySuppressRegistry) + + + + + + GetHarvestDirectoryContent + + + + + + + + + + + + + + + + + + + + + + + + + + $(HarvestFileTransforms) + $(HarvestFileComponentGroupName) + $(HarvestFileDirectoryRefId) + $(HarvestFilePreprocessorVariable) + $(HarvestFileSuppressCom) + $(HarvestFileSuppressRegistry) + $(HarvestFileSuppressRootDirectory) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/WixToolset.Sdk/tools/wix.signing.targets b/src/WixToolset.Sdk/tools/wix.signing.targets new file mode 100644 index 00000000..7c25175f --- /dev/null +++ b/src/WixToolset.Sdk/tools/wix.signing.targets @@ -0,0 +1,370 @@ + + + + + + $(MSBuildProjectFile).Signed.txt + $(IntermediateOutputPath)$(SignedFileName) + + + + + + + + + $(NoLogo) + $(SuppressAllWarnings) + $(SuppressSpecificWarnings) + $(TreatWarningsAsErrors) + $(TreatSpecificWarningsAsErrors) + $(VerboseOutput) + + + + + + GetMsmsToSign; + InternalSignMsm; + + + GetCabsToSign; + GetMsiToSign; + InternalSignCabs; + InscribeMsi; + InternalSignMsi; + + + GetContainersToSign; + InternalSignContainers; + InscribeBundleEngine; + InternalSignBundleEngine; + InscribeBundle; + InternalSignBundle; + + + + WixBuild; + CalculateSignTargetFiles; + BeforeSigning; + $(InternalSignDependsOn); + AfterSigning + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/WixToolset.Sdk/tools/wix.targets b/src/WixToolset.Sdk/tools/wix.targets new file mode 100644 index 00000000..6914d03e --- /dev/null +++ b/src/WixToolset.Sdk/tools/wix.targets @@ -0,0 +1,1083 @@ + + + + + + true + + + + + + + + + + $(MSBuildThisFileDirectory)netcoreapp2.1\ + $(MSBuildThisFileDirectory)net461\x86\ + $(MSBuildThisFileDirectory)net461\x64\ + $(WixBinDir)WixToolset.BuildTasks.dll + $(WixBinDir64)WixToolset.BuildTasks.dll + + + + $(MSBuildThisFileDirectory)wix.harvest.targets + $(MSBuildThisFileDirectory)wix.signing.targets + + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + $(MSBuildAllProjects);$(WixHarvestTargetsPath) + $(MSBuildAllProjects);$(WixSigningTargetsPath) + $(MSBuildAllProjects);$(CustomBeforeWixTargets) + $(MSBuildAllProjects);$(CustomAfterWixTargets) + + + + + + .wxs + wix + wix + + + $(MSBuildProjectName) + $(OutputName) + + + Package + + + full + + + + + .msi + .msm + .pcp + .wixlib + .exe + .wixipl + + + + + + + $(TargetDir) + $(PdbOutputDir)\ + + + $([System.IO.Path]::GetFullPath(`$([System.IO.Path]::Combine(`$(MSBuildProjectDirectory)`, `$(PdbOutputDir)`))`)) + + + $(TargetName).wixpdb + + + $(TargetPdbDir)$(TargetPdbFileName) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $(MSBuildProjectFile).BindContentsFileList.txt + $(MSBuildProjectFile).BindOutputsFileList.txt + $(MSBuildProjectFile).BindBuiltOutputsFileList.txt + + + + $(IntermediateOutputPath)cabcache\ + + + + $(WixBinDir) + + + + + + + + + + + + $(NoLogo) + $(SuppressAllWarnings) + $(SuppressSpecificWarnings) + $(TreatWarningsAsErrors) + $(TreatSpecificWarningsAsErrors) + $(VerboseOutput) + + $(Platform) + + + + + $(NoLogo) + $(BindFiles) + $(Pedantic) + $(SuppressAllWarnings) + $(SuppressSpecificWarnings) + $(SuppressSchemaValidation) + $(SuppressIntermediateFileVersionMatching) + $(TreatWarningsAsErrors) + $(TreatSpecificWarningsAsErrors) + $(VerboseOutput) + + + + + $(NoLogo) + $(BindFiles) + $(Pedantic) + $(SuppressAllWarnings) + $(SuppressSpecificWarnings) + $(SuppressSchemaValidation) + $(SuppressIntermediateFileVersionMatching) + $(TreatWarningsAsErrors) + $(TreatSpecificWarningsAsErrors) + $(VerboseOutput) + + + + + + + + + + + + + + + + + + <_PleaseSetThisInProjectFile>Please set this in the project file before the <Import> of the wix.targets file. + <_OutputTypeDescription>Possible values are: 'Package', 'Module', 'Library', 'Bundle', 'IntermediatePostLink'. $(_PleaseSetThisInProjectFile) + + + + + + + + + + + + + + + + + BuildOnlySettings; + PrepareForBuild; + PreBuildEvent; + + WixBuild; + Signing; + + GetTargetPath; + PrepareForRun; + IncrementalClean; + PostBuildEvent + + + + + + + + + + BeforeResolveReferences; + AssignProjectConfiguration; + ResolveProjectReferences; + ResolveWixLibraryReferences; + ResolveWixExtensionReferences; + AfterResolveReferences + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AssignTargetPaths + + + + + + + + + ResolveReferences; + BeforeCompile; + _TimeStampBeforeCompile; + + CalculateDefineConstants; + Harvest; + + GenerateCompileWithObjectPath; + + AssignTargetPaths; + ReadPreviousBindInputsAndBuiltOutputs; + + CoreWixBuild; + + UpdateLinkFileWrites; + _TimeStampAfterCompile; + AfterCompile + + + + + + + + + $([System.IO.Path]::GetFullPath($(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(TargetFileName))) + + $(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(TargetPdbFileName) + + + + + + + + + + + ResolveReferences + + + + + + Configuration=$(ConfigurationName); + OutDir=$(OutDir); + Platform=$(PlatformName); + ProjectDir=$(ProjectDir); + ProjectExt=$(ProjectExt); + ProjectFileName=$(ProjectFileName); + ProjectName=$(ProjectName); + ProjectPath=$(ProjectPath); + TargetDir=$(TargetDir); + TargetExt=$(TargetExt); + TargetFileName=$(TargetFileName); + TargetName=$(TargetName); + TargetPath=$(TargetPath); + + + + + $(SolutionDefineConstants);DevEnvDir=$(DevEnvDir) + $(SolutionDefineConstants);SolutionDir=$(SolutionDir) + $(SolutionDefineConstants);SolutionExt=$(SolutionExt) + $(SolutionDefineConstants);SolutionFileName=$(SolutionFileName) + $(SolutionDefineConstants);SolutionName=$(SolutionName) + $(SolutionDefineConstants);SolutionPath=$(SolutionPath) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_CulturedTargetPath Include="$(TargetDir)%(CultureGroup.OutputFolder)$(TargetFileName)" /> + <_CulturedTargetPdbPath Include="$(TargetPdbDir)%(CultureGroup.OutputFolder)$(TargetPdbFileName)" /> + + + + @(_CulturedTargetPath) + @(_CulturedTargetPdbPath) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + $(TargetPath) + $(TargetFileName) + + + + + + PrepareForBuild;AssignTargetPaths + + + + + + + + + + + + + <_BuiltProjectOutputGroupOutputIntermediate Include="$(TargetPath)" /> + + + + + + + %(_BuiltProjectOutputGroupOutputIntermediate.FullPath) + + + + + + + AssignTargetPaths + + + + + + + + + + + + + + + + true + + + + true + true + $([System.IO.Path]::GetFullPath($(IntermediateOutputPath))) + + + + + + + + + <_FullPathToCopy Include="$(OutputFile)" Condition=" '@(_FullPathToCopy)'=='' " /> + <_RelativePath Include="$([MSBuild]::MakeRelative($(FullIntermediateOutputPath), %(_FullPathToCopy.Identity)))" /> + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.BuildTasks/WixToolsetTest.BuildTasks.csproj b/src/test/WixToolsetTest.BuildTasks/WixToolsetTest.BuildTasks.csproj index bfcc10ad..696e5845 100644 --- a/src/test/WixToolsetTest.BuildTasks/WixToolsetTest.BuildTasks.csproj +++ b/src/test/WixToolsetTest.BuildTasks/WixToolsetTest.BuildTasks.csproj @@ -10,10 +10,10 @@ - - - - + + + + diff --git a/src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs b/src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs deleted file mode 100644 index 163e8402..00000000 --- a/src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs +++ /dev/null @@ -1,408 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. - -namespace WixToolsetTest.MSBuild -{ - using System; - using System.Collections.Generic; - using System.IO; - using System.Linq; - using WixBuildTools.TestSupport; - using Xunit; - - public class MsbuildFixture - { - [Theory] - [InlineData(BuildSystem.DotNetCoreSdk)] - [InlineData(BuildSystem.MSBuild)] - [InlineData(BuildSystem.MSBuild64)] - public void CanBuildSimpleBundle(BuildSystem buildSystem) - { - var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage"); - - using (var fs = new TestDataFolderFileSystem()) - { - fs.Initialize(sourceFolder); - var baseFolder = Path.Combine(fs.BaseFolder, "SimpleBundle"); - var binFolder = Path.Combine(baseFolder, @"bin\"); - var projectPath = Path.Combine(baseFolder, "SimpleBundle.wixproj"); - - var result = MsbuildUtilities.BuildProject(buildSystem, projectPath); - result.AssertSuccess(); - - var warnings = result.Output.Where(line => line.Contains(": warning")); - Assert.Empty(warnings); - - var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) - .Select(s => s.Substring(baseFolder.Length + 1)) - .OrderBy(s => s) - .ToArray(); - Assert.Equal(new[] - { - @"bin\x86\Release\SimpleBundle.exe", - @"bin\x86\Release\SimpleBundle.wixpdb", - }, paths); - } - } - - [Theory] - [InlineData(BuildSystem.DotNetCoreSdk)] - [InlineData(BuildSystem.MSBuild)] - [InlineData(BuildSystem.MSBuild64)] - public void CanBuildSimpleMergeModule(BuildSystem buildSystem) - { - var sourceFolder = TestData.Get(@"TestData\MergeModule\SimpleMergeModule"); - - using (var fs = new TestDataFolderFileSystem()) - { - fs.Initialize(sourceFolder); - var baseFolder = fs.BaseFolder; - var binFolder = Path.Combine(baseFolder, @"bin\"); - var projectPath = Path.Combine(baseFolder, "SimpleMergeModule.wixproj"); - - var result = MsbuildUtilities.BuildProject(buildSystem, projectPath); - result.AssertSuccess(); - - var warnings = result.Output.Where(line => line.Contains(": warning")); - Assert.Empty(warnings); - - var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) - .Select(s => s.Substring(baseFolder.Length + 1)) - .OrderBy(s => s) - .ToArray(); - Assert.Equal(new[] - { - @"bin\x86\Release\SimpleMergeModule.msm", - @"bin\x86\Release\SimpleMergeModule.wixpdb", - }, paths); - } - } - - [Theory] - [InlineData(BuildSystem.DotNetCoreSdk)] - [InlineData(BuildSystem.MSBuild)] - [InlineData(BuildSystem.MSBuild64)] - public void CanBuildSimpleMsiPackage(BuildSystem buildSystem) - { - var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); - - using (var fs = new TestDataFolderFileSystem()) - { - fs.Initialize(sourceFolder); - var baseFolder = fs.BaseFolder; - var binFolder = Path.Combine(baseFolder, @"bin\"); - var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); - - var result = MsbuildUtilities.BuildProject(buildSystem, projectPath); - result.AssertSuccess(); - - var platformSwitches = result.Output.Where(line => line.Contains("-platform x86")); - Assert.Single(platformSwitches); - - var warnings = result.Output.Where(line => line.Contains(": warning")); - Assert.Equal(4, warnings.Count()); - - var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) - .Select(s => s.Substring(baseFolder.Length + 1)) - .OrderBy(s => s) - .ToArray(); - Assert.Equal(new[] - { - @"bin\x86\Release\en-US\cab1.cab", - @"bin\x86\Release\en-US\MsiPackage.msi", - @"bin\x86\Release\en-US\MsiPackage.wixpdb", - }, paths); - } - } - - [Theory] - [InlineData(BuildSystem.DotNetCoreSdk)] - [InlineData(BuildSystem.MSBuild)] - [InlineData(BuildSystem.MSBuild64)] - public void CanBuildSimpleMsiPackageWithMergeModule(BuildSystem buildSystem) - { - var sourceFolder = TestData.Get(@"TestData\MergeModule"); - - using (var fs = new TestDataFolderFileSystem()) - { - fs.Initialize(sourceFolder); - var baseFolder = Path.Combine(fs.BaseFolder, "MergeMsiPackage"); - var binFolder = Path.Combine(baseFolder, @"bin\"); - var projectPath = Path.Combine(baseFolder, "MergeMsiPackage.wixproj"); - - var result = MsbuildUtilities.BuildProject(buildSystem, projectPath); - result.AssertSuccess(); - - var warnings = result.Output.Where(line => line.Contains(": warning")); - Assert.Empty(warnings); - - var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) - .Select(s => s.Substring(baseFolder.Length + 1)) - .OrderBy(s => s) - .ToArray(); - Assert.Equal(new[] - { - @"bin\x86\Release\cab1.cab", - @"bin\x86\Release\MergeMsiPackage.msi", - @"bin\x86\Release\MergeMsiPackage.wixpdb", - }, paths); - } - } - - [Theory] - [InlineData(BuildSystem.DotNetCoreSdk)] - [InlineData(BuildSystem.MSBuild)] - [InlineData(BuildSystem.MSBuild64)] - public void CanBuildWithDefaultAndExplicitlyFullWixpdbs(BuildSystem buildSystem) - { - var expectedOutputs = new[] - { - @"bin\x86\Release\en-US\cab1.cab", - @"bin\x86\Release\en-US\MsiPackage.msi", - @"bin\x86\Release\en-US\MsiPackage.wixpdb", - }; - - this.AssertWixpdb(buildSystem, null, expectedOutputs); - this.AssertWixpdb(buildSystem, "Full", expectedOutputs); - } - - [Theory] - [InlineData(BuildSystem.DotNetCoreSdk)] - [InlineData(BuildSystem.MSBuild)] - [InlineData(BuildSystem.MSBuild64)] - public void CanBuildWithNoWixpdb(BuildSystem buildSystem) - { - this.AssertWixpdb(buildSystem, "NONE", new[] - { - @"bin\x86\Release\en-US\cab1.cab", - @"bin\x86\Release\en-US\MsiPackage.msi", - }); - } - - private void AssertWixpdb(BuildSystem buildSystem, string wixpdbType, string[] expectedOutputFiles) - { - var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); - - using (var fs = new TestDataFolderFileSystem()) - { - fs.Initialize(sourceFolder); - var baseFolder = fs.BaseFolder; - var binFolder = Path.Combine(baseFolder, @"bin\"); - var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); - - var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] - { - wixpdbType == null ? String.Empty : $"-p:WixPdbType={wixpdbType}", - }); - result.AssertSuccess(); - - var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) - .Select(s => s.Substring(baseFolder.Length + 1)) - .OrderBy(s => s) - .ToArray(); - Assert.Equal(expectedOutputFiles, paths); - } - } - - [Theory] - [InlineData(BuildSystem.DotNetCoreSdk)] - [InlineData(BuildSystem.MSBuild)] - [InlineData(BuildSystem.MSBuild64)] - public void CanBuild64BitMsiPackage(BuildSystem buildSystem) - { - var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); - - using (var fs = new TestDataFolderFileSystem()) - { - fs.Initialize(sourceFolder); - var baseFolder = fs.BaseFolder; - var binFolder = Path.Combine(baseFolder, @"bin\"); - var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); - - var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] - { - $"-p:Platform=x64", - }); - result.AssertSuccess(); - - var platformSwitches = result.Output.Where(line => line.Contains("-platform x64")); - Assert.Single(platformSwitches); - - var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) - .Select(s => s.Substring(baseFolder.Length + 1)) - .OrderBy(s => s) - .ToArray(); - Assert.Equal(new[] - { - @"bin\x64\Release\en-US\cab1.cab", - @"bin\x64\Release\en-US\MsiPackage.msi", - @"bin\x64\Release\en-US\MsiPackage.wixpdb", - }, paths); - } - } - - [Theory(Skip = "Currently fails")] - [InlineData(BuildSystem.DotNetCoreSdk)] - [InlineData(BuildSystem.MSBuild)] - [InlineData(BuildSystem.MSBuild64)] - public void CanBuildSimpleMsiPackageWithIceSuppressions(BuildSystem buildSystem) - { - var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); - - using (var fs = new TestDataFolderFileSystem()) - { - fs.Initialize(sourceFolder); - var baseFolder = fs.BaseFolder; - var binFolder = Path.Combine(baseFolder, @"bin\"); - var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); - - var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] - { - MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "SuppressIces", "ICE45;ICE46"), - }); - result.AssertSuccess(); - } - } - - [Theory] - [InlineData(BuildSystem.DotNetCoreSdk)] - [InlineData(BuildSystem.MSBuild)] - [InlineData(BuildSystem.MSBuild64)] - public void CanBuildSimpleMsiPackageWithWarningSuppressions(BuildSystem buildSystem) - { - var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); - - using (var fs = new TestDataFolderFileSystem()) - { - fs.Initialize(sourceFolder); - var baseFolder = fs.BaseFolder; - var binFolder = Path.Combine(baseFolder, @"bin\"); - var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); - - var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] - { - MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "SuppressSpecificWarnings", "1118;1102"), - }); - result.AssertSuccess(); - - var warnings = result.Output.Where(line => line.Contains(": warning")); - Assert.Empty(warnings); - } - } - - [Theory] - [InlineData(BuildSystem.DotNetCoreSdk, null)] - [InlineData(BuildSystem.DotNetCoreSdk, true)] - [InlineData(BuildSystem.MSBuild, null)] - [InlineData(BuildSystem.MSBuild, true)] - [InlineData(BuildSystem.MSBuild64, null)] - [InlineData(BuildSystem.MSBuild64, true)] - public void CanBuildSimpleMsiPackageAsWixipl(BuildSystem buildSystem, bool? outOfProc) - { - var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); - - using (var fs = new TestDataFolderFileSystem()) - { - fs.Initialize(sourceFolder); - var baseFolder = fs.BaseFolder; - var binFolder = Path.Combine(baseFolder, @"bin\"); - var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); - - var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] - { - "-p:OutputType=IntermediatePostLink", - }, outOfProc: outOfProc); - result.AssertSuccess(); - - var wixBuildCommands = MsbuildUtilities.GetToolCommandLines(result, "wix", "build", buildSystem, outOfProc); - Assert.Single(wixBuildCommands); - - var path = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) - .Select(s => s.Substring(baseFolder.Length + 1)) - .Single(); - Assert.Equal(@"bin\x86\Release\MsiPackage.wixipl", path); - } - } - - [Theory] - [InlineData(BuildSystem.DotNetCoreSdk)] - [InlineData(BuildSystem.MSBuild)] - [InlineData(BuildSystem.MSBuild64)] - public void CanBuildAndCleanSimpleMsiPackage(BuildSystem buildSystem) - { - var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); - - using (var fs = new TestDataFolderFileSystem()) - { - fs.Initialize(sourceFolder); - var baseFolder = fs.BaseFolder; - var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); - - // Build - var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, verbosityLevel: "diag"); - result.AssertSuccess(); - - var buildOutput = String.Join("\r\n", result.Output); - - var createdPaths = Directory.EnumerateFiles(baseFolder, @"*.*", SearchOption.AllDirectories) - .Select(s => s.Substring(baseFolder.Length + 1)) - .OrderBy(s => s) - .ToArray(); - Assert.NotEmpty(createdPaths); - - // Clean - result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] - { - "-t:Clean", - }, verbosityLevel: "diag"); - result.AssertSuccess(); - - var cleanOutput = String.Join("\r\n", result.Output); - - // Clean is only expected to delete the files listed in {Project}.FileListAbsolute.txt, - // so this is not quite right but close enough. - var allowedFiles = new HashSet - { - "MsiPackage.wixproj", - "Package.en-us.wxl", - "Package.wxs", - "PackageComponents.wxs", - @"data\test.txt", - @"obj\x86\Release\MsiPackage.wixproj.FileListAbsolute.txt", - }; - - var remainingPaths = Directory.EnumerateFiles(baseFolder, @"*.*", SearchOption.AllDirectories) - .Select(s => s.Substring(baseFolder.Length + 1)) - .Where(s => !allowedFiles.Contains(s)) - .OrderBy(s => s) - .ToArray(); - Assert.Empty(remainingPaths); - } - } - - [Theory] - [InlineData(BuildSystem.DotNetCoreSdk)] - [InlineData(BuildSystem.MSBuild)] - [InlineData(BuildSystem.MSBuild64)] - public void ReportsInnerExceptionForUnexpectedExceptions(BuildSystem buildSystem) - { - var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); - - using (var fs = new TestDataFolderFileSystem()) - { - fs.Initialize(sourceFolder); - var baseFolder = fs.BaseFolder; - var binFolder = Path.Combine(baseFolder, @"bin\"); - var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); - - var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] - { - MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixToolDir", Path.Combine(MsbuildUtilities.WixMsbuildPath, "broken", "net461")), - }, outOfProc: true); - Assert.Equal(1, result.ExitCode); - - var expectedMessage = "System.PlatformNotSupportedException: Could not find platform specific 'wixnative.exe' ---> System.IO.FileNotFoundException: Could not find internal piece of WiX Toolset from"; - Assert.Contains(result.Output, m => m.Contains(expectedMessage)); - } - } - } -} diff --git a/src/test/WixToolsetTest.MSBuild/MsbuildHeatFixture.cs b/src/test/WixToolsetTest.MSBuild/MsbuildHeatFixture.cs deleted file mode 100644 index b5b97649..00000000 --- a/src/test/WixToolsetTest.MSBuild/MsbuildHeatFixture.cs +++ /dev/null @@ -1,150 +0,0 @@ -// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. - -namespace WixToolsetTest.MSBuild -{ - using System; - using System.Collections.Generic; - using System.IO; - using System.Linq; - using WixBuildTools.TestSupport; - using WixToolset.Core.TestPackage; - using WixToolset.Data; - using WixToolset.Data.Symbols; - using Xunit; - - public class MsbuildHeatFixture - { - [Theory] - [InlineData(BuildSystem.DotNetCoreSdk)] - [InlineData(BuildSystem.MSBuild)] - [InlineData(BuildSystem.MSBuild64)] - public void CanBuildHeatFilePackage(BuildSystem buildSystem) - { - var sourceFolder = TestData.Get(@"TestData\HeatFilePackage"); - - using (var fs = new TestDataFolderFileSystem()) - { - fs.Initialize(sourceFolder); - var baseFolder = fs.BaseFolder; - var binFolder = Path.Combine(baseFolder, @"bin\"); - var intermediateFolder = Path.Combine(baseFolder, @"obj\"); - var projectPath = Path.Combine(baseFolder, "HeatFilePackage.wixproj"); - - var result = MsbuildUtilities.BuildProject(buildSystem, projectPath); - result.AssertSuccess(); - - var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "file", buildSystem, true); - Assert.Single(heatCommandLines); - - var warnings = result.Output.Where(line => line.Contains(": warning")); - Assert.Empty(warnings); - - var generatedFilePath = Path.Combine(intermediateFolder, "x86", "Release", "_ProductComponents_INSTALLFOLDER_HeatFilePackage.wixproj_file.wxs"); - Assert.True(File.Exists(generatedFilePath)); - - var generatedContents = File.ReadAllText(generatedFilePath); - var testXml = generatedContents.GetTestXml(); - Assert.Equal(@"" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "", testXml); - - var pdbPath = Path.Combine(binFolder, "x86", "Release", "HeatFilePackage.wixpdb"); - Assert.True(File.Exists(pdbPath)); - - var intermediate = Intermediate.Load(pdbPath); - var section = intermediate.Sections.Single(); - - var fileSymbol = section.Symbols.OfType().Single(); - Assert.Equal(@"SourceDir\HeatFilePackage.wixproj", fileSymbol[FileSymbolFields.Source].PreviousValue.AsPath().Path); - } - } - - [Theory] - [InlineData(BuildSystem.DotNetCoreSdk)] - [InlineData(BuildSystem.MSBuild)] - [InlineData(BuildSystem.MSBuild64)] - public void CanBuildHeatFileWithMultipleFilesPackage(BuildSystem buildSystem) - { - var sourceFolder = TestData.Get(@"TestData\HeatFileMultipleFilesSameFileName"); - - using (var fs = new TestDataFolderFileSystem()) - { - fs.Initialize(sourceFolder); - var baseFolder = fs.BaseFolder; - var binFolder = Path.Combine(baseFolder, @"bin\"); - var intermediateFolder = Path.Combine(baseFolder, @"obj\"); - var projectPath = Path.Combine(baseFolder, "HeatFileMultipleFilesSameFileName.wixproj"); - - var result = MsbuildUtilities.BuildProject(buildSystem, projectPath); - result.AssertSuccess(); - - var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "file", buildSystem, true); - Assert.Equal(2, heatCommandLines.Count()); - - var warnings = result.Output.Where(line => line.Contains(": warning")); - Assert.Empty(warnings); - - var generatedFilePath = Path.Combine(intermediateFolder, "x86", "Release", "_TxtProductComponents_INSTALLFOLDER_MyProgram.txt_file.wxs"); - Assert.True(File.Exists(generatedFilePath)); - - var generatedContents = File.ReadAllText(generatedFilePath); - var testXml = generatedContents.GetTestXml(); - Assert.Equal("" + - "" + - "" + - "" + - @"" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "", testXml); - - generatedFilePath = Path.Combine(intermediateFolder, "x86", "Release", "_JsonProductComponents_INSTALLFOLDER_MyProgram.json_file.wxs"); - Assert.True(File.Exists(generatedFilePath)); - - generatedContents = File.ReadAllText(generatedFilePath); - testXml = generatedContents.GetTestXml(); - Assert.Equal("" + - "" + - "" + - "" + - @"" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "", testXml); - - var pdbPath = Path.Combine(binFolder, "x86", "Release", "HeatFileMultipleFilesSameFileName.wixpdb"); - Assert.True(File.Exists(pdbPath)); - - var intermediate = Intermediate.Load(pdbPath); - var section = intermediate.Sections.Single(); - - var fileSymbols = section.Symbols.OfType().ToArray(); - Assert.Equal(@"SourceDir\MyProgram.txt", fileSymbols[0][FileSymbolFields.Source].PreviousValue.AsPath().Path); - Assert.Equal(@"SourceDir\MyProgram.json", fileSymbols[1][FileSymbolFields.Source].PreviousValue.AsPath().Path); - } - } - } -} diff --git a/src/test/WixToolsetTest.MSBuild/MsbuildUtilities.cs b/src/test/WixToolsetTest.MSBuild/MsbuildUtilities.cs deleted file mode 100644 index fead4915..00000000 --- a/src/test/WixToolsetTest.MSBuild/MsbuildUtilities.cs +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright(c) .NET Foundation and contributors.All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. - -namespace WixToolsetTest.MSBuild -{ - using System; - using System.Collections.Generic; - using System.IO; - using System.Linq; - using WixBuildTools.TestSupport; - - public enum BuildSystem - { - DotNetCoreSdk, - MSBuild, - MSBuild64, - } - - public static class MsbuildUtilities - { - public static readonly string WixMsbuildPath = Path.Combine(new Uri(typeof(MsbuildUtilities).Assembly.CodeBase).AbsolutePath, "..", "..", "publish", "WixToolset.MSBuild"); - public static readonly string WixPropsPath = Path.Combine(WixMsbuildPath, "build", "WixToolset.MSBuild.props"); - - public static MsbuildRunnerResult BuildProject(BuildSystem buildSystem, string projectPath, string[] arguments = null, string configuration = "Release", bool? outOfProc = null, string verbosityLevel = "normal") - { - var allArgs = new List - { - $"-verbosity:{verbosityLevel}", - $"-p:Configuration={configuration}", - GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildUtilities.WixPropsPath), - // Node reuse means that child msbuild processes can stay around after the build completes. - // Under that scenario, the root msbuild does not reliably close its streams which causes us to hang. - "-nr:false", - }; - - if (outOfProc.HasValue) - { - allArgs.Add($"-p:RunWixToolsOutOfProc={outOfProc.Value}"); - } - - if (arguments != null) - { - allArgs.AddRange(arguments); - } - - switch (buildSystem) - { - case BuildSystem.DotNetCoreSdk: - { - allArgs.Add(projectPath); - var result = DotnetRunner.Execute("msbuild", allArgs.ToArray()); - return new MsbuildRunnerResult - { - ExitCode = result.ExitCode, - Output = result.StandardOutput, - }; - } - case BuildSystem.MSBuild: - case BuildSystem.MSBuild64: - { - return MsbuildRunner.Execute(projectPath, allArgs.ToArray(), buildSystem == BuildSystem.MSBuild64); - } - default: - { - throw new NotImplementedException(); - } - } - } - - public static string GetQuotedPropertySwitch(BuildSystem buildSystem, string propertyName, string valueToQuote) - { - switch (buildSystem) - { - case BuildSystem.DotNetCoreSdk: - { - return $"-p:{propertyName}=\\\"{valueToQuote}\\\""; - } - case BuildSystem.MSBuild: - case BuildSystem.MSBuild64: - { - return $"-p:{propertyName}=\"{valueToQuote}\""; - } - default: - { - throw new NotImplementedException(); - } - } - } - - public static IEnumerable GetToolCommandLines(MsbuildRunnerResult result, string toolName, string operation, BuildSystem buildSystem, bool? outOfProc = null) - { - var expectedOutOfProc = buildSystem == BuildSystem.DotNetCoreSdk || outOfProc.HasValue && outOfProc.Value; - var expectedToolExe = !expectedOutOfProc ? $"({toolName}.exe)" : - buildSystem == BuildSystem.DotNetCoreSdk ? $"{toolName}.dll\"" : $"{toolName}.exe"; - var expectedToolCommand = $"{expectedToolExe} {operation}"; - return result.Output.Where(line => line.Contains(expectedToolCommand)); - } - } -} diff --git a/src/test/WixToolsetTest.MSBuild/README.md b/src/test/WixToolsetTest.MSBuild/README.md deleted file mode 100644 index 7faf34b9..00000000 --- a/src/test/WixToolsetTest.MSBuild/README.md +++ /dev/null @@ -1,5 +0,0 @@ -In order to properly test wix.targets, -all of the supported architectures for WixToolset.BuildTasks need to be available in the layout used in the Nuget package. -Making this happen on every build for the solution takes too long, -so this project relies on manually running appveyor.cmd to publish everything before the tests can be run. -appveyor.cmd needs to be ran again every time changes are made in other projects, including the targets themselves. \ No newline at end of file diff --git a/src/test/WixToolsetTest.MSBuild/TestData/HeatFileMultipleFilesSameFileName/HeatFileMultipleFilesSameFileName.wixproj b/src/test/WixToolsetTest.MSBuild/TestData/HeatFileMultipleFilesSameFileName/HeatFileMultipleFilesSameFileName.wixproj deleted file mode 100644 index 7d751319..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/HeatFileMultipleFilesSameFileName/HeatFileMultipleFilesSameFileName.wixproj +++ /dev/null @@ -1,58 +0,0 @@ - - - - - Debug - x86 - - - - 7fb77005-c6e0-454f-8c2d-0a4a79c918ba - - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - Debug - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - Debug - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - - - - - - - - - - - - true - - - - - TxtProductComponents - INSTALLFOLDER - true - - - JsonProductComponents - INSTALLFOLDER - true - - - - - \ No newline at end of file diff --git a/src/test/WixToolsetTest.MSBuild/TestData/HeatFileMultipleFilesSameFileName/MyProgram.json b/src/test/WixToolsetTest.MSBuild/TestData/HeatFileMultipleFilesSameFileName/MyProgram.json deleted file mode 100644 index 5f282702..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/HeatFileMultipleFilesSameFileName/MyProgram.json +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/test/WixToolsetTest.MSBuild/TestData/HeatFileMultipleFilesSameFileName/MyProgram.txt b/src/test/WixToolsetTest.MSBuild/TestData/HeatFileMultipleFilesSameFileName/MyProgram.txt deleted file mode 100644 index 5f282702..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/HeatFileMultipleFilesSameFileName/MyProgram.txt +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/test/WixToolsetTest.MSBuild/TestData/HeatFileMultipleFilesSameFileName/Package.wxs b/src/test/WixToolsetTest.MSBuild/TestData/HeatFileMultipleFilesSameFileName/Package.wxs deleted file mode 100644 index 884da274..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/HeatFileMultipleFilesSameFileName/Package.wxs +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/test/WixToolsetTest.MSBuild/TestData/HeatFilePackage/HeatFilePackage.wixproj b/src/test/WixToolsetTest.MSBuild/TestData/HeatFilePackage/HeatFilePackage.wixproj deleted file mode 100644 index 3988acaf..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/HeatFilePackage/HeatFilePackage.wixproj +++ /dev/null @@ -1,53 +0,0 @@ - - - - - Debug - x86 - - - - 7fb77005-c6e0-454f-8c2d-0a4a79c918ba - - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - Debug - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - Debug - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - - - - - - - - - - - - true - - - - - ProductComponents - INSTALLFOLDER - true - - - - - \ No newline at end of file diff --git a/src/test/WixToolsetTest.MSBuild/TestData/HeatFilePackage/Package.wxs b/src/test/WixToolsetTest.MSBuild/TestData/HeatFilePackage/Package.wxs deleted file mode 100644 index e509c464..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/HeatFilePackage/Package.wxs +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/MergeMsiPackage/MergeMsiPackage.wixproj b/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/MergeMsiPackage/MergeMsiPackage.wixproj deleted file mode 100644 index 77ee4420..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/MergeMsiPackage/MergeMsiPackage.wixproj +++ /dev/null @@ -1,44 +0,0 @@ - - - - - Debug - x86 - - - - {B00939D5-7952-4ADF-BEB1-507D227B2FE2} - - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - Debug - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - Debug - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - - - - - - - - - SimpleMergeModule - {9F84998B-7F45-4CB3-8795-915801DBBB74} - - - - - \ No newline at end of file diff --git a/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/MergeMsiPackage/Package.wxs b/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/MergeMsiPackage/Package.wxs deleted file mode 100644 index 1c25e684..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/MergeMsiPackage/Package.wxs +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/MergeModule.wxs b/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/MergeModule.wxs deleted file mode 100644 index b9ab953a..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/MergeModule.wxs +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/SimpleMergeModule.wixproj b/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/SimpleMergeModule.wixproj deleted file mode 100644 index 91579790..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/SimpleMergeModule.wixproj +++ /dev/null @@ -1,42 +0,0 @@ - - - - - Debug - x86 - Module - - - - {9F84998B-7F45-4CB3-8795-915801DBBB74} - - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - Debug - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - Debug - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - - - - - - - - - - - - \ No newline at end of file diff --git a/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/data/MergeModule.txt b/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/data/MergeModule.txt deleted file mode 100644 index cd0db0e1..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/MergeModule/SimpleMergeModule/data/MergeModule.txt +++ /dev/null @@ -1 +0,0 @@ -This is test.txt. \ No newline at end of file diff --git a/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/MsiPackage.wixproj b/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/MsiPackage.wixproj deleted file mode 100644 index 555addbe..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/MsiPackage.wixproj +++ /dev/null @@ -1,50 +0,0 @@ - - - - - Debug - x86 - 0.9 - 7fb77005-c6e0-454f-8c2d-0a4a79c918ba - MsiPackage - Package - MsiPackage - MsiPackage - en-US,en;de-DE - - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - Debug - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - Debug - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - - - - - - - - - - - - - - - - - - diff --git a/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/Package.de-de.wxl b/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/Package.de-de.wxl deleted file mode 100644 index 23493ace..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/Package.de-de.wxl +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - German DowngradeError - German FeatureTitle - - diff --git a/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/Package.en-us.wxl b/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/Package.en-us.wxl deleted file mode 100644 index 38c12ac1..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/Package.en-us.wxl +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - A newer version of [ProductName] is already installed. - MsiPackage - - diff --git a/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/Package.wxs b/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/Package.wxs deleted file mode 100644 index d5a5a40d..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/Package.wxs +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/PackageComponents.wxs b/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/PackageComponents.wxs deleted file mode 100644 index e26c4509..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/PackageComponents.wxs +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/data/test.txt b/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/data/test.txt deleted file mode 100644 index cd0db0e1..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MsiPackage/data/test.txt +++ /dev/null @@ -1 +0,0 @@ -This is test.txt. \ No newline at end of file diff --git a/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MultiCulturalMsiPackage.sln b/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MultiCulturalMsiPackage.sln deleted file mode 100644 index 2c88704e..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/MultiCulturalMsiPackage/MultiCulturalMsiPackage.sln +++ /dev/null @@ -1,31 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.26730.8 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "MsiPackage", "MsiPackage\MsiPackage.wixproj", "{7FB77005-C6E0-454F-8C2D-0A4A79C918BA}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x64.ActiveCfg = Debug|x64 - {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x64.Build.0 = Debug|x64 - {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x86.ActiveCfg = Debug|x86 - {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x86.Build.0 = Debug|x86 - {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x64.ActiveCfg = Release|x64 - {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x64.Build.0 = Release|x64 - {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x86.ActiveCfg = Release|x86 - {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x86.Build.0 = Release|x86 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {585B0599-4EB5-4AB6-BC66-819CC78B63D5} - EndGlobalSection -EndGlobal diff --git a/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/MsiPackage/MsiPackage.wixproj b/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/MsiPackage/MsiPackage.wixproj deleted file mode 100644 index 18ae08b2..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/MsiPackage/MsiPackage.wixproj +++ /dev/null @@ -1,46 +0,0 @@ - - - - - Debug - x86 - - - - 7fb77005-c6e0-454f-8c2d-0a4a79c918ba - - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - Debug - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - Debug - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/MsiPackage/Package.en-us.wxl b/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/MsiPackage/Package.en-us.wxl deleted file mode 100644 index 38c12ac1..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/MsiPackage/Package.en-us.wxl +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - A newer version of [ProductName] is already installed. - MsiPackage - - diff --git a/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/MsiPackage/Package.wxs b/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/MsiPackage/Package.wxs deleted file mode 100644 index f7998fff..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/MsiPackage/Package.wxs +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/MsiPackage/PackageComponents.wxs b/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/MsiPackage/PackageComponents.wxs deleted file mode 100644 index ddb95faf..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/MsiPackage/PackageComponents.wxs +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/MsiPackage/data/test.txt b/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/MsiPackage/data/test.txt deleted file mode 100644 index cd0db0e1..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/MsiPackage/data/test.txt +++ /dev/null @@ -1 +0,0 @@ -This is test.txt. \ No newline at end of file diff --git a/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/SimpleBundle/Bundle.wxs b/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/SimpleBundle/Bundle.wxs deleted file mode 100644 index 6cd04712..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/SimpleBundle/Bundle.wxs +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/SimpleBundle/SimpleBundle.wixproj b/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/SimpleBundle/SimpleBundle.wixproj deleted file mode 100644 index 199eb6d9..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/SimpleBundle/SimpleBundle.wixproj +++ /dev/null @@ -1,42 +0,0 @@ - - - - - Debug - x86 - - - - 6670d5c9-bbec-4828-ab60-4a1c0ffeb97d - Bundle - - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - Debug - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - Debug - - - $(Platform) - bin\$(Platform)\$(Configuration)\ - - - - - - - - - - - - \ No newline at end of file diff --git a/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/SimpleMsiPackage.sln b/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/SimpleMsiPackage.sln deleted file mode 100644 index dd21489d..00000000 --- a/src/test/WixToolsetTest.MSBuild/TestData/SimpleMsiPackage/SimpleMsiPackage.sln +++ /dev/null @@ -1,39 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30011.22 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "MsiPackage", "MsiPackage\MsiPackage.wixproj", "{7FB77005-C6E0-454F-8C2D-0A4A79C918BA}" -EndProject -Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "SimpleBundle", "SimpleBundle\SimpleBundle.wixproj", "{6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x64.ActiveCfg = Debug|x64 - {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x64.Build.0 = Debug|x64 - {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x86.ActiveCfg = Debug|x86 - {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x86.Build.0 = Debug|x86 - {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x64.ActiveCfg = Release|x64 - {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x64.Build.0 = Release|x64 - {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x86.ActiveCfg = Release|x86 - {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x86.Build.0 = Release|x86 - {6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}.Debug|x64.ActiveCfg = Debug|x86 - {6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}.Debug|x86.ActiveCfg = Debug|x86 - {6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}.Debug|x86.Build.0 = Debug|x86 - {6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}.Release|x64.ActiveCfg = Release|x86 - {6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}.Release|x86.ActiveCfg = Release|x86 - {6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}.Release|x86.Build.0 = Release|x86 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {585B0599-4EB5-4AB6-BC66-819CC78B63D5} - EndGlobalSection -EndGlobal diff --git a/src/test/WixToolsetTest.MSBuild/WixToolsetTest.MSBuild.csproj b/src/test/WixToolsetTest.MSBuild/WixToolsetTest.MSBuild.csproj deleted file mode 100644 index 916300af..00000000 --- a/src/test/WixToolsetTest.MSBuild/WixToolsetTest.MSBuild.csproj +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - net461 - false - embedded - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/test/WixToolsetTest.MSBuild/WixToolsetTest.MSBuild.v3.ncrunchproject b/src/test/WixToolsetTest.MSBuild/WixToolsetTest.MSBuild.v3.ncrunchproject deleted file mode 100644 index f1d03cd7..00000000 --- a/src/test/WixToolsetTest.MSBuild/WixToolsetTest.MSBuild.v3.ncrunchproject +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/src/test/WixToolsetTest.Sdk/MsbuildFixture.cs b/src/test/WixToolsetTest.Sdk/MsbuildFixture.cs new file mode 100644 index 00000000..1ce326d8 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/MsbuildFixture.cs @@ -0,0 +1,408 @@ +// 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. + +namespace WixToolsetTest.Sdk +{ + using System; + using System.Collections.Generic; + using System.IO; + using System.Linq; + using WixBuildTools.TestSupport; + using Xunit; + + public class MsbuildFixture + { + [Theory] + [InlineData(BuildSystem.DotNetCoreSdk)] + [InlineData(BuildSystem.MSBuild)] + [InlineData(BuildSystem.MSBuild64)] + public void CanBuildSimpleBundle(BuildSystem buildSystem) + { + var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage"); + + using (var fs = new TestDataFolderFileSystem()) + { + fs.Initialize(sourceFolder); + var baseFolder = Path.Combine(fs.BaseFolder, "SimpleBundle"); + var binFolder = Path.Combine(baseFolder, @"bin\"); + var projectPath = Path.Combine(baseFolder, "SimpleBundle.wixproj"); + + var result = MsbuildUtilities.BuildProject(buildSystem, projectPath); + result.AssertSuccess(); + + var warnings = result.Output.Where(line => line.Contains(": warning")); + Assert.Empty(warnings); + + var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) + .Select(s => s.Substring(baseFolder.Length + 1)) + .OrderBy(s => s) + .ToArray(); + Assert.Equal(new[] + { + @"bin\x86\Release\SimpleBundle.exe", + @"bin\x86\Release\SimpleBundle.wixpdb", + }, paths); + } + } + + [Theory] + [InlineData(BuildSystem.DotNetCoreSdk)] + [InlineData(BuildSystem.MSBuild)] + [InlineData(BuildSystem.MSBuild64)] + public void CanBuildSimpleMergeModule(BuildSystem buildSystem) + { + var sourceFolder = TestData.Get(@"TestData\MergeModule\SimpleMergeModule"); + + using (var fs = new TestDataFolderFileSystem()) + { + fs.Initialize(sourceFolder); + var baseFolder = fs.BaseFolder; + var binFolder = Path.Combine(baseFolder, @"bin\"); + var projectPath = Path.Combine(baseFolder, "SimpleMergeModule.wixproj"); + + var result = MsbuildUtilities.BuildProject(buildSystem, projectPath); + result.AssertSuccess(); + + var warnings = result.Output.Where(line => line.Contains(": warning")); + Assert.Empty(warnings); + + var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) + .Select(s => s.Substring(baseFolder.Length + 1)) + .OrderBy(s => s) + .ToArray(); + Assert.Equal(new[] + { + @"bin\x86\Release\SimpleMergeModule.msm", + @"bin\x86\Release\SimpleMergeModule.wixpdb", + }, paths); + } + } + + [Theory] + [InlineData(BuildSystem.DotNetCoreSdk)] + [InlineData(BuildSystem.MSBuild)] + [InlineData(BuildSystem.MSBuild64)] + public void CanBuildSimpleMsiPackage(BuildSystem buildSystem) + { + var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); + + using (var fs = new TestDataFolderFileSystem()) + { + fs.Initialize(sourceFolder); + var baseFolder = fs.BaseFolder; + var binFolder = Path.Combine(baseFolder, @"bin\"); + var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); + + var result = MsbuildUtilities.BuildProject(buildSystem, projectPath); + result.AssertSuccess(); + + var platformSwitches = result.Output.Where(line => line.Contains("-platform x86")); + Assert.Single(platformSwitches); + + var warnings = result.Output.Where(line => line.Contains(": warning")); + Assert.Equal(4, warnings.Count()); + + var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) + .Select(s => s.Substring(baseFolder.Length + 1)) + .OrderBy(s => s) + .ToArray(); + Assert.Equal(new[] + { + @"bin\x86\Release\en-US\cab1.cab", + @"bin\x86\Release\en-US\MsiPackage.msi", + @"bin\x86\Release\en-US\MsiPackage.wixpdb", + }, paths); + } + } + + [Theory] + [InlineData(BuildSystem.DotNetCoreSdk)] + [InlineData(BuildSystem.MSBuild)] + [InlineData(BuildSystem.MSBuild64)] + public void CanBuildSimpleMsiPackageWithMergeModule(BuildSystem buildSystem) + { + var sourceFolder = TestData.Get(@"TestData\MergeModule"); + + using (var fs = new TestDataFolderFileSystem()) + { + fs.Initialize(sourceFolder); + var baseFolder = Path.Combine(fs.BaseFolder, "MergeMsiPackage"); + var binFolder = Path.Combine(baseFolder, @"bin\"); + var projectPath = Path.Combine(baseFolder, "MergeMsiPackage.wixproj"); + + var result = MsbuildUtilities.BuildProject(buildSystem, projectPath); + result.AssertSuccess(); + + var warnings = result.Output.Where(line => line.Contains(": warning")); + Assert.Empty(warnings); + + var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) + .Select(s => s.Substring(baseFolder.Length + 1)) + .OrderBy(s => s) + .ToArray(); + Assert.Equal(new[] + { + @"bin\x86\Release\cab1.cab", + @"bin\x86\Release\MergeMsiPackage.msi", + @"bin\x86\Release\MergeMsiPackage.wixpdb", + }, paths); + } + } + + [Theory] + [InlineData(BuildSystem.DotNetCoreSdk)] + [InlineData(BuildSystem.MSBuild)] + [InlineData(BuildSystem.MSBuild64)] + public void CanBuildWithDefaultAndExplicitlyFullWixpdbs(BuildSystem buildSystem) + { + var expectedOutputs = new[] + { + @"bin\x86\Release\en-US\cab1.cab", + @"bin\x86\Release\en-US\MsiPackage.msi", + @"bin\x86\Release\en-US\MsiPackage.wixpdb", + }; + + this.AssertWixpdb(buildSystem, null, expectedOutputs); + this.AssertWixpdb(buildSystem, "Full", expectedOutputs); + } + + [Theory] + [InlineData(BuildSystem.DotNetCoreSdk)] + [InlineData(BuildSystem.MSBuild)] + [InlineData(BuildSystem.MSBuild64)] + public void CanBuildWithNoWixpdb(BuildSystem buildSystem) + { + this.AssertWixpdb(buildSystem, "NONE", new[] + { + @"bin\x86\Release\en-US\cab1.cab", + @"bin\x86\Release\en-US\MsiPackage.msi", + }); + } + + private void AssertWixpdb(BuildSystem buildSystem, string wixpdbType, string[] expectedOutputFiles) + { + var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); + + using (var fs = new TestDataFolderFileSystem()) + { + fs.Initialize(sourceFolder); + var baseFolder = fs.BaseFolder; + var binFolder = Path.Combine(baseFolder, @"bin\"); + var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); + + var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] + { + wixpdbType == null ? String.Empty : $"-p:WixPdbType={wixpdbType}", + }); + result.AssertSuccess(); + + var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) + .Select(s => s.Substring(baseFolder.Length + 1)) + .OrderBy(s => s) + .ToArray(); + Assert.Equal(expectedOutputFiles, paths); + } + } + + [Theory] + [InlineData(BuildSystem.DotNetCoreSdk)] + [InlineData(BuildSystem.MSBuild)] + [InlineData(BuildSystem.MSBuild64)] + public void CanBuild64BitMsiPackage(BuildSystem buildSystem) + { + var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); + + using (var fs = new TestDataFolderFileSystem()) + { + fs.Initialize(sourceFolder); + var baseFolder = fs.BaseFolder; + var binFolder = Path.Combine(baseFolder, @"bin\"); + var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); + + var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] + { + $"-p:Platform=x64", + }); + result.AssertSuccess(); + + var platformSwitches = result.Output.Where(line => line.Contains("-platform x64")); + Assert.Single(platformSwitches); + + var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) + .Select(s => s.Substring(baseFolder.Length + 1)) + .OrderBy(s => s) + .ToArray(); + Assert.Equal(new[] + { + @"bin\x64\Release\en-US\cab1.cab", + @"bin\x64\Release\en-US\MsiPackage.msi", + @"bin\x64\Release\en-US\MsiPackage.wixpdb", + }, paths); + } + } + + [Theory(Skip = "Currently fails")] + [InlineData(BuildSystem.DotNetCoreSdk)] + [InlineData(BuildSystem.MSBuild)] + [InlineData(BuildSystem.MSBuild64)] + public void CanBuildSimpleMsiPackageWithIceSuppressions(BuildSystem buildSystem) + { + var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); + + using (var fs = new TestDataFolderFileSystem()) + { + fs.Initialize(sourceFolder); + var baseFolder = fs.BaseFolder; + var binFolder = Path.Combine(baseFolder, @"bin\"); + var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); + + var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] + { + MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "SuppressIces", "ICE45;ICE46"), + }); + result.AssertSuccess(); + } + } + + [Theory] + [InlineData(BuildSystem.DotNetCoreSdk)] + [InlineData(BuildSystem.MSBuild)] + [InlineData(BuildSystem.MSBuild64)] + public void CanBuildSimpleMsiPackageWithWarningSuppressions(BuildSystem buildSystem) + { + var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); + + using (var fs = new TestDataFolderFileSystem()) + { + fs.Initialize(sourceFolder); + var baseFolder = fs.BaseFolder; + var binFolder = Path.Combine(baseFolder, @"bin\"); + var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); + + var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] + { + MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "SuppressSpecificWarnings", "1118;1102"), + }); + result.AssertSuccess(); + + var warnings = result.Output.Where(line => line.Contains(": warning")); + Assert.Empty(warnings); + } + } + + [Theory] + [InlineData(BuildSystem.DotNetCoreSdk, null)] + [InlineData(BuildSystem.DotNetCoreSdk, true)] + [InlineData(BuildSystem.MSBuild, null)] + [InlineData(BuildSystem.MSBuild, true)] + [InlineData(BuildSystem.MSBuild64, null)] + [InlineData(BuildSystem.MSBuild64, true)] + public void CanBuildSimpleMsiPackageAsWixipl(BuildSystem buildSystem, bool? outOfProc) + { + var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); + + using (var fs = new TestDataFolderFileSystem()) + { + fs.Initialize(sourceFolder); + var baseFolder = fs.BaseFolder; + var binFolder = Path.Combine(baseFolder, @"bin\"); + var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); + + var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] + { + "-p:OutputType=IntermediatePostLink", + }, outOfProc: outOfProc); + result.AssertSuccess(); + + var wixBuildCommands = MsbuildUtilities.GetToolCommandLines(result, "wix", "build", buildSystem, outOfProc); + Assert.Single(wixBuildCommands); + + var path = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) + .Select(s => s.Substring(baseFolder.Length + 1)) + .Single(); + Assert.Equal(@"bin\x86\Release\MsiPackage.wixipl", path); + } + } + + [Theory] + [InlineData(BuildSystem.DotNetCoreSdk)] + [InlineData(BuildSystem.MSBuild)] + [InlineData(BuildSystem.MSBuild64)] + public void CanBuildAndCleanSimpleMsiPackage(BuildSystem buildSystem) + { + var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); + + using (var fs = new TestDataFolderFileSystem()) + { + fs.Initialize(sourceFolder); + var baseFolder = fs.BaseFolder; + var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); + + // Build + var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, verbosityLevel: "diag"); + result.AssertSuccess(); + + var buildOutput = String.Join("\r\n", result.Output); + + var createdPaths = Directory.EnumerateFiles(baseFolder, @"*.*", SearchOption.AllDirectories) + .Select(s => s.Substring(baseFolder.Length + 1)) + .OrderBy(s => s) + .ToArray(); + Assert.NotEmpty(createdPaths); + + // Clean + result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] + { + "-t:Clean", + }, verbosityLevel: "diag"); + result.AssertSuccess(); + + var cleanOutput = String.Join("\r\n", result.Output); + + // Clean is only expected to delete the files listed in {Project}.FileListAbsolute.txt, + // so this is not quite right but close enough. + var allowedFiles = new HashSet + { + "MsiPackage.wixproj", + "Package.en-us.wxl", + "Package.wxs", + "PackageComponents.wxs", + @"data\test.txt", + @"obj\x86\Release\MsiPackage.wixproj.FileListAbsolute.txt", + }; + + var remainingPaths = Directory.EnumerateFiles(baseFolder, @"*.*", SearchOption.AllDirectories) + .Select(s => s.Substring(baseFolder.Length + 1)) + .Where(s => !allowedFiles.Contains(s)) + .OrderBy(s => s) + .ToArray(); + Assert.Empty(remainingPaths); + } + } + + [Theory] + [InlineData(BuildSystem.DotNetCoreSdk)] + [InlineData(BuildSystem.MSBuild)] + [InlineData(BuildSystem.MSBuild64)] + public void ReportsInnerExceptionForUnexpectedExceptions(BuildSystem buildSystem) + { + var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); + + using (var fs = new TestDataFolderFileSystem()) + { + fs.Initialize(sourceFolder); + var baseFolder = fs.BaseFolder; + var binFolder = Path.Combine(baseFolder, @"bin\"); + var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); + + var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] + { + MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixToolDir", Path.Combine(MsbuildUtilities.WixMsbuildPath, "broken", "net461")), + }, outOfProc: true); + Assert.Equal(1, result.ExitCode); + + var expectedMessage = "System.PlatformNotSupportedException: Could not find platform specific 'wixnative.exe' ---> System.IO.FileNotFoundException: Could not find internal piece of WiX Toolset from"; + Assert.Contains(result.Output, m => m.Contains(expectedMessage)); + } + } + } +} diff --git a/src/test/WixToolsetTest.Sdk/MsbuildHeatFixture.cs b/src/test/WixToolsetTest.Sdk/MsbuildHeatFixture.cs new file mode 100644 index 00000000..2f32a30f --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/MsbuildHeatFixture.cs @@ -0,0 +1,150 @@ +// 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. + +namespace WixToolsetTest.Sdk +{ + using System; + using System.Collections.Generic; + using System.IO; + using System.Linq; + using WixBuildTools.TestSupport; + using WixToolset.Core.TestPackage; + using WixToolset.Data; + using WixToolset.Data.Symbols; + using Xunit; + + public class MsbuildHeatFixture + { + [Theory] + [InlineData(BuildSystem.DotNetCoreSdk)] + [InlineData(BuildSystem.MSBuild)] + [InlineData(BuildSystem.MSBuild64)] + public void CanBuildHeatFilePackage(BuildSystem buildSystem) + { + var sourceFolder = TestData.Get(@"TestData\HeatFilePackage"); + + using (var fs = new TestDataFolderFileSystem()) + { + fs.Initialize(sourceFolder); + var baseFolder = fs.BaseFolder; + var binFolder = Path.Combine(baseFolder, @"bin\"); + var intermediateFolder = Path.Combine(baseFolder, @"obj\"); + var projectPath = Path.Combine(baseFolder, "HeatFilePackage.wixproj"); + + var result = MsbuildUtilities.BuildProject(buildSystem, projectPath); + result.AssertSuccess(); + + var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "file", buildSystem, true); + Assert.Single(heatCommandLines); + + var warnings = result.Output.Where(line => line.Contains(": warning")); + Assert.Empty(warnings); + + var generatedFilePath = Path.Combine(intermediateFolder, "x86", "Release", "_ProductComponents_INSTALLFOLDER_HeatFilePackage.wixproj_file.wxs"); + Assert.True(File.Exists(generatedFilePath)); + + var generatedContents = File.ReadAllText(generatedFilePath); + var testXml = generatedContents.GetTestXml(); + Assert.Equal(@"" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "", testXml); + + var pdbPath = Path.Combine(binFolder, "x86", "Release", "HeatFilePackage.wixpdb"); + Assert.True(File.Exists(pdbPath)); + + var intermediate = Intermediate.Load(pdbPath); + var section = intermediate.Sections.Single(); + + var fileSymbol = section.Symbols.OfType().Single(); + Assert.Equal(@"SourceDir\HeatFilePackage.wixproj", fileSymbol[FileSymbolFields.Source].PreviousValue.AsPath().Path); + } + } + + [Theory] + [InlineData(BuildSystem.DotNetCoreSdk)] + [InlineData(BuildSystem.MSBuild)] + [InlineData(BuildSystem.MSBuild64)] + public void CanBuildHeatFileWithMultipleFilesPackage(BuildSystem buildSystem) + { + var sourceFolder = TestData.Get(@"TestData\HeatFileMultipleFilesSameFileName"); + + using (var fs = new TestDataFolderFileSystem()) + { + fs.Initialize(sourceFolder); + var baseFolder = fs.BaseFolder; + var binFolder = Path.Combine(baseFolder, @"bin\"); + var intermediateFolder = Path.Combine(baseFolder, @"obj\"); + var projectPath = Path.Combine(baseFolder, "HeatFileMultipleFilesSameFileName.wixproj"); + + var result = MsbuildUtilities.BuildProject(buildSystem, projectPath); + result.AssertSuccess(); + + var heatCommandLines = MsbuildUtilities.GetToolCommandLines(result, "heat", "file", buildSystem, true); + Assert.Equal(2, heatCommandLines.Count()); + + var warnings = result.Output.Where(line => line.Contains(": warning")); + Assert.Empty(warnings); + + var generatedFilePath = Path.Combine(intermediateFolder, "x86", "Release", "_TxtProductComponents_INSTALLFOLDER_MyProgram.txt_file.wxs"); + Assert.True(File.Exists(generatedFilePath)); + + var generatedContents = File.ReadAllText(generatedFilePath); + var testXml = generatedContents.GetTestXml(); + Assert.Equal("" + + "" + + "" + + "" + + @"" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "", testXml); + + generatedFilePath = Path.Combine(intermediateFolder, "x86", "Release", "_JsonProductComponents_INSTALLFOLDER_MyProgram.json_file.wxs"); + Assert.True(File.Exists(generatedFilePath)); + + generatedContents = File.ReadAllText(generatedFilePath); + testXml = generatedContents.GetTestXml(); + Assert.Equal("" + + "" + + "" + + "" + + @"" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "", testXml); + + var pdbPath = Path.Combine(binFolder, "x86", "Release", "HeatFileMultipleFilesSameFileName.wixpdb"); + Assert.True(File.Exists(pdbPath)); + + var intermediate = Intermediate.Load(pdbPath); + var section = intermediate.Sections.Single(); + + var fileSymbols = section.Symbols.OfType().ToArray(); + Assert.Equal(@"SourceDir\MyProgram.txt", fileSymbols[0][FileSymbolFields.Source].PreviousValue.AsPath().Path); + Assert.Equal(@"SourceDir\MyProgram.json", fileSymbols[1][FileSymbolFields.Source].PreviousValue.AsPath().Path); + } + } + } +} diff --git a/src/test/WixToolsetTest.Sdk/MsbuildUtilities.cs b/src/test/WixToolsetTest.Sdk/MsbuildUtilities.cs new file mode 100644 index 00000000..cfb421b2 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/MsbuildUtilities.cs @@ -0,0 +1,98 @@ +// 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. + +namespace WixToolsetTest.Sdk +{ + using System; + using System.Collections.Generic; + using System.IO; + using System.Linq; + using WixBuildTools.TestSupport; + + public enum BuildSystem + { + DotNetCoreSdk, + MSBuild, + MSBuild64, + } + + public static class MsbuildUtilities + { + public static readonly string WixMsbuildPath = Path.Combine(new Uri(typeof(MsbuildUtilities).Assembly.CodeBase).AbsolutePath, "..", "..", "publish", "WixToolset.Sdk"); + public static readonly string WixPropsPath = Path.Combine(WixMsbuildPath, "build", "WixToolset.Sdk.props"); + + public static MsbuildRunnerResult BuildProject(BuildSystem buildSystem, string projectPath, string[] arguments = null, string configuration = "Release", bool? outOfProc = null, string verbosityLevel = "normal") + { + var allArgs = new List + { + $"-verbosity:{verbosityLevel}", + $"-p:Configuration={configuration}", + GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildUtilities.WixPropsPath), + // Node reuse means that child msbuild processes can stay around after the build completes. + // Under that scenario, the root msbuild does not reliably close its streams which causes us to hang. + "-nr:false", + }; + + if (outOfProc.HasValue) + { + allArgs.Add($"-p:RunWixToolsOutOfProc={outOfProc.Value}"); + } + + if (arguments != null) + { + allArgs.AddRange(arguments); + } + + switch (buildSystem) + { + case BuildSystem.DotNetCoreSdk: + { + allArgs.Add(projectPath); + var result = DotnetRunner.Execute("msbuild", allArgs.ToArray()); + return new MsbuildRunnerResult + { + ExitCode = result.ExitCode, + Output = result.StandardOutput, + }; + } + case BuildSystem.MSBuild: + case BuildSystem.MSBuild64: + { + return MsbuildRunner.Execute(projectPath, allArgs.ToArray(), buildSystem == BuildSystem.MSBuild64); + } + default: + { + throw new NotImplementedException(); + } + } + } + + public static string GetQuotedPropertySwitch(BuildSystem buildSystem, string propertyName, string valueToQuote) + { + switch (buildSystem) + { + case BuildSystem.DotNetCoreSdk: + { + return $"-p:{propertyName}=\\\"{valueToQuote}\\\""; + } + case BuildSystem.MSBuild: + case BuildSystem.MSBuild64: + { + return $"-p:{propertyName}=\"{valueToQuote}\""; + } + default: + { + throw new NotImplementedException(); + } + } + } + + public static IEnumerable GetToolCommandLines(MsbuildRunnerResult result, string toolName, string operation, BuildSystem buildSystem, bool? outOfProc = null) + { + var expectedOutOfProc = buildSystem == BuildSystem.DotNetCoreSdk || outOfProc.HasValue && outOfProc.Value; + var expectedToolExe = !expectedOutOfProc ? $"({toolName}.exe)" : + buildSystem == BuildSystem.DotNetCoreSdk ? $"{toolName}.dll\"" : $"{toolName}.exe"; + var expectedToolCommand = $"{expectedToolExe} {operation}"; + return result.Output.Where(line => line.Contains(expectedToolCommand)); + } + } +} diff --git a/src/test/WixToolsetTest.Sdk/README.md b/src/test/WixToolsetTest.Sdk/README.md new file mode 100644 index 00000000..7faf34b9 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/README.md @@ -0,0 +1,5 @@ +In order to properly test wix.targets, +all of the supported architectures for WixToolset.BuildTasks need to be available in the layout used in the Nuget package. +Making this happen on every build for the solution takes too long, +so this project relies on manually running appveyor.cmd to publish everything before the tests can be run. +appveyor.cmd needs to be ran again every time changes are made in other projects, including the targets themselves. \ No newline at end of file diff --git a/src/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/HeatFileMultipleFilesSameFileName.wixproj b/src/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/HeatFileMultipleFilesSameFileName.wixproj new file mode 100644 index 00000000..7d751319 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/HeatFileMultipleFilesSameFileName.wixproj @@ -0,0 +1,58 @@ + + + + + Debug + x86 + + + + 7fb77005-c6e0-454f-8c2d-0a4a79c918ba + + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + Debug + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + Debug + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + + + + + + + + + + + + true + + + + + TxtProductComponents + INSTALLFOLDER + true + + + JsonProductComponents + INSTALLFOLDER + true + + + + + \ No newline at end of file diff --git a/src/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/MyProgram.json b/src/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/MyProgram.json new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/MyProgram.json @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/MyProgram.txt b/src/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/MyProgram.txt new file mode 100644 index 00000000..5f282702 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/MyProgram.txt @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/Package.wxs b/src/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/Package.wxs new file mode 100644 index 00000000..884da274 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/HeatFileMultipleFilesSameFileName/Package.wxs @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.Sdk/TestData/HeatFilePackage/HeatFilePackage.wixproj b/src/test/WixToolsetTest.Sdk/TestData/HeatFilePackage/HeatFilePackage.wixproj new file mode 100644 index 00000000..3988acaf --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/HeatFilePackage/HeatFilePackage.wixproj @@ -0,0 +1,53 @@ + + + + + Debug + x86 + + + + 7fb77005-c6e0-454f-8c2d-0a4a79c918ba + + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + Debug + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + Debug + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + + + + + + + + + + + + true + + + + + ProductComponents + INSTALLFOLDER + true + + + + + \ No newline at end of file diff --git a/src/test/WixToolsetTest.Sdk/TestData/HeatFilePackage/Package.wxs b/src/test/WixToolsetTest.Sdk/TestData/HeatFilePackage/Package.wxs new file mode 100644 index 00000000..e509c464 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/HeatFilePackage/Package.wxs @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.Sdk/TestData/MergeModule/MergeMsiPackage/MergeMsiPackage.wixproj b/src/test/WixToolsetTest.Sdk/TestData/MergeModule/MergeMsiPackage/MergeMsiPackage.wixproj new file mode 100644 index 00000000..77ee4420 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/MergeModule/MergeMsiPackage/MergeMsiPackage.wixproj @@ -0,0 +1,44 @@ + + + + + Debug + x86 + + + + {B00939D5-7952-4ADF-BEB1-507D227B2FE2} + + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + Debug + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + Debug + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + + + + + + + + + SimpleMergeModule + {9F84998B-7F45-4CB3-8795-915801DBBB74} + + + + + \ No newline at end of file diff --git a/src/test/WixToolsetTest.Sdk/TestData/MergeModule/MergeMsiPackage/Package.wxs b/src/test/WixToolsetTest.Sdk/TestData/MergeModule/MergeMsiPackage/Package.wxs new file mode 100644 index 00000000..1c25e684 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/MergeModule/MergeMsiPackage/Package.wxs @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.Sdk/TestData/MergeModule/SimpleMergeModule/MergeModule.wxs b/src/test/WixToolsetTest.Sdk/TestData/MergeModule/SimpleMergeModule/MergeModule.wxs new file mode 100644 index 00000000..b9ab953a --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/MergeModule/SimpleMergeModule/MergeModule.wxs @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.Sdk/TestData/MergeModule/SimpleMergeModule/SimpleMergeModule.wixproj b/src/test/WixToolsetTest.Sdk/TestData/MergeModule/SimpleMergeModule/SimpleMergeModule.wixproj new file mode 100644 index 00000000..91579790 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/MergeModule/SimpleMergeModule/SimpleMergeModule.wixproj @@ -0,0 +1,42 @@ + + + + + Debug + x86 + Module + + + + {9F84998B-7F45-4CB3-8795-915801DBBB74} + + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + Debug + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + Debug + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/WixToolsetTest.Sdk/TestData/MergeModule/SimpleMergeModule/data/MergeModule.txt b/src/test/WixToolsetTest.Sdk/TestData/MergeModule/SimpleMergeModule/data/MergeModule.txt new file mode 100644 index 00000000..cd0db0e1 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/MergeModule/SimpleMergeModule/data/MergeModule.txt @@ -0,0 +1 @@ +This is test.txt. \ No newline at end of file diff --git a/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/MsiPackage.wixproj b/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/MsiPackage.wixproj new file mode 100644 index 00000000..555addbe --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/MsiPackage.wixproj @@ -0,0 +1,50 @@ + + + + + Debug + x86 + 0.9 + 7fb77005-c6e0-454f-8c2d-0a4a79c918ba + MsiPackage + Package + MsiPackage + MsiPackage + en-US,en;de-DE + + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + Debug + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + Debug + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + + + + + + + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/Package.de-de.wxl b/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/Package.de-de.wxl new file mode 100644 index 00000000..23493ace --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/Package.de-de.wxl @@ -0,0 +1,11 @@ + + + + + + German DowngradeError + German FeatureTitle + + diff --git a/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/Package.en-us.wxl b/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/Package.en-us.wxl new file mode 100644 index 00000000..38c12ac1 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/Package.en-us.wxl @@ -0,0 +1,11 @@ + + + + + + A newer version of [ProductName] is already installed. + MsiPackage + + diff --git a/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/Package.wxs b/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/Package.wxs new file mode 100644 index 00000000..d5a5a40d --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/Package.wxs @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/PackageComponents.wxs b/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/PackageComponents.wxs new file mode 100644 index 00000000..e26c4509 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/PackageComponents.wxs @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/data/test.txt b/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/data/test.txt new file mode 100644 index 00000000..cd0db0e1 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MsiPackage/data/test.txt @@ -0,0 +1 @@ +This is test.txt. \ No newline at end of file diff --git a/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MultiCulturalMsiPackage.sln b/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MultiCulturalMsiPackage.sln new file mode 100644 index 00000000..2c88704e --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/MultiCulturalMsiPackage/MultiCulturalMsiPackage.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26730.8 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "MsiPackage", "MsiPackage\MsiPackage.wixproj", "{7FB77005-C6E0-454F-8C2D-0A4A79C918BA}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x64.ActiveCfg = Debug|x64 + {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x64.Build.0 = Debug|x64 + {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x86.ActiveCfg = Debug|x86 + {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x86.Build.0 = Debug|x86 + {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x64.ActiveCfg = Release|x64 + {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x64.Build.0 = Release|x64 + {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x86.ActiveCfg = Release|x86 + {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {585B0599-4EB5-4AB6-BC66-819CC78B63D5} + EndGlobalSection +EndGlobal diff --git a/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/MsiPackage.wixproj b/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/MsiPackage.wixproj new file mode 100644 index 00000000..18ae08b2 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/MsiPackage.wixproj @@ -0,0 +1,46 @@ + + + + + Debug + x86 + + + + 7fb77005-c6e0-454f-8c2d-0a4a79c918ba + + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + Debug + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + Debug + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/Package.en-us.wxl b/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/Package.en-us.wxl new file mode 100644 index 00000000..38c12ac1 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/Package.en-us.wxl @@ -0,0 +1,11 @@ + + + + + + A newer version of [ProductName] is already installed. + MsiPackage + + diff --git a/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/Package.wxs b/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/Package.wxs new file mode 100644 index 00000000..f7998fff --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/Package.wxs @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/PackageComponents.wxs b/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/PackageComponents.wxs new file mode 100644 index 00000000..ddb95faf --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/PackageComponents.wxs @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/data/test.txt b/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/data/test.txt new file mode 100644 index 00000000..cd0db0e1 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/MsiPackage/data/test.txt @@ -0,0 +1 @@ +This is test.txt. \ No newline at end of file diff --git a/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleBundle/Bundle.wxs b/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleBundle/Bundle.wxs new file mode 100644 index 00000000..6cd04712 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleBundle/Bundle.wxs @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleBundle/SimpleBundle.wixproj b/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleBundle/SimpleBundle.wixproj new file mode 100644 index 00000000..199eb6d9 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleBundle/SimpleBundle.wixproj @@ -0,0 +1,42 @@ + + + + + Debug + x86 + + + + 6670d5c9-bbec-4828-ab60-4a1c0ffeb97d + Bundle + + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + Debug + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + Debug + + + $(Platform) + bin\$(Platform)\$(Configuration)\ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleMsiPackage.sln b/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleMsiPackage.sln new file mode 100644 index 00000000..dd21489d --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/TestData/SimpleMsiPackage/SimpleMsiPackage.sln @@ -0,0 +1,39 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30011.22 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "MsiPackage", "MsiPackage\MsiPackage.wixproj", "{7FB77005-C6E0-454F-8C2D-0A4A79C918BA}" +EndProject +Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "SimpleBundle", "SimpleBundle\SimpleBundle.wixproj", "{6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x64.ActiveCfg = Debug|x64 + {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x64.Build.0 = Debug|x64 + {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x86.ActiveCfg = Debug|x86 + {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Debug|x86.Build.0 = Debug|x86 + {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x64.ActiveCfg = Release|x64 + {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x64.Build.0 = Release|x64 + {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x86.ActiveCfg = Release|x86 + {7FB77005-C6E0-454F-8C2D-0A4A79C918BA}.Release|x86.Build.0 = Release|x86 + {6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}.Debug|x64.ActiveCfg = Debug|x86 + {6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}.Debug|x86.ActiveCfg = Debug|x86 + {6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}.Debug|x86.Build.0 = Debug|x86 + {6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}.Release|x64.ActiveCfg = Release|x86 + {6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}.Release|x86.ActiveCfg = Release|x86 + {6670D5C9-BBEC-4828-AB60-4A1C0FFEB97D}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {585B0599-4EB5-4AB6-BC66-819CC78B63D5} + EndGlobalSection +EndGlobal diff --git a/src/test/WixToolsetTest.Sdk/WixToolsetTest.Sdk.csproj b/src/test/WixToolsetTest.Sdk/WixToolsetTest.Sdk.csproj new file mode 100644 index 00000000..916300af --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/WixToolsetTest.Sdk.csproj @@ -0,0 +1,48 @@ + + + + + + net461 + false + embedded + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.Sdk/WixToolsetTest.Sdk.v3.ncrunchproject b/src/test/WixToolsetTest.Sdk/WixToolsetTest.Sdk.v3.ncrunchproject new file mode 100644 index 00000000..f1d03cd7 --- /dev/null +++ b/src/test/WixToolsetTest.Sdk/WixToolsetTest.Sdk.v3.ncrunchproject @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file -- cgit v1.2.3-55-g6feb