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> | ||