aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2022-10-04 13:21:14 -0700
committerRob Mensching <rob@firegiant.com>2022-10-04 14:23:47 -0700
commitbec7063ae6bef19c4deb62afab7c529e739bbfa9 (patch)
tree2eac8d5a584e8edf6d0bd4cef80a63883bb3ae36
parent9a18c230cfd88996b43c8ff7c59a195fb34ed3cf (diff)
downloadwix-bec7063ae6bef19c4deb62afab7c529e739bbfa9.tar.gz
wix-bec7063ae6bef19c4deb62afab7c529e739bbfa9.tar.bz2
wix-bec7063ae6bef19c4deb62afab7c529e739bbfa9.zip
Fix tracking of detached containers
Detached containers were being tracked as both a BuiltContentOutput and Temporary file. That caused the detached containers to be cleaned up and unavailable for the bundle after the build. Also removed the unused ITrackedFile.Clean property.
-rw-r--r--src/api/wix/WixToolset.Extensibility/Data/ITrackedFile.cs5
-rw-r--r--src/wix/WixToolset.Core.Burn/Bind/BindBundleCommand.cs2
-rw-r--r--src/wix/WixToolset.Core.Burn/Bundles/CreateNonUXContainers.cs7
-rw-r--r--src/wix/WixToolset.Core.WindowsInstaller/Bind/ProcessUncompressedFilesCommand.cs3
-rw-r--r--src/wix/WixToolset.Core/ExtensibilityServices/TrackedFile.cs3
5 files changed, 5 insertions, 15 deletions
diff --git a/src/api/wix/WixToolset.Extensibility/Data/ITrackedFile.cs b/src/api/wix/WixToolset.Extensibility/Data/ITrackedFile.cs
index df36bd2b..771531e8 100644
--- a/src/api/wix/WixToolset.Extensibility/Data/ITrackedFile.cs
+++ b/src/api/wix/WixToolset.Extensibility/Data/ITrackedFile.cs
@@ -10,11 +10,6 @@ namespace WixToolset.Extensibility.Data
10 public interface ITrackedFile 10 public interface ITrackedFile
11 { 11 {
12 /// <summary> 12 /// <summary>
13 /// Indicates whether the tracked file should be cleaned by the project.
14 /// </summary>
15 bool Clean { get; set; }
16
17 /// <summary>
18 /// Path to tracked file. 13 /// Path to tracked file.
19 /// </summary> 14 /// </summary>
20 string Path { get; set; } 15 string Path { get; set; }
diff --git a/src/wix/WixToolset.Core.Burn/Bind/BindBundleCommand.cs b/src/wix/WixToolset.Core.Burn/Bind/BindBundleCommand.cs
index 6ae3520f..621be346 100644
--- a/src/wix/WixToolset.Core.Burn/Bind/BindBundleCommand.cs
+++ b/src/wix/WixToolset.Core.Burn/Bind/BindBundleCommand.cs
@@ -484,7 +484,7 @@ namespace WixToolset.Core.Burn
484 uxContainer.Hash = command.Hash; 484 uxContainer.Hash = command.Hash;
485 uxContainer.Size = command.Size; 485 uxContainer.Size = command.Size;
486 486
487 trackedFiles.Add(this.BackendHelper.TrackFile(uxContainer.WorkingPath, TrackedFileType.Temporary)); 487 trackedFiles.Add(this.BackendHelper.TrackFile(uxContainer.WorkingPath, TrackedFileType.Temporary, uxContainer.SourceLineNumbers));
488 } 488 }
489 489
490 { 490 {
diff --git a/src/wix/WixToolset.Core.Burn/Bundles/CreateNonUXContainers.cs b/src/wix/WixToolset.Core.Burn/Bundles/CreateNonUXContainers.cs
index 2df07dd6..8e83408a 100644
--- a/src/wix/WixToolset.Core.Burn/Bundles/CreateNonUXContainers.cs
+++ b/src/wix/WixToolset.Core.Burn/Bundles/CreateNonUXContainers.cs
@@ -78,8 +78,8 @@ namespace WixToolset.Core.Burn.Bundles
78 { 78 {
79 this.UXContainer = container; 79 this.UXContainer = container;
80 80
81 container.WorkingPath = Path.Combine(this.IntermediateFolder, container.Name);
82 container.AttachedContainerIndex = 0; 81 container.AttachedContainerIndex = 0;
82 container.WorkingPath = Path.Combine(this.IntermediateFolder, container.Name);
83 83
84 // Gather the list of UX payloads but ensure the BootstrapperApplicationDll Payload is the first 84 // Gather the list of UX payloads but ensure the BootstrapperApplicationDll Payload is the first
85 // in the list since that is the Payload that Burn attempts to load. 85 // in the list since that is the Payload that Burn attempts to load.
@@ -101,9 +101,9 @@ namespace WixToolset.Core.Burn.Bundles
101 { 101 {
102 container.WorkingPath = Path.Combine(this.IntermediateFolder, container.Name); 102 container.WorkingPath = Path.Combine(this.IntermediateFolder, container.Name);
103 103
104 // Add detached containers to the list of file transfers.
105 if (ContainerType.Detached == container.Type) 104 if (ContainerType.Detached == container.Type)
106 { 105 {
106 // Add file transfer to move the detached containers from intermediate build location to the correct output location.
107 var outputPath = Path.Combine(this.LayoutFolder, container.Name); 107 var outputPath = Path.Combine(this.LayoutFolder, container.Name);
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);
@@ -116,6 +116,8 @@ namespace WixToolset.Core.Burn.Bundles
116 116
117 container.AttachedContainerIndex = attachedContainerIndex; 117 container.AttachedContainerIndex = attachedContainerIndex;
118 ++attachedContainerIndex; 118 ++attachedContainerIndex;
119
120 trackedFiles.Add(this.BackendHelper.TrackFile(container.WorkingPath, TrackedFileType.Temporary, container.SourceLineNumbers));
119 } 121 }
120 } 122 }
121 } 123 }
@@ -125,7 +127,6 @@ namespace WixToolset.Core.Burn.Bundles
125 foreach (var container in this.Containers.Where(c => !String.IsNullOrEmpty(c.WorkingPath) && c.Id.Id != BurnConstants.BurnUXContainerName)) 127 foreach (var container in this.Containers.Where(c => !String.IsNullOrEmpty(c.WorkingPath) && c.Id.Id != BurnConstants.BurnUXContainerName))
126 { 128 {
127 this.CreateContainer(container, payloadsByContainer[container.Id.Id]); 129 this.CreateContainer(container, payloadsByContainer[container.Id.Id]);
128 trackedFiles.Add(this.BackendHelper.TrackFile(container.WorkingPath, TrackedFileType.Temporary, container.SourceLineNumbers));
129 } 130 }
130 } 131 }
131 132
diff --git a/src/wix/WixToolset.Core.WindowsInstaller/Bind/ProcessUncompressedFilesCommand.cs b/src/wix/WixToolset.Core.WindowsInstaller/Bind/ProcessUncompressedFilesCommand.cs
index 26b69afb..c5f198f8 100644
--- a/src/wix/WixToolset.Core.WindowsInstaller/Bind/ProcessUncompressedFilesCommand.cs
+++ b/src/wix/WixToolset.Core.WindowsInstaller/Bind/ProcessUncompressedFilesCommand.cs
@@ -113,9 +113,6 @@ namespace WixToolset.Core.WindowsInstaller.Bind
113 fileTransfers.Add(transfer); 113 fileTransfers.Add(transfer);
114 114
115 var tracked = this.BackendHelper.TrackFile(transfer.Destination, TrackedFileType.CopiedOutput, facade.SourceLineNumber); 115 var tracked = this.BackendHelper.TrackFile(transfer.Destination, TrackedFileType.CopiedOutput, facade.SourceLineNumber);
116
117 tracked.Clean = !transfer.Redundant;
118
119 trackedFiles.Add(tracked); 116 trackedFiles.Add(tracked);
120 } 117 }
121 } 118 }
diff --git a/src/wix/WixToolset.Core/ExtensibilityServices/TrackedFile.cs b/src/wix/WixToolset.Core/ExtensibilityServices/TrackedFile.cs
index c9966bce..542410e4 100644
--- a/src/wix/WixToolset.Core/ExtensibilityServices/TrackedFile.cs
+++ b/src/wix/WixToolset.Core/ExtensibilityServices/TrackedFile.cs
@@ -12,11 +12,8 @@ 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.BuiltContentOutput || type == TrackedFileType.BuiltTargetOutput || type == TrackedFileType.BuiltPdbOutput || type == TrackedFileType.CopiedOutput);
16 } 15 }
17 16
18 public bool Clean { get; set; }
19
20 public string Path { get; set; } 17 public string Path { get; set; }
21 18
22 public SourceLineNumber SourceLineNumbers { get; set; } 19 public SourceLineNumber SourceLineNumbers { get; set; }