diff options
| author | Rob Mensching <rob@firegiant.com> | 2023-04-04 13:17:10 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2023-04-04 16:22:59 -0700 |
| commit | 6f3997198d894d60afce07bd6a68bcad5fd20ba0 (patch) | |
| tree | 5fe235ed37e28f3e4da52bd80ce16990b41d775e /src | |
| parent | 251265cd325be7f2f311273a1759ca05bf07b187 (diff) | |
| download | wix-6f3997198d894d60afce07bd6a68bcad5fd20ba0.tar.gz wix-6f3997198d894d60afce07bd6a68bcad5fd20ba0.tar.bz2 wix-6f3997198d894d60afce07bd6a68bcad5fd20ba0.zip | |
Fix build of outputs with comma in their filename
Fixes 7343
Diffstat (limited to 'src')
4 files changed, 58 insertions, 1 deletions
diff --git a/src/wix/WixToolset.Sdk/tools/wix.targets b/src/wix/WixToolset.Sdk/tools/wix.targets index 2b24215d..0decbbeb 100644 --- a/src/wix/WixToolset.Sdk/tools/wix.targets +++ b/src/wix/WixToolset.Sdk/tools/wix.targets | |||
| @@ -904,7 +904,7 @@ | |||
| 904 | </ReadTracking> | 904 | </ReadTracking> |
| 905 | 905 | ||
| 906 | <ItemGroup> | 906 | <ItemGroup> |
| 907 | <_RelativePath Include="$([MSBuild]::MakeRelative($(FullIntermediateOutputPath), %(_FullPathToCopy.FullPath)))" /> | 907 | <_RelativePath Include="$([MSBuild]::MakeRelative("$(FullIntermediateOutputPath)", "%(_FullPathToCopy.FullPath)"))" /> |
| 908 | </ItemGroup> | 908 | </ItemGroup> |
| 909 | 909 | ||
| 910 | <Copy | 910 | <Copy |
diff --git a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs index 85774bfd..5d2d1b2c 100644 --- a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs +++ b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs | |||
| @@ -818,6 +818,40 @@ namespace WixToolsetTest.Sdk | |||
| 818 | } | 818 | } |
| 819 | } | 819 | } |
| 820 | 820 | ||
| 821 | [Theory] | ||
| 822 | [InlineData(BuildSystem.DotNetCoreSdk)] | ||
| 823 | [InlineData(BuildSystem.MSBuild)] | ||
| 824 | [InlineData(BuildSystem.MSBuild64)] | ||
| 825 | public void CanBuildPackageWithComma(BuildSystem buildSystem) | ||
| 826 | { | ||
| 827 | var sourceFolder = TestData.Get(@"TestData", "PackageWith,Comma"); | ||
| 828 | |||
| 829 | using (var fs = new TestDataFolderFileSystem()) | ||
| 830 | { | ||
| 831 | fs.Initialize(sourceFolder); | ||
| 832 | var baseFolder = fs.BaseFolder; | ||
| 833 | var binFolder = Path.Combine(baseFolder, @"bin\"); | ||
| 834 | var projectPath = Path.Combine(baseFolder, "PackageWith,Comma.wixproj"); | ||
| 835 | |||
| 836 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] | ||
| 837 | { | ||
| 838 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), | ||
| 839 | }); | ||
| 840 | result.AssertSuccess(); | ||
| 841 | |||
| 842 | var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) | ||
| 843 | .Select(s => s.Substring(baseFolder.Length + 1)) | ||
| 844 | .OrderBy(s => s) | ||
| 845 | .ToArray(); | ||
| 846 | WixAssert.CompareLineByLine(new[] | ||
| 847 | { | ||
| 848 | @"bin\Release\cab1.cab", | ||
| 849 | @"bin\Release\PackageWith,Comma.msi", | ||
| 850 | @"bin\Release\PackageWith,Comma.wixpdb", | ||
| 851 | }, paths); | ||
| 852 | } | ||
| 853 | } | ||
| 854 | |||
| 821 | [Theory(Skip = "Depends on creating broken publish which is not supported at this time")] | 855 | [Theory(Skip = "Depends on creating broken publish which is not supported at this time")] |
| 822 | [InlineData(BuildSystem.DotNetCoreSdk)] | 856 | [InlineData(BuildSystem.DotNetCoreSdk)] |
| 823 | [InlineData(BuildSystem.MSBuild)] | 857 | [InlineData(BuildSystem.MSBuild)] |
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/PackageWith,Comma/Package.wxs b/src/wix/test/WixToolsetTest.Sdk/TestData/PackageWith,Comma/Package.wxs new file mode 100644 index 00000000..dcaa7e28 --- /dev/null +++ b/src/wix/test/WixToolsetTest.Sdk/TestData/PackageWith,Comma/Package.wxs | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
| 2 | <Package Name="Package With Comma" Version="1" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a"> | ||
| 3 | <MajorUpgrade DowngradeErrorMessage="Downgrade message" /> | ||
| 4 | |||
| 5 | <Feature Id="ProductFeature"> | ||
| 6 | <Component Directory="INSTALLFOLDER"> | ||
| 7 | <File Source="Package.wxs" /> | ||
| 8 | </Component> | ||
| 9 | </Feature> | ||
| 10 | </Package> | ||
| 11 | |||
| 12 | <Fragment> | ||
| 13 | <StandardDirectory Id="ProgramFiles6432Folder"> | ||
| 14 | <Directory Id="INSTALLFOLDER" Name="MsiPackage" /> | ||
| 15 | </StandardDirectory> | ||
| 16 | </Fragment> | ||
| 17 | </Wix> | ||
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/PackageWith,Comma/PackageWith,Comma.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/PackageWith,Comma/PackageWith,Comma.wixproj new file mode 100644 index 00000000..1feeef43 --- /dev/null +++ b/src/wix/test/WixToolsetTest.Sdk/TestData/PackageWith,Comma/PackageWith,Comma.wixproj | |||
| @@ -0,0 +1,6 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | ||
| 2 | <Project DefaultTargets="Build"> | ||
| 3 | <Import Project="$(WixMSBuildProps)" /> | ||
| 4 | |||
| 5 | <Import Project="$(WixTargetsPath)" /> | ||
| 6 | </Project> | ||
