diff options
| author | Bob Arnson <bob@firegiant.com> | 2020-03-26 13:51:14 -0400 |
|---|---|---|
| committer | Bob Arnson <bob@firegiant.com> | 2020-03-26 15:14:33 -0400 |
| commit | 1adfdda935b814541693cd550bb34fdbf2942b1f (patch) | |
| tree | 72b815664870bd37b9c049faa102348cc872fdd9 /src/WixToolset.Core.WindowsInstaller | |
| parent | 22c97adba70fa838b8f285d404750d0f8fe685d8 (diff) | |
| download | wix-1adfdda935b814541693cd550bb34fdbf2942b1f.tar.gz wix-1adfdda935b814541693cd550bb34fdbf2942b1f.tar.bz2 wix-1adfdda935b814541693cd550bb34fdbf2942b1f.zip | |
Add intermediate levels to track how IR has been lowered.
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller')
| -rw-r--r-- | src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs index 7412e6da..6878aed5 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs | |||
| @@ -100,6 +100,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 100 | 100 | ||
| 101 | public IBindResult Execute() | 101 | public IBindResult Execute() |
| 102 | { | 102 | { |
| 103 | if (!this.Intermediate.HasLevel(Data.IntermediateLevels.Linked) && !this.Intermediate.HasLevel(Data.IntermediateLevels.Resolved)) | ||
| 104 | { | ||
| 105 | this.Messaging.Write(ErrorMessages.IntermediatesMustBeResolved(this.Intermediate.Id)); | ||
| 106 | } | ||
| 107 | |||
| 103 | var section = this.Intermediate.Sections.Single(); | 108 | var section = this.Intermediate.Sections.Single(); |
| 104 | 109 | ||
| 105 | var fileTransfers = new List<IFileTransfer>(); | 110 | var fileTransfers = new List<IFileTransfer>(); |
| @@ -178,15 +183,18 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 178 | } | 183 | } |
| 179 | } | 184 | } |
| 180 | 185 | ||
| 181 | // Sequence all the actions. | 186 | if (!this.Intermediate.HasLevel(Data.WindowsInstaller.IntermediateLevels.PartiallyBound)) |
| 182 | { | 187 | { |
| 183 | var command = new SequenceActionsCommand(this.Messaging, section); | 188 | // Sequence all the actions. |
| 184 | command.Execute(); | 189 | { |
| 185 | } | 190 | var command = new SequenceActionsCommand(this.Messaging, section); |
| 191 | command.Execute(); | ||
| 192 | } | ||
| 186 | 193 | ||
| 187 | { | 194 | { |
| 188 | var command = new CreateSpecialPropertiesCommand(section); | 195 | var command = new CreateSpecialPropertiesCommand(section); |
| 189 | command.Execute(); | 196 | command.Execute(); |
| 197 | } | ||
| 190 | } | 198 | } |
| 191 | 199 | ||
| 192 | #if TODO_PATCHING | 200 | #if TODO_PATCHING |
| @@ -220,6 +228,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 220 | if (this.PdbType == PdbType.Partial) | 228 | if (this.PdbType == PdbType.Partial) |
| 221 | { | 229 | { |
| 222 | // Time to create the output object, since we're bypassing everything that touches files. | 230 | // Time to create the output object, since we're bypassing everything that touches files. |
| 231 | this.Intermediate.UpdateLevel(Data.WindowsInstaller.IntermediateLevels.PartiallyBound); | ||
| 232 | |||
| 223 | var command = new CreateOutputFromIRCommand(this.Messaging, section, tableDefinitions, this.BackendExtensions); | 233 | var command = new CreateOutputFromIRCommand(this.Messaging, section, tableDefinitions, this.BackendExtensions); |
| 224 | command.Execute(); | 234 | command.Execute(); |
| 225 | 235 | ||
| @@ -227,6 +237,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 227 | } | 237 | } |
| 228 | else | 238 | else |
| 229 | { | 239 | { |
| 240 | this.Intermediate.UpdateLevel(Data.WindowsInstaller.IntermediateLevels.FullyBound); | ||
| 230 | this.Messaging.Write(VerboseMessages.UpdatingFileInformation()); | 241 | this.Messaging.Write(VerboseMessages.UpdatingFileInformation()); |
| 231 | 242 | ||
| 232 | // Extract files that come from binary .wixlibs and WixExtensions (this does not extract files from merge modules). | 243 | // Extract files that come from binary .wixlibs and WixExtensions (this does not extract files from merge modules). |
