aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2017-12-19 12:25:40 -0800
committerRob Mensching <rob@firegiant.com>2017-12-19 12:25:40 -0800
commit155a6e96346e0cb3d9ab6f5372fa29b46ebaee89 (patch)
tree59d1f151bfde8068b6014b05b5c8cfea3402c974 /src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs
parent6f1665ed759b31bd095f186f9239232c653597cd (diff)
downloadwix-155a6e96346e0cb3d9ab6f5372fa29b46ebaee89.tar.gz
wix-155a6e96346e0cb3d9ab6f5372fa29b46ebaee89.tar.bz2
wix-155a6e96346e0cb3d9ab6f5372fa29b46ebaee89.zip
Integrate simplified message handling
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs')
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs b/src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs
index 0c0aea1f..056f92a7 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs
@@ -10,17 +10,21 @@ namespace WixToolset.Core.WindowsInstaller.Bind
10 using WixToolset.Core.Native; 10 using WixToolset.Core.Native;
11 using WixToolset.Data; 11 using WixToolset.Data;
12 using WixToolset.Data.Tuples; 12 using WixToolset.Data.Tuples;
13 using WixToolset.Extensibility.Services;
13 14
14 /// <summary> 15 /// <summary>
15 /// Set the guids for components with generatable guids. 16 /// Set the guids for components with generatable guids.
16 /// </summary> 17 /// </summary>
17 internal class CalculateComponentGuids 18 internal class CalculateComponentGuids
18 { 19 {
19 public CalculateComponentGuids(IntermediateSection section) 20 public CalculateComponentGuids(IMessaging messaging, IntermediateSection section)
20 { 21 {
22 this.Messaging = messaging;
21 this.Section = section; 23 this.Section = section;
22 } 24 }
23 25
26 private IMessaging Messaging { get; }
27
24 private IntermediateSection Section { get; } 28 private IntermediateSection Section { get; }
25 29
26 public void Execute() 30 public void Execute()
@@ -43,7 +47,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
43 47
44 if (String.IsNullOrEmpty(componentRow.KeyPath) || odbcDataSourceKeyPath) 48 if (String.IsNullOrEmpty(componentRow.KeyPath) || odbcDataSourceKeyPath)
45 { 49 {
46 Messaging.Instance.OnMessage(WixErrors.IllegalComponentWithAutoGeneratedGuid(componentRow.SourceLineNumbers)); 50 this.Messaging.Write(ErrorMessages.IllegalComponentWithAutoGeneratedGuid(componentRow.SourceLineNumbers));
47 continue; 51 continue;
48 } 52 }
49 53
@@ -143,13 +147,13 @@ namespace WixToolset.Core.WindowsInstaller.Bind
143 path.StartsWith(@"StartMenuFolder\programs", StringComparison.Ordinal) || 147 path.StartsWith(@"StartMenuFolder\programs", StringComparison.Ordinal) ||
144 path.StartsWith(@"WindowsFolder\fonts", StringComparison.Ordinal)) 148 path.StartsWith(@"WindowsFolder\fonts", StringComparison.Ordinal))
145 { 149 {
146 Messaging.Instance.OnMessage(WixErrors.IllegalPathForGeneratedComponentGuid(componentRow.SourceLineNumbers, fileRow.Component_, path)); 150 this.Messaging.Write(ErrorMessages.IllegalPathForGeneratedComponentGuid(componentRow.SourceLineNumbers, fileRow.Component_, path));
147 } 151 }
148 152
149 // if component has more than one file, the key path must be versioned 153 // if component has more than one file, the key path must be versioned
150 if (1 < numFilesInComponent && String.IsNullOrEmpty(fileRow.Version)) 154 if (1 < numFilesInComponent && String.IsNullOrEmpty(fileRow.Version))
151 { 155 {
152 Messaging.Instance.OnMessage(WixErrors.IllegalGeneratedGuidComponentUnversionedKeypath(componentRow.SourceLineNumbers)); 156 this.Messaging.Write(ErrorMessages.IllegalGeneratedGuidComponentUnversionedKeypath(componentRow.SourceLineNumbers));
153 } 157 }
154 } 158 }
155 else 159 else
@@ -157,13 +161,13 @@ namespace WixToolset.Core.WindowsInstaller.Bind
157 // not a key path, so it must be an unversioned file if component has more than one file 161 // not a key path, so it must be an unversioned file if component has more than one file
158 if (1 < numFilesInComponent && !String.IsNullOrEmpty(fileRow.Version)) 162 if (1 < numFilesInComponent && !String.IsNullOrEmpty(fileRow.Version))
159 { 163 {
160 Messaging.Instance.OnMessage(WixErrors.IllegalGeneratedGuidComponentVersionedNonkeypath(componentRow.SourceLineNumbers)); 164 this.Messaging.Write(ErrorMessages.IllegalGeneratedGuidComponentVersionedNonkeypath(componentRow.SourceLineNumbers));
161 } 165 }
162 } 166 }
163 } 167 }
164 168
165 // if the rules were followed, reward with a generated guid 169 // if the rules were followed, reward with a generated guid
166 if (!Messaging.Instance.EncounteredError) 170 if (!this.Messaging.EncounteredError)
167 { 171 {
168 componentRow.ComponentId = Uuid.NewUuid(BindDatabaseCommand.WixComponentGuidNamespace, path).ToString("B").ToUpperInvariant(); 172 componentRow.ComponentId = Uuid.NewUuid(BindDatabaseCommand.WixComponentGuidNamespace, path).ToString("B").ToUpperInvariant();
169 } 173 }