diff options
| author | Rob Mensching <rob@firegiant.com> | 2022-08-24 14:38:30 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2022-08-25 07:54:51 -0700 |
| commit | 3ba9b06b2ab5b67e53354134323e6551addb96b8 (patch) | |
| tree | 9657fe01ca461c544b3ec6e90eb4e39ddbfa7981 | |
| parent | 42964da2a12df3b6e7d658a8037f17be003b1947 (diff) | |
| download | wix-3ba9b06b2ab5b67e53354134323e6551addb96b8.tar.gz wix-3ba9b06b2ab5b67e53354134323e6551addb96b8.tar.bz2 wix-3ba9b06b2ab5b67e53354134323e6551addb96b8.zip | |
Allow customization of the .wixpdb output folder
Fixes 6857
18 files changed, 303 insertions, 37 deletions
diff --git a/src/api/wix/WixToolset.Extensibility/Data/TrackedFileType.cs b/src/api/wix/WixToolset.Extensibility/Data/TrackedFileType.cs index 904a990f..40abd590 100644 --- a/src/api/wix/WixToolset.Extensibility/Data/TrackedFileType.cs +++ b/src/api/wix/WixToolset.Extensibility/Data/TrackedFileType.cs | |||
| @@ -25,10 +25,22 @@ namespace WixToolset.Extensibility.Data | |||
| 25 | Intermediate, | 25 | Intermediate, |
| 26 | 26 | ||
| 27 | /// <summary> | 27 | /// <summary> |
| 28 | /// Output created by the build process itself (like a .msi, .cab or .wixpdb). | 28 | /// Output created by the build process itself (like a .cab). |
| 29 | /// These files can be recreated in the final output location by building again. | 29 | /// These files can be recreated in the final output location by building again. |
| 30 | /// </summary> | 30 | /// </summary> |
| 31 | BuiltOutput, | 31 | BuiltContentOutput, |
| 32 | |||
| 33 | /// <summary> | ||
| 34 | /// Target output created by the build process itself (like a .msi, .msm, .wixlib, .exe). | ||
| 35 | /// These files can be recreated in the final output location by building again. | ||
| 36 | /// </summary> | ||
| 37 | BuiltTargetOutput, | ||
| 38 | |||
| 39 | /// <summary> | ||
| 40 | /// Output pdb created by the build process itself (like a .wixpdb). | ||
| 41 | /// These files can be recreated in the final output location by building again. | ||
| 42 | /// </summary> | ||
| 43 | BuiltPdbOutput, | ||
| 32 | 44 | ||
| 33 | /// <summary> | 45 | /// <summary> |
| 34 | /// Output copied by the build process (like external files in an .msi). | 46 | /// Output copied by the build process (like external files in an .msi). |
diff --git a/src/ext/Bal/bal.cmd b/src/ext/Bal/bal.cmd index 060f8ee0..8d573941 100644 --- a/src/ext/Bal/bal.cmd +++ b/src/ext/Bal/bal.cmd | |||
| @@ -18,7 +18,7 @@ msbuild -p:Configuration=%_C%;Platform=x86 test\examples\TestEngine\Example.Test | |||
| 18 | msbuild -p:Configuration=%_C%;Platform=x64 test\examples\TestEngine\Example.TestEngine.vcxproj || exit /b | 18 | msbuild -p:Configuration=%_C%;Platform=x64 test\examples\TestEngine\Example.TestEngine.vcxproj || exit /b |
| 19 | msbuild -p:Configuration=%_C%;Platform=ARM64 test\examples\TestEngine\Example.TestEngine.vcxproj || exit /b | 19 | msbuild -p:Configuration=%_C%;Platform=ARM64 test\examples\TestEngine\Example.TestEngine.vcxproj || exit /b |
| 20 | 20 | ||
| 21 | msbuild -p:Configuration=%_C% || exit /b | 21 | msbuild -p:Configuration=%_C% -bl:%_L%\bal_build.binlog || exit /b |
| 22 | 22 | ||
| 23 | dotnet test test\WixToolsetTest.Dnc.HostGenerator -c %_C% --nologo --no-build -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Dnc.HostGenerator.trx" || exit /b | 23 | dotnet test test\WixToolsetTest.Dnc.HostGenerator -c %_C% --nologo --no-build -l "trx;LogFileName=%_L%\TestResults\WixToolsetTest.Dnc.HostGenerator.trx" || exit /b |
| 24 | 24 | ||
diff --git a/src/wix/WixToolset.BuildTasks/ReadTracking.cs b/src/wix/WixToolset.BuildTasks/ReadTracking.cs index 1ce039f6..f92baaf1 100644 --- a/src/wix/WixToolset.BuildTasks/ReadTracking.cs +++ b/src/wix/WixToolset.BuildTasks/ReadTracking.cs | |||
| @@ -29,12 +29,30 @@ namespace WixToolset.BuildTasks | |||
| 29 | public ITaskItem[] All { get; private set; } | 29 | public ITaskItem[] All { get; private set; } |
| 30 | 30 | ||
| 31 | /// <summary> | 31 | /// <summary> |
| 32 | /// The tracked built outputs. | 32 | /// The union of tracked built outputs. |
| 33 | /// </summary> | 33 | /// </summary> |
| 34 | [Output] | 34 | [Output] |
| 35 | public ITaskItem[] BuiltOutputs { get; private set; } | 35 | public ITaskItem[] BuiltOutputs { get; private set; } |
| 36 | 36 | ||
| 37 | /// <summary> | 37 | /// <summary> |
| 38 | /// The tracked content built outputs. | ||
| 39 | /// </summary> | ||
| 40 | [Output] | ||
| 41 | public ITaskItem[] BuiltContentOutputs { get; private set; } | ||
| 42 | |||
| 43 | /// <summary> | ||
| 44 | /// The tracked target built outputs. | ||
| 45 | /// </summary> | ||
| 46 | [Output] | ||
| 47 | public ITaskItem[] BuiltTargetOutputs { get; private set; } | ||
| 48 | |||
| 49 | /// <summary> | ||
| 50 | /// The tracked pdb built outputs. | ||
| 51 | /// </summary> | ||
| 52 | [Output] | ||
| 53 | public ITaskItem[] BuiltPdbOutputs { get; private set; } | ||
| 54 | |||
| 55 | /// <summary> | ||
| 38 | /// The tracked copied outputs. | 56 | /// The tracked copied outputs. |
| 39 | /// </summary> | 57 | /// </summary> |
| 40 | [Output] | 58 | [Output] |
| @@ -47,7 +65,7 @@ namespace WixToolset.BuildTasks | |||
| 47 | public ITaskItem[] Inputs { get; private set; } | 65 | public ITaskItem[] Inputs { get; private set; } |
| 48 | 66 | ||
| 49 | /// <summary> | 67 | /// <summary> |
| 50 | /// All tracked outputs. | 68 | /// The union of all tracked outputs. |
| 51 | /// </summary> | 69 | /// </summary> |
| 52 | [Output] | 70 | [Output] |
| 53 | public ITaskItem[] Outputs { get; private set; } | 71 | public ITaskItem[] Outputs { get; private set; } |
| @@ -81,10 +99,14 @@ namespace WixToolset.BuildTasks | |||
| 81 | } | 99 | } |
| 82 | 100 | ||
| 83 | this.All = all.ToArray(); | 101 | this.All = all.ToArray(); |
| 84 | this.BuiltOutputs = all.Where(t => FilterByTrackedType(t, "BuiltOutput")).ToArray(); | 102 | this.BuiltContentOutputs = all.Where(t => FilterByTrackedType(t, "BuiltContentOutput")).ToArray(); |
| 103 | this.BuiltTargetOutputs = all.Where(t => FilterByTrackedType(t, "BuiltTargetOutput")).ToArray(); | ||
| 104 | this.BuiltPdbOutputs = all.Where(t => FilterByTrackedType(t, "BuiltPdbOutput")).ToArray(); | ||
| 85 | this.CopiedOutputs = all.Where(t => FilterByTrackedType(t, "CopiedOutput")).ToArray(); | 105 | this.CopiedOutputs = all.Where(t => FilterByTrackedType(t, "CopiedOutput")).ToArray(); |
| 86 | this.Inputs = all.Where(t => FilterByTrackedType(t, "Input")).ToArray(); | 106 | this.Inputs = all.Where(t => FilterByTrackedType(t, "Input")).ToArray(); |
| 87 | this.Outputs = all.Where(t => FilterByTrackedType(t, "BuiltOutput") || FilterByTrackedType(t, "CopiedOutput")).ToArray(); | 107 | |
| 108 | this.BuiltOutputs = this.BuiltContentOutputs.Concat(this.BuiltTargetOutputs).Concat(this.BuiltPdbOutputs).ToArray(); | ||
| 109 | this.Outputs = this.BuiltOutputs.Concat(this.CopiedOutputs).ToArray(); | ||
| 88 | 110 | ||
| 89 | return true; | 111 | return true; |
| 90 | } | 112 | } |
diff --git a/src/wix/WixToolset.Core.Burn/Bind/BindBundleCommand.cs b/src/wix/WixToolset.Core.Burn/Bind/BindBundleCommand.cs index 75a080a8..cd0590d0 100644 --- a/src/wix/WixToolset.Core.Burn/Bind/BindBundleCommand.cs +++ b/src/wix/WixToolset.Core.Burn/Bind/BindBundleCommand.cs | |||
| @@ -505,7 +505,7 @@ namespace WixToolset.Core.Burn | |||
| 505 | command.Execute(); | 505 | command.Execute(); |
| 506 | 506 | ||
| 507 | fileTransfers.Add(command.Transfer); | 507 | fileTransfers.Add(command.Transfer); |
| 508 | trackedFiles.Add(this.BackendHelper.TrackFile(this.OutputPath, TrackedFileType.BuiltOutput)); | 508 | trackedFiles.Add(this.BackendHelper.TrackFile(this.OutputPath, TrackedFileType.BuiltTargetOutput)); |
| 509 | } | 509 | } |
| 510 | 510 | ||
| 511 | #if TODO // does this need to come back, or do they only need to be in TrackedFiles? | 511 | #if TODO // does this need to come back, or do they only need to be in TrackedFiles? |
| @@ -577,7 +577,7 @@ namespace WixToolset.Core.Burn | |||
| 577 | } | 577 | } |
| 578 | else | 578 | else |
| 579 | { | 579 | { |
| 580 | var trackPdb = this.BackendHelper.TrackFile(this.OutputPdbPath, TrackedFileType.BuiltOutput); | 580 | var trackPdb = this.BackendHelper.TrackFile(this.OutputPdbPath, TrackedFileType.BuiltPdbOutput); |
| 581 | trackedFiles.Add(trackPdb); | 581 | trackedFiles.Add(trackPdb); |
| 582 | 582 | ||
| 583 | wixout = WixOutput.Create(trackPdb.Path); | 583 | wixout = WixOutput.Create(trackPdb.Path); |
diff --git a/src/wix/WixToolset.Core.Burn/Bundles/CreateNonUXContainers.cs b/src/wix/WixToolset.Core.Burn/Bundles/CreateNonUXContainers.cs index e606fe59..2df07dd6 100644 --- a/src/wix/WixToolset.Core.Burn/Bundles/CreateNonUXContainers.cs +++ b/src/wix/WixToolset.Core.Burn/Bundles/CreateNonUXContainers.cs | |||
| @@ -108,7 +108,7 @@ namespace WixToolset.Core.Burn.Bundles | |||
| 108 | var transfer = this.BackendHelper.CreateFileTransfer(container.WorkingPath, outputPath, true, container.SourceLineNumbers); | 108 | var transfer = this.BackendHelper.CreateFileTransfer(container.WorkingPath, outputPath, true, container.SourceLineNumbers); |
| 109 | fileTransfers.Add(transfer); | 109 | fileTransfers.Add(transfer); |
| 110 | 110 | ||
| 111 | trackedFiles.Add(this.BackendHelper.TrackFile(outputPath, TrackedFileType.BuiltOutput, container.SourceLineNumbers)); | 111 | trackedFiles.Add(this.BackendHelper.TrackFile(outputPath, TrackedFileType.BuiltContentOutput, container.SourceLineNumbers)); |
| 112 | } | 112 | } |
| 113 | else // update the attached container index. | 113 | else // update the attached container index. |
| 114 | { | 114 | { |
diff --git a/src/wix/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs b/src/wix/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs index ef8dec38..b849aea5 100644 --- a/src/wix/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs +++ b/src/wix/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs | |||
| @@ -471,7 +471,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 471 | { | 471 | { |
| 472 | this.Messaging.Write(VerboseMessages.GeneratingDatabase()); | 472 | this.Messaging.Write(VerboseMessages.GeneratingDatabase()); |
| 473 | 473 | ||
| 474 | var trackMsi = this.WindowsInstallerBackendHelper.TrackFile(this.OutputPath, TrackedFileType.BuiltOutput); | 474 | var trackMsi = this.WindowsInstallerBackendHelper.TrackFile(this.OutputPath, TrackedFileType.BuiltTargetOutput); |
| 475 | trackedFiles.Add(trackMsi); | 475 | trackedFiles.Add(trackMsi); |
| 476 | 476 | ||
| 477 | var command = new GenerateDatabaseCommand(this.Messaging, this.WindowsInstallerBackendHelper, this.FileSystemManager, data, trackMsi.Path, tableDefinitions, this.IntermediateFolder, keepAddedColumns: false, this.SuppressAddingValidationRows, useSubdirectory: false); | 477 | var command = new GenerateDatabaseCommand(this.Messaging, this.WindowsInstallerBackendHelper, this.FileSystemManager, data, trackMsi.Path, tableDefinitions, this.IntermediateFolder, keepAddedColumns: false, this.SuppressAddingValidationRows, useSubdirectory: false); |
| @@ -601,7 +601,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 601 | } | 601 | } |
| 602 | else | 602 | else |
| 603 | { | 603 | { |
| 604 | var trackPdb = this.WindowsInstallerBackendHelper.TrackFile(this.OutputPdbPath, TrackedFileType.BuiltOutput); | 604 | var trackPdb = this.WindowsInstallerBackendHelper.TrackFile(this.OutputPdbPath, TrackedFileType.BuiltPdbOutput); |
| 605 | trackedFiles.Add(trackPdb); | 605 | trackedFiles.Add(trackPdb); |
| 606 | 606 | ||
| 607 | wixout = WixOutput.Create(trackPdb.Path); | 607 | wixout = WixOutput.Create(trackPdb.Path); |
diff --git a/src/wix/WixToolset.Core.WindowsInstaller/Bind/CreateCabinetsCommand.cs b/src/wix/WixToolset.Core.WindowsInstaller/Bind/CreateCabinetsCommand.cs index 31198837..6ed107d5 100644 --- a/src/wix/WixToolset.Core.WindowsInstaller/Bind/CreateCabinetsCommand.cs +++ b/src/wix/WixToolset.Core.WindowsInstaller/Bind/CreateCabinetsCommand.cs | |||
| @@ -206,7 +206,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 206 | } | 206 | } |
| 207 | else | 207 | else |
| 208 | { | 208 | { |
| 209 | var trackDestination = this.BackendHelper.TrackFile(Path.Combine(cabinetDir, mediaSymbol.Cabinet), TrackedFileType.BuiltOutput, mediaSymbol.SourceLineNumbers); | 209 | var trackDestination = this.BackendHelper.TrackFile(Path.Combine(cabinetDir, mediaSymbol.Cabinet), TrackedFileType.BuiltContentOutput, mediaSymbol.SourceLineNumbers); |
| 210 | this.trackedFiles.Add(trackDestination); | 210 | this.trackedFiles.Add(trackDestination); |
| 211 | 211 | ||
| 212 | var transfer = this.BackendHelper.CreateFileTransfer(resolvedCabinet.Path, trackDestination.Path, resolvedCabinet.BuildOption == CabinetBuildOption.BuildAndMove, mediaSymbol.SourceLineNumbers); | 212 | var transfer = this.BackendHelper.CreateFileTransfer(resolvedCabinet.Path, trackDestination.Path, resolvedCabinet.BuildOption == CabinetBuildOption.BuildAndMove, mediaSymbol.SourceLineNumbers); |
| @@ -314,7 +314,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 314 | var trackSource = this.BackendHelper.TrackFile(spannedCabinetSourcePath, TrackedFileType.Intermediate, transfer.SourceLineNumbers); | 314 | var trackSource = this.BackendHelper.TrackFile(spannedCabinetSourcePath, TrackedFileType.Intermediate, transfer.SourceLineNumbers); |
| 315 | this.trackedFiles.Add(trackSource); | 315 | this.trackedFiles.Add(trackSource); |
| 316 | 316 | ||
| 317 | var trackTarget = this.BackendHelper.TrackFile(spannedCabinetTargetPath, TrackedFileType.BuiltOutput, transfer.SourceLineNumbers); | 317 | var trackTarget = this.BackendHelper.TrackFile(spannedCabinetTargetPath, TrackedFileType.BuiltContentOutput, transfer.SourceLineNumbers); |
| 318 | this.trackedFiles.Add(trackTarget); | 318 | this.trackedFiles.Add(trackTarget); |
| 319 | 319 | ||
| 320 | var newTransfer = this.BackendHelper.CreateFileTransfer(trackSource.Path, trackTarget.Path, transfer.Move, transfer.SourceLineNumbers); | 320 | var newTransfer = this.BackendHelper.CreateFileTransfer(trackSource.Path, trackTarget.Path, transfer.Move, transfer.SourceLineNumbers); |
diff --git a/src/wix/WixToolset.Core.WindowsInstaller/Bind/ProcessUncompressedFilesCommand.cs b/src/wix/WixToolset.Core.WindowsInstaller/Bind/ProcessUncompressedFilesCommand.cs index 6662f8f7..26b69afb 100644 --- a/src/wix/WixToolset.Core.WindowsInstaller/Bind/ProcessUncompressedFilesCommand.cs +++ b/src/wix/WixToolset.Core.WindowsInstaller/Bind/ProcessUncompressedFilesCommand.cs | |||
| @@ -112,12 +112,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 112 | var transfer = this.BackendHelper.CreateFileTransfer(facade.SourcePath, fileLayoutPath, false, facade.SourceLineNumber); | 112 | var transfer = this.BackendHelper.CreateFileTransfer(facade.SourcePath, fileLayoutPath, false, facade.SourceLineNumber); |
| 113 | fileTransfers.Add(transfer); | 113 | fileTransfers.Add(transfer); |
| 114 | 114 | ||
| 115 | // Track the location where the cabinet will be placed. If the transfer is | 115 | var tracked = this.BackendHelper.TrackFile(transfer.Destination, TrackedFileType.CopiedOutput, facade.SourceLineNumber); |
| 116 | // redundant then then the file should not be cleaned. This is important | 116 | |
| 117 | // because if the source and destination of the transfer is the same, we | ||
| 118 | // don't want to clean the file because we'd be deleting the original | ||
| 119 | // (and that would be bad). | ||
| 120 | var tracked = this.BackendHelper.TrackFile(transfer.Destination, TrackedFileType.BuiltOutput, facade.SourceLineNumber); | ||
| 121 | tracked.Clean = !transfer.Redundant; | 117 | tracked.Clean = !transfer.Redundant; |
| 122 | 118 | ||
| 123 | trackedFiles.Add(tracked); | 119 | trackedFiles.Add(tracked); |
diff --git a/src/wix/WixToolset.Core/ExtensibilityServices/TrackedFile.cs b/src/wix/WixToolset.Core/ExtensibilityServices/TrackedFile.cs index 570fb029..c9966bce 100644 --- a/src/wix/WixToolset.Core/ExtensibilityServices/TrackedFile.cs +++ b/src/wix/WixToolset.Core/ExtensibilityServices/TrackedFile.cs | |||
| @@ -12,7 +12,7 @@ namespace WixToolset.Core.ExtensibilityServices | |||
| 12 | this.Path = path; | 12 | this.Path = path; |
| 13 | this.Type = type; | 13 | this.Type = type; |
| 14 | this.SourceLineNumbers = sourceLineNumbers; | 14 | this.SourceLineNumbers = sourceLineNumbers; |
| 15 | this.Clean = (type == TrackedFileType.Intermediate || type == TrackedFileType.BuiltOutput || type == TrackedFileType.CopiedOutput); | 15 | this.Clean = (type == TrackedFileType.Intermediate || type == TrackedFileType.BuiltContentOutput || type == TrackedFileType.BuiltTargetOutput || type == TrackedFileType.BuiltPdbOutput || type == TrackedFileType.CopiedOutput); |
| 16 | } | 16 | } |
| 17 | 17 | ||
| 18 | public bool Clean { get; set; } | 18 | public bool Clean { get; set; } |
diff --git a/src/wix/WixToolset.Sdk/tools/wix.targets b/src/wix/WixToolset.Sdk/tools/wix.targets index 521b2d17..ccc7eab9 100644 --- a/src/wix/WixToolset.Sdk/tools/wix.targets +++ b/src/wix/WixToolset.Sdk/tools/wix.targets | |||
| @@ -71,7 +71,8 @@ | |||
| 71 | <!-- Default OutputType to a known WiX Toolset type. --> | 71 | <!-- Default OutputType to a known WiX Toolset type. --> |
| 72 | <OutputType Condition=" '$(OutputType)' == '' ">Package</OutputType> | 72 | <OutputType Condition=" '$(OutputType)' == '' ">Package</OutputType> |
| 73 | 73 | ||
| 74 | <WixPdbType Condition=" '$(WixPdbType)' == '' ">full</WixPdbType> | 74 | <DebugType Condition=" '$(SuppressPdbOutput)' == 'true' ">none</DebugType> |
| 75 | <DebugType Condition=" '$(DebugType)' == '' ">full</DebugType> | ||
| 75 | </PropertyGroup> | 76 | </PropertyGroup> |
| 76 | 77 | ||
| 77 | <PropertyGroup> | 78 | <PropertyGroup> |
| @@ -114,6 +115,13 @@ | |||
| 114 | </PropertyGroup> | 115 | </PropertyGroup> |
| 115 | 116 | ||
| 116 | <PropertyGroup> | 117 | <PropertyGroup> |
| 118 | <!-- | ||
| 119 | Only Package, Module and Bundle output types create .wixpdbs, so reset the flag indicating symbols will be produced outside of those output types. | ||
| 120 | --> | ||
| 121 | <_DebugSymbolsProduced Condition=" '$(OutputType)' != 'Package' and '$(OutputType)' != 'Module' and '$(OutputType)' != 'Bundle' ">false</_DebugSymbolsProduced> | ||
| 122 | </PropertyGroup> | ||
| 123 | |||
| 124 | <PropertyGroup> | ||
| 117 | <!-- Default pdb output path to the intermediate output directory --> | 125 | <!-- Default pdb output path to the intermediate output directory --> |
| 118 | <PdbOutputDir Condition=" '$(PdbOutputDir)'=='' ">$(TargetDir)</PdbOutputDir> | 126 | <PdbOutputDir Condition=" '$(PdbOutputDir)'=='' ">$(TargetDir)</PdbOutputDir> |
| 119 | <TargetPdbDir Condition=" '$(PdbOutputDir)'!='' ">$([MSBuild]::NormalizeDirectory($(MSBuildProjectDirectory), $(PdbOutputDir)))</TargetPdbDir> | 127 | <TargetPdbDir Condition=" '$(PdbOutputDir)'!='' ">$([MSBuild]::NormalizeDirectory($(MSBuildProjectDirectory), $(PdbOutputDir)))</TargetPdbDir> |
| @@ -625,7 +633,7 @@ | |||
| 625 | OutputFile="$(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(TargetFileName)" | 633 | OutputFile="$(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(TargetFileName)" |
| 626 | OutputType="$(OutputType)" | 634 | OutputType="$(OutputType)" |
| 627 | PdbFile="$(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(TargetPdbFileName)" | 635 | PdbFile="$(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(TargetPdbFileName)" |
| 628 | PdbType="$(WixPdbType)" | 636 | PdbType="$(DebugType)" |
| 629 | 637 | ||
| 630 | AdditionalOptions="$(CompilerAdditionalOptions) $(LinkerAdditionalOptions)" | 638 | AdditionalOptions="$(CompilerAdditionalOptions) $(LinkerAdditionalOptions)" |
| 631 | DefineConstants="$(DefineConstants);$(SolutionDefineConstants);$(ProjectDefineConstants);$(ProjectReferenceDefineConstants)" | 639 | DefineConstants="$(DefineConstants);$(SolutionDefineConstants);$(ProjectDefineConstants);$(ProjectReferenceDefineConstants)" |
| @@ -887,7 +895,7 @@ | |||
| 887 | 895 | ||
| 888 | <!-- Include build output pdb(s). Different than predefined itemgroup since AssignTargetPaths target may change --> | 896 | <!-- Include build output pdb(s). Different than predefined itemgroup since AssignTargetPaths target may change --> |
| 889 | <ItemGroup> | 897 | <ItemGroup> |
| 890 | <DebugSymbolsProjectOutputGroupOutput Include="$(TargetPdbPath)" Condition=" '$(SuppressPdbOutput)' != 'true' "/> | 898 | <DebugSymbolsProjectOutputGroupOutput Include="$(TargetPdbPath)" Condition=" '$(DebugType)' != 'none' "/> |
| 891 | </ItemGroup> | 899 | </ItemGroup> |
| 892 | </Target> | 900 | </Target> |
| 893 | 901 | ||
| @@ -922,13 +930,18 @@ | |||
| 922 | <FullIntermediateOutputPath>$([MSBuild]::NormalizeDirectory($(IntermediateOutputPath)))</FullIntermediateOutputPath> | 930 | <FullIntermediateOutputPath>$([MSBuild]::NormalizeDirectory($(IntermediateOutputPath)))</FullIntermediateOutputPath> |
| 923 | </PropertyGroup> | 931 | </PropertyGroup> |
| 924 | 932 | ||
| 925 | <!-- Copy the bound output files. --> | 933 | <!-- Add the target output to the list to be copied. --> |
| 934 | <ItemGroup> | ||
| 935 | <_FullPathToCopy Include="$(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(TargetFileName)" /> | ||
| 936 | </ItemGroup> | ||
| 937 | |||
| 938 | <!-- Add the bound content output files to the list to be copied. --> | ||
| 926 | <ReadTracking File="$(IntermediateOutputPath)$(BindTrackingFilePrefix)%(CultureGroup.Identity)$(BindTrackingFileExtension)"> | 939 | <ReadTracking File="$(IntermediateOutputPath)$(BindTrackingFilePrefix)%(CultureGroup.Identity)$(BindTrackingFileExtension)"> |
| 927 | <Output TaskParameter="Outputs" ItemName="_FullPathToCopy" /> | 940 | <Output TaskParameter="BuiltContentOutputs" ItemName="_FullPathToCopy" /> |
| 941 | <Output TaskParameter="CopiedOutputs" ItemName="_FullPathToCopy" /> | ||
| 928 | </ReadTracking> | 942 | </ReadTracking> |
| 929 | 943 | ||
| 930 | <ItemGroup> | 944 | <ItemGroup> |
| 931 | <_FullPathToCopy Include="$(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(TargetFileName)" Condition=" '@(_FullPathToCopy)'=='' " /> | ||
| 932 | <_RelativePath Include="$([MSBuild]::MakeRelative($(FullIntermediateOutputPath), %(_FullPathToCopy.FullPath)))" /> | 945 | <_RelativePath Include="$([MSBuild]::MakeRelative($(FullIntermediateOutputPath), %(_FullPathToCopy.FullPath)))" /> |
| 933 | </ItemGroup> | 946 | </ItemGroup> |
| 934 | 947 | ||
| @@ -950,10 +963,10 @@ | |||
| 950 | 963 | ||
| 951 | <Message Importance="High" Text="$(MSBuildProjectName) -> $(TargetPath)" Condition="'$(CopyBuildOutputToOutputDirectory)' == 'true' and '$(SkipCopyBuildProduct)'!='true'" /> | 964 | <Message Importance="High" Text="$(MSBuildProjectName) -> $(TargetPath)" Condition="'$(CopyBuildOutputToOutputDirectory)' == 'true' and '$(SkipCopyBuildProduct)'!='true'" /> |
| 952 | 965 | ||
| 953 | <!-- Copy the debug information file (.pdb), if any | 966 | <!-- Copy the debug information file (.wixpdb), if any --> |
| 954 | <Copy | 967 | <Copy |
| 955 | SourceFiles="@(_DebugSymbolsIntermediatePath)" | 968 | SourceFiles="$(IntermediateOutputPath)%(CultureGroup.OutputFolder)$(TargetPdbFileName)" |
| 956 | DestinationFiles="@(_DebugSymbolsOutputPath)" | 969 | DestinationFiles="$(TargetPdbDir)%(CultureGroup.OutputFolder)$(TargetPdbFileName)" |
| 957 | SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" | 970 | SkipUnchangedFiles="$(SkipCopyUnchangedFiles)" |
| 958 | OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" | 971 | OverwriteReadOnlyFiles="$(OverwriteReadOnlyFiles)" |
| 959 | Retries="$(CopyRetryCount)" | 972 | Retries="$(CopyRetryCount)" |
| @@ -964,7 +977,6 @@ | |||
| 964 | <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/> | 977 | <Output TaskParameter="DestinationFiles" ItemName="FileWrites"/> |
| 965 | 978 | ||
| 966 | </Copy> | 979 | </Copy> |
| 967 | --> | ||
| 968 | </Target> | 980 | </Target> |
| 969 | 981 | ||
| 970 | <Import Project="$(WixSigningTargetsPath)" /> | 982 | <Import Project="$(WixSigningTargetsPath)" /> |
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/BundleFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/BundleFixture.cs index 8b65e4aa..a5232f83 100644 --- a/src/wix/test/WixToolsetTest.CoreIntegration/BundleFixture.cs +++ b/src/wix/test/WixToolsetTest.CoreIntegration/BundleFixture.cs | |||
| @@ -497,11 +497,13 @@ namespace WixToolsetTest.CoreIntegration | |||
| 497 | Assert.True(File.Exists(exePath)); | 497 | Assert.True(File.Exists(exePath)); |
| 498 | Assert.True(File.Exists(Path.Combine(Path.GetDirectoryName(exePath), "test.txt"))); | 498 | Assert.True(File.Exists(Path.Combine(Path.GetDirectoryName(exePath), "test.txt"))); |
| 499 | 499 | ||
| 500 | var trackedLines = File.ReadAllLines(trackingFile).Select(s => s.Replace(baseFolder, null, StringComparison.OrdinalIgnoreCase).Replace(folder, null, StringComparison.OrdinalIgnoreCase)).ToArray(); | 500 | var trackedLines = File.ReadAllLines(trackingFile).Select(s => s.Replace(baseFolder, null, StringComparison.OrdinalIgnoreCase).Replace(folder, null, StringComparison.OrdinalIgnoreCase)) |
| 501 | .OrderBy(s => s) | ||
| 502 | .ToArray(); | ||
| 501 | WixAssert.CompareLineByLine(new[] | 503 | WixAssert.CompareLineByLine(new[] |
| 502 | { | 504 | { |
| 503 | "BuiltOutput\tbin\\test.exe", | 505 | "BuiltPdbOutput\tbin\\test.wixpdb", |
| 504 | "BuiltOutput\tbin\\test.wixpdb", | 506 | "BuiltTargetOutput\tbin\\test.exe", |
| 505 | "CopiedOutput\tbin\\test.txt", | 507 | "CopiedOutput\tbin\\test.txt", |
| 506 | "Input\tSimpleBundle\\data\\fakeba.dll", | 508 | "Input\tSimpleBundle\\data\\fakeba.dll", |
| 507 | "Input\tSimpleBundle\\data\\MsiPackage\\test.txt" | 509 | "Input\tSimpleBundle\\data\\MsiPackage\\test.txt" |
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/SigningFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/SigningFixture.cs index 8fe73e5d..02fbfc30 100644 --- a/src/wix/test/WixToolsetTest.CoreIntegration/SigningFixture.cs +++ b/src/wix/test/WixToolsetTest.CoreIntegration/SigningFixture.cs | |||
| @@ -148,7 +148,7 @@ namespace WixToolsetTest.CoreIntegration | |||
| 148 | result.AssertSuccess(); | 148 | result.AssertSuccess(); |
| 149 | 149 | ||
| 150 | result = WixRunner.Execute(new[] | 150 | result = WixRunner.Execute(new[] |
| 151 | { | 151 | { |
| 152 | "burn", | 152 | "burn", |
| 153 | "detach", | 153 | "detach", |
| 154 | exePath, | 154 | exePath, |
diff --git a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs index 40ebad5b..bd6f70bc 100644 --- a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs +++ b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs | |||
| @@ -273,7 +273,47 @@ namespace WixToolsetTest.Sdk | |||
| 273 | }); | 273 | }); |
| 274 | } | 274 | } |
| 275 | 275 | ||
| 276 | private void AssertWixpdb(BuildSystem buildSystem, string wixpdbType, string[] expectedOutputFiles) | 276 | [Theory] |
| 277 | [InlineData(BuildSystem.DotNetCoreSdk)] | ||
| 278 | [InlineData(BuildSystem.MSBuild)] | ||
| 279 | [InlineData(BuildSystem.MSBuild64)] | ||
| 280 | public void CanBuildWithWixpdbToDifferentFolder(BuildSystem buildSystem) | ||
| 281 | { | ||
| 282 | var expectedOutputFiles = new[] | ||
| 283 | { | ||
| 284 | @"bin\x86\Release\en-US\cab1.cab", | ||
| 285 | @"bin\x86\Release\en-US\MsiPackage.msi", | ||
| 286 | @"pdb\en-US\MsiPackage.wixpdb", | ||
| 287 | }; | ||
| 288 | |||
| 289 | var sourceFolder = TestData.Get(@"TestData", "SimpleMsiPackage", "MsiPackage"); | ||
| 290 | |||
| 291 | using (var fs = new TestDataFolderFileSystem()) | ||
| 292 | { | ||
| 293 | fs.Initialize(sourceFolder); | ||
| 294 | var baseFolder = fs.BaseFolder; | ||
| 295 | var binFolder = Path.Combine(baseFolder, @"bin\"); | ||
| 296 | var pdbFolder = Path.Combine(baseFolder, @"pdb\"); | ||
| 297 | var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); | ||
| 298 | |||
| 299 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] | ||
| 300 | { | ||
| 301 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), | ||
| 302 | $"-p:PdbOutputDir={pdbFolder}", | ||
| 303 | "-p:SuppressValidation=true" | ||
| 304 | }); | ||
| 305 | result.AssertSuccess(); | ||
| 306 | |||
| 307 | var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) | ||
| 308 | .Concat(Directory.EnumerateFiles(pdbFolder, @"*.*", SearchOption.AllDirectories)) | ||
| 309 | .Select(s => s.Substring(baseFolder.Length + 1)) | ||
| 310 | .OrderBy(s => s) | ||
| 311 | .ToArray(); | ||
| 312 | WixAssert.CompareLineByLine(expectedOutputFiles, paths); | ||
| 313 | } | ||
| 314 | } | ||
| 315 | |||
| 316 | private void AssertWixpdb(BuildSystem buildSystem, string debugType, string[] expectedOutputFiles) | ||
| 277 | { | 317 | { |
| 278 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); | 318 | var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); |
| 279 | 319 | ||
| @@ -287,7 +327,7 @@ namespace WixToolsetTest.Sdk | |||
| 287 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] | 327 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] |
| 288 | { | 328 | { |
| 289 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), | 329 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), |
| 290 | wixpdbType == null ? String.Empty : $"-p:WixPdbType={wixpdbType}", | 330 | debugType == null ? String.Empty : $"-p:DebugType={debugType}", |
| 291 | "-p:SuppressValidation=true" | 331 | "-p:SuppressValidation=true" |
| 292 | }); | 332 | }); |
| 293 | result.AssertSuccess(); | 333 | result.AssertSuccess(); |
| @@ -425,6 +465,76 @@ namespace WixToolsetTest.Sdk | |||
| 425 | } | 465 | } |
| 426 | 466 | ||
| 427 | [Theory] | 467 | [Theory] |
| 468 | [InlineData(BuildSystem.DotNetCoreSdk, null)] | ||
| 469 | [InlineData(BuildSystem.DotNetCoreSdk, true)] | ||
| 470 | [InlineData(BuildSystem.MSBuild, null)] | ||
| 471 | [InlineData(BuildSystem.MSBuild, true)] | ||
| 472 | [InlineData(BuildSystem.MSBuild64, null)] | ||
| 473 | [InlineData(BuildSystem.MSBuild64, true)] | ||
| 474 | public void CanBuildSimpleWixlib(BuildSystem buildSystem, bool? outOfProc) | ||
| 475 | { | ||
| 476 | var sourceFolder = TestData.Get(@"TestData", "Wixlib", "SimpleWixlib"); | ||
| 477 | |||
| 478 | using (var fs = new TestDataFolderFileSystem()) | ||
| 479 | { | ||
| 480 | fs.Initialize(sourceFolder); | ||
| 481 | var baseFolder = fs.BaseFolder; | ||
| 482 | var binFolder = Path.Combine(baseFolder, @"bin\"); | ||
| 483 | var projectPath = Path.Combine(baseFolder, "SimpleWixlib.wixproj"); | ||
| 484 | |||
| 485 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] | ||
| 486 | { | ||
| 487 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), | ||
| 488 | }, outOfProc: outOfProc); | ||
| 489 | result.AssertSuccess(); | ||
| 490 | |||
| 491 | var wixBuildCommands = MsbuildUtilities.GetToolCommandLines(result, "wix", "build", buildSystem, outOfProc); | ||
| 492 | Assert.Single(wixBuildCommands); | ||
| 493 | |||
| 494 | var path = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) | ||
| 495 | .Select(s => s.Substring(baseFolder.Length + 1)) | ||
| 496 | .Single(); | ||
| 497 | WixAssert.StringEqual(@"bin\x86\Release\SimpleWixlib.wixlib", path); | ||
| 498 | } | ||
| 499 | } | ||
| 500 | |||
| 501 | [Theory] | ||
| 502 | [InlineData(BuildSystem.DotNetCoreSdk, null)] | ||
| 503 | [InlineData(BuildSystem.DotNetCoreSdk, true)] | ||
| 504 | [InlineData(BuildSystem.MSBuild, null)] | ||
| 505 | [InlineData(BuildSystem.MSBuild, true)] | ||
| 506 | [InlineData(BuildSystem.MSBuild64, null)] | ||
| 507 | [InlineData(BuildSystem.MSBuild64, true)] | ||
| 508 | public void CanBuildPackageIncludingSimpleWixlib(BuildSystem buildSystem, bool? outOfProc) | ||
| 509 | { | ||
| 510 | var sourceFolder = TestData.Get(@"TestData", "Wixlib"); | ||
| 511 | |||
| 512 | using (var fs = new TestDataFolderFileSystem()) | ||
| 513 | { | ||
| 514 | fs.Initialize(sourceFolder); | ||
| 515 | var baseFolder = fs.BaseFolder; | ||
| 516 | var binFolder = Path.Combine(baseFolder, "PackageIncludesWixlib", @"bin\"); | ||
| 517 | var projectPath = Path.Combine(baseFolder, "PackageIncludesWixlib", "PackageIncludesWixlib.wixproj"); | ||
| 518 | |||
| 519 | var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] | ||
| 520 | { | ||
| 521 | MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), | ||
| 522 | }, outOfProc: outOfProc); | ||
| 523 | result.AssertSuccess(); | ||
| 524 | |||
| 525 | var paths = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) | ||
| 526 | .Select(s => s.Substring(baseFolder.Length + 1)) | ||
| 527 | .ToArray(); | ||
| 528 | WixAssert.CompareLineByLine(new[] | ||
| 529 | { | ||
| 530 | @"PackageIncludesWixlib\bin\x86\Release\cab1.cab", | ||
| 531 | @"PackageIncludesWixlib\bin\x86\Release\PackageIncludesWixlib.msi", | ||
| 532 | @"PackageIncludesWixlib\bin\x86\Release\PackageIncludesWixlib.wixpdb", | ||
| 533 | }, paths); | ||
| 534 | } | ||
| 535 | } | ||
| 536 | |||
| 537 | [Theory] | ||
| 428 | [InlineData(BuildSystem.DotNetCoreSdk)] | 538 | [InlineData(BuildSystem.DotNetCoreSdk)] |
| 429 | [InlineData(BuildSystem.MSBuild)] | 539 | [InlineData(BuildSystem.MSBuild)] |
| 430 | [InlineData(BuildSystem.MSBuild64)] | 540 | [InlineData(BuildSystem.MSBuild64)] |
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/PackageIncludesWixlib/Package.wxs b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/PackageIncludesWixlib/Package.wxs new file mode 100644 index 00000000..fe8298bd --- /dev/null +++ b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/PackageIncludesWixlib/Package.wxs | |||
| @@ -0,0 +1,9 @@ | |||
| 1 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
| 2 | <Package Name="MsiPackage" Language="1033" Version="1.0.0.0" Manufacturer="Example Corporation" UpgradeCode="047730a5-30fe-4a62-a520-da9381b8226a" Compressed="yes" InstallerVersion="200"> | ||
| 3 | <MediaTemplate /> | ||
| 4 | |||
| 5 | <Feature Id="ProductFeature" Title="ATitle"> | ||
| 6 | <ComponentGroupRef Id="ProductComponents" /> | ||
| 7 | </Feature> | ||
| 8 | </Package> | ||
| 9 | </Wix> | ||
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/PackageIncludesWixlib/PackageIncludesWixlib.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/PackageIncludesWixlib/PackageIncludesWixlib.wixproj new file mode 100644 index 00000000..6ada19b8 --- /dev/null +++ b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/PackageIncludesWixlib/PackageIncludesWixlib.wixproj | |||
| @@ -0,0 +1,44 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | ||
| 2 | <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
| 3 | <Import Project="$(WixMSBuildProps)" /> | ||
| 4 | <PropertyGroup> | ||
| 5 | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | ||
| 6 | <Platform Condition=" '$(Platform)' == '' ">x86</Platform> | ||
| 7 | </PropertyGroup> | ||
| 8 | |||
| 9 | <PropertyGroup> | ||
| 10 | <ProjectGuid>{B00939D5-7952-4ADF-BEB1-507D227B2FE2}</ProjectGuid> | ||
| 11 | </PropertyGroup> | ||
| 12 | |||
| 13 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> | ||
| 14 | <PlatformName>$(Platform)</PlatformName> | ||
| 15 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
| 16 | <DefineConstants>Debug</DefineConstants> | ||
| 17 | </PropertyGroup> | ||
| 18 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> | ||
| 19 | <PlatformName>$(Platform)</PlatformName> | ||
| 20 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
| 21 | </PropertyGroup> | ||
| 22 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' "> | ||
| 23 | <PlatformName>$(Platform)</PlatformName> | ||
| 24 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
| 25 | <DefineConstants>Debug</DefineConstants> | ||
| 26 | </PropertyGroup> | ||
| 27 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' "> | ||
| 28 | <PlatformName>$(Platform)</PlatformName> | ||
| 29 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
| 30 | </PropertyGroup> | ||
| 31 | |||
| 32 | <ItemGroup> | ||
| 33 | <Compile Include="Package.wxs" /> | ||
| 34 | </ItemGroup> | ||
| 35 | |||
| 36 | <ItemGroup> | ||
| 37 | <ProjectReference Include="..\SimpleWixlib\SimpleWixlib.wixproj"> | ||
| 38 | <Name>SimpleWixlib</Name> | ||
| 39 | <Project>{9F84998B-7F45-4CB3-8795-915801DBBB74}</Project> | ||
| 40 | </ProjectReference> | ||
| 41 | </ItemGroup> | ||
| 42 | |||
| 43 | <Import Project="$(WixTargetsPath)" /> | ||
| 44 | </Project> | ||
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/SimpleWixlib/Library.wxs b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/SimpleWixlib/Library.wxs new file mode 100644 index 00000000..8ffb3e8a --- /dev/null +++ b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/SimpleWixlib/Library.wxs | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> | ||
| 2 | <Fragment> | ||
| 3 | <StandardDirectory Id="ProgramFilesFolder"> | ||
| 4 | <Directory Id="WixLibFolder" /> | ||
| 5 | </StandardDirectory> | ||
| 6 | </Fragment> | ||
| 7 | |||
| 8 | <Fragment> | ||
| 9 | <ComponentGroup Id="ProductComponents" Directory="WixLibFolder"> | ||
| 10 | <Component Id="TextFile" Guid="2D93B748-4926-4185-BC84-9F1D6883AF20"> | ||
| 11 | <File Source="Library.txt" /> | ||
| 12 | </Component> | ||
| 13 | </ComponentGroup> | ||
| 14 | </Fragment> | ||
| 15 | </Wix> | ||
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/SimpleWixlib/SimpleWixlib.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/SimpleWixlib/SimpleWixlib.wixproj new file mode 100644 index 00000000..7c83a339 --- /dev/null +++ b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/SimpleWixlib/SimpleWixlib.wixproj | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | <?xml version="1.0" encoding="utf-8"?> | ||
| 2 | <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
| 3 | <Import Project="$(WixMSBuildProps)" /> | ||
| 4 | <PropertyGroup> | ||
| 5 | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | ||
| 6 | <Platform Condition=" '$(Platform)' == '' ">x86</Platform> | ||
| 7 | <OutputType>Library</OutputType> | ||
| 8 | <BindFiles>true</BindFiles> | ||
| 9 | </PropertyGroup> | ||
| 10 | |||
| 11 | <PropertyGroup> | ||
| 12 | <ProjectGuid>{9F84998B-7F45-4CB3-8795-915801DBBB74}</ProjectGuid> | ||
| 13 | </PropertyGroup> | ||
| 14 | |||
| 15 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> | ||
| 16 | <PlatformName>$(Platform)</PlatformName> | ||
| 17 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
| 18 | <DefineConstants>Debug</DefineConstants> | ||
| 19 | </PropertyGroup> | ||
| 20 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> | ||
| 21 | <PlatformName>$(Platform)</PlatformName> | ||
| 22 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
| 23 | </PropertyGroup> | ||
| 24 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' "> | ||
| 25 | <PlatformName>$(Platform)</PlatformName> | ||
| 26 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
| 27 | <DefineConstants>Debug</DefineConstants> | ||
| 28 | </PropertyGroup> | ||
| 29 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' "> | ||
| 30 | <PlatformName>$(Platform)</PlatformName> | ||
| 31 | <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> | ||
| 32 | </PropertyGroup> | ||
| 33 | |||
| 34 | <ItemGroup> | ||
| 35 | <Compile Include="Library.wxs" /> | ||
| 36 | </ItemGroup> | ||
| 37 | |||
| 38 | <ItemGroup> | ||
| 39 | <BindInputPaths Include="data" /> | ||
| 40 | </ItemGroup> | ||
| 41 | |||
| 42 | <Import Project="$(WixTargetsPath)" /> | ||
| 43 | </Project> | ||
diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/SimpleWixlib/data/Library.txt b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/SimpleWixlib/data/Library.txt new file mode 100644 index 00000000..19a811ae --- /dev/null +++ b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/SimpleWixlib/data/Library.txt | |||
| @@ -0,0 +1 @@ | |||
| This is Library.txt. | |||
