Remove BootstrapperApplicationData generally in favor of Unreal
Rob Mensching committed
Oct 23, 2019 at 12:48 UTC
534d79c4434c4a165f4d82ddf033fa43768c3357
3 files changed
+19
-31
src/WixToolset.Data/Tuples/WixCustomRowTuple.cs
+5
-1
@@ -27,6 +27,8 @@ namespace WixToolset.Data.Tuples
27
28
public class WixCustomRowTuple : IntermediateTuple
29
{
30
+ public const char FieldSeparator = '\x85';
31
+
32
public WixCustomRowTuple() : base(TupleDefinitions.WixCustomRow, null, null)
33
{
34
}
@@ -48,5 +50,7 @@ namespace WixToolset.Data.Tuples
50
get => (string)this.Fields[(int)WixCustomRowTupleFields.FieldData];
51
set => this.Set((int)WixCustomRowTupleFields.FieldData, value);
52
}
53
+
54
+ public string[] FieldDataSeparated => this.FieldData.Split(FieldSeparator);
55
}
52
-}
\ No newline at end of file
56
+}
src/WixToolset.Data/Tuples/WixCustomTableTuple.cs
+5
-5
@@ -22,7 +22,7 @@ namespace WixToolset.Data
22
new IntermediateFieldDefinition(nameof(WixCustomTableTupleFields.Sets), IntermediateFieldType.String),
23
new IntermediateFieldDefinition(nameof(WixCustomTableTupleFields.Descriptions), IntermediateFieldType.String),
24
new IntermediateFieldDefinition(nameof(WixCustomTableTupleFields.Modularizations), IntermediateFieldType.String),
25
- new IntermediateFieldDefinition(nameof(WixCustomTableTupleFields.BootstrapperApplicationData), IntermediateFieldType.Number),
25
+ new IntermediateFieldDefinition(nameof(WixCustomTableTupleFields.Unreal), IntermediateFieldType.Number),
26
},
27
typeof(WixCustomTableTuple));
28
}
@@ -44,7 +44,7 @@ namespace WixToolset.Data.Tuples
44
Sets,
45
Descriptions,
46
Modularizations,
47
- BootstrapperApplicationData,
47
+ Unreal,
48
}
49
50
public class WixCustomTableTuple : IntermediateTuple
@@ -131,10 +131,10 @@ namespace WixToolset.Data.Tuples
131
set => this.Set((int)WixCustomTableTupleFields.Modularizations, value);
132
}
133
134
- public bool BootstrapperApplicationData
134
+ public bool Unreal
135
{
136
- get => (bool)this.Fields[(int)WixCustomTableTupleFields.BootstrapperApplicationData];
137
- set => this.Set((int)WixCustomTableTupleFields.BootstrapperApplicationData, value);
136
+ get => (bool)this.Fields[(int)WixCustomTableTupleFields.Unreal];
137
+ set => this.Set((int)WixCustomTableTupleFields.Unreal, value);
138
}
139
}
140
}
src/WixToolset.Data/WindowsInstaller/TableDefinition.cs
+9
-25
@@ -4,7 +4,7 @@ namespace WixToolset.Data.WindowsInstaller
4
{
5
using System;
6
using System.Collections.Generic;
7
- using System.Collections.ObjectModel;
7
+ using System.Linq;
8
using System.Xml;
9
10
/// <summary>
@@ -24,14 +24,12 @@ namespace WixToolset.Data.WindowsInstaller
24
/// <param name="name">Name of table to create.</param>
25
/// <param name="columns">Column definitions for the table.</param>
26
/// <param name="unreal">Flag if table is unreal.</param>
27
- /// <param name="bootstrapperApplicationData">Flag if table is part of UX Manifest.</param>
28
- public TableDefinition(string name, ColumnDefinition[] columns, bool unreal = false, bool bootstrapperApplicationData = false)
27
+ public TableDefinition(string name, IEnumerable<ColumnDefinition> columns, bool unreal = false)
28
{
29
this.Name = name;
30
this.Unreal = unreal;
32
- this.BootstrapperApplicationData = bootstrapperApplicationData;
31
34
- this.Columns = columns;
32
+ this.Columns = columns.ToArray();
33
}
34
35
/// <summary>
@@ -46,12 +44,6 @@ namespace WixToolset.Data.WindowsInstaller
44
/// <value>Flag if table is unreal.</value>
45
public bool Unreal { get; private set; }
46
49
- /// <summary>
50
- /// Gets if the table is a part of the bootstrapper application data manifest.
51
- /// </summary>
52
- /// <value>Flag if table is a part of the bootstrapper application data manifest.</value>
53
- public bool BootstrapperApplicationData { get; private set; }
54
-
47
/// <summary>
48
/// Gets the collection of column definitions for this table.
49
/// </summary>
@@ -82,7 +74,7 @@ namespace WixToolset.Data.WindowsInstaller
74
}
75
76
// compare the table names
85
- int ret = String.Compare(this.Name, updated.Name, StringComparison.Ordinal);
77
+ var ret = String.Compare(this.Name, updated.Name, StringComparison.Ordinal);
78
79
// compare the column count
80
if (0 == ret)
@@ -91,10 +83,10 @@ namespace WixToolset.Data.WindowsInstaller
83
ret = Math.Min(0, updated.Columns.Length - this.Columns.Length);
84
85
// compare name, type, and length of each column
94
- for (int i = 0; 0 == ret && this.Columns.Length > i; i++)
86
+ for (var i = 0; 0 == ret && this.Columns.Length > i; i++)
87
{
96
- ColumnDefinition thisColumnDef = this.Columns[i];
97
- ColumnDefinition updatedColumnDef = updated.Columns[i];
88
+ var thisColumnDef = this.Columns[i];
89
+ var updatedColumnDef = updated.Columns[i];
90
91
ret = thisColumnDef.CompareTo(updatedColumnDef);
92
}
@@ -125,9 +117,6 @@ namespace WixToolset.Data.WindowsInstaller
117
case "unreal":
118
unreal = reader.Value.Equals("yes");
119
break;
128
- case "bootstrapperApplicationData":
129
- bootstrapperApplicationData = reader.Value.Equals("yes");
130
- break;
120
}
121
}
122
@@ -181,7 +170,7 @@ namespace WixToolset.Data.WindowsInstaller
170
}
171
}
172
184
- return new TableDefinition(name, columns.ToArray(), unreal, bootstrapperApplicationData);
173
+ return new TableDefinition(name, columns.ToArray(), unreal);
174
}
175
176
/// <summary>
@@ -199,12 +188,7 @@ namespace WixToolset.Data.WindowsInstaller
188
writer.WriteAttributeString("unreal", "yes");
189
}
190
202
- if (this.BootstrapperApplicationData)
203
- {
204
- writer.WriteAttributeString("bootstrapperApplicationData", "yes");
205
- }
206
-
207
- foreach (ColumnDefinition columnDefinition in this.Columns)
191
+ foreach (var columnDefinition in this.Columns)
192
{
193
columnDefinition.Write(writer);
194
}