aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs')
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs42
1 files changed, 41 insertions, 1 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs
index 85b3b25a..a19a53f1 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs
@@ -44,9 +44,21 @@ namespace WixToolset.Core.WindowsInstaller.Bind
44 this.AddFileTuple((FileTuple)tuple, output); 44 this.AddFileTuple((FileTuple)tuple, output);
45 break; 45 break;
46 46
47 case TupleDefinitionType.Media:
48 this.AddMediaTuple((MediaTuple)tuple, output);
49 break;
50
51 case TupleDefinitionType.Property:
52 this.AddPropertyTuple((PropertyTuple)tuple, output);
53 break;
54
47 case TupleDefinitionType.WixAction: 55 case TupleDefinitionType.WixAction:
48 this.AddWixActionTuple((WixActionTuple)tuple, output); 56 this.AddWixActionTuple((WixActionTuple)tuple, output);
49 break; 57 break;
58
59 case TupleDefinitionType.WixMedia:
60 // Ignored.
61 break;
50 62
51 default: 63 default:
52 this.AddTupleDefaultly(tuple, output); 64 this.AddTupleDefaultly(tuple, output);
@@ -76,6 +88,34 @@ namespace WixToolset.Core.WindowsInstaller.Bind
76 row.Attributes = attributes; 88 row.Attributes = attributes;
77 } 89 }
78 90
91 private void AddMediaTuple(MediaTuple tuple, Output output)
92 {
93 if (this.Section.Type != SectionType.Module)
94 {
95 var table = output.EnsureTable(this.TableDefinitions["Media"]);
96 var row = (MediaRow)table.CreateRow(tuple.SourceLineNumbers);
97 row.DiskId = tuple.DiskId;
98 row.LastSequence = tuple.LastSequence;
99 row.DiskPrompt = tuple.DiskPrompt;
100 row.Cabinet = tuple.Cabinet;
101 row.VolumeLabel = tuple.VolumeLabel;
102 row.Source = tuple.Source;
103 }
104 }
105
106 private void AddPropertyTuple(PropertyTuple tuple, Output output)
107 {
108 if (String.IsNullOrEmpty(tuple.Value))
109 {
110 return;
111 }
112
113 var table = output.EnsureTable(this.TableDefinitions["Property"]);
114 var row = (PropertyRow)table.CreateRow(tuple.SourceLineNumbers);
115 row.Property = tuple.Property;
116 row.Value = tuple.Value;
117 }
118
79 private void AddWixActionTuple(WixActionTuple actionRow, Output output) 119 private void AddWixActionTuple(WixActionTuple actionRow, Output output)
80 { 120 {
81 // Get the table definition for the action (and ensure the proper table exists for a module). 121 // Get the table definition for the action (and ensure the proper table exists for a module).