Remove obsolete inner text handling
Rob Mensching committed
Jun 23, 2020 at 00:56 UTC
ed0fb39537c0cfb13922537a26f9d895180d42d8
12 files changed
+37
-409
src/WixToolset.Core/Common.cs
+2
-4
@@ -690,10 +690,8 @@ namespace WixToolset.Core
690
/// <summary>
691
/// Gets the text of an XElement.
692
/// </summary>
693
- /// <param name="sourceLineNumbers">Source line information about the owner element.</param>
694
- /// <param name="attribute">The attribute containing the value to get.</param>
695
- /// <param name="messageHandler">A delegate that receives error messages.</param>
696
- /// <returns>The attribute's YesNoType value.</returns>
693
+ /// <param name="node">Element to get text.</param>
694
+ /// <returns>The element's text.</returns>
695
internal static string GetInnerText(XElement node)
696
{
697
var text = node.Nodes().Where(n => XmlNodeType.Text == n.NodeType || XmlNodeType.CDATA == n.NodeType).Cast<XText>().FirstOrDefault();
src/WixToolset.Core/Compiler.cs
-188
@@ -2319,14 +2319,6 @@ namespace WixToolset.Core
2319
case "Class":
2320
this.ParseClassElement(child, id.Id, YesNoType.NotSet, null, null, null, null);
2321
break;
2322
- case "Condition":
2323
- if (null != condition)
2324
- {
2325
- var childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(node);
2326
- this.Core.Write(ErrorMessages.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, child.Name.LocalName));
2327
- }
2328
- condition = this.ParseConditionElement(child, node.Name.LocalName, null, null);
2329
- break;
2322
case "CopyFile":
2323
this.ParseCopyFileElement(child, id.Id, null);
2324
break;
@@ -3382,17 +3374,12 @@ namespace WixToolset.Core
3374
win64 = true;
3375
}
3376
3385
- // get the inner text if any exists
3386
- var innerText = this.Core.GetTrimmedInnerText(node);
3387
-
3377
// if we have an in-lined Script CustomAction ensure no source or target attributes were provided
3378
if (inlineScript)
3379
{
3380
if (String.IsNullOrEmpty(scriptFile))
3381
{
3382
this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "ScriptFile", "Script"));
3394
-
3395
- target = innerText;
3383
}
3384
}
3385
else if (CustomActionTargetType.VBScript == targetType) // non-inline vbscript
@@ -3428,10 +3415,6 @@ namespace WixToolset.Core
3415
{
3416
this.Core.Write(ErrorMessages.IllegalAttributeWithoutOtherAttributes(sourceLineNumbers, node.Name.LocalName, "Value", "Directory", "Property", "Error"));
3417
}
3431
- else if (!String.IsNullOrEmpty(innerText)) // inner text cannot be specified with non-script CAs
3432
- {
3433
- this.Core.Write(ErrorMessages.CustomActionIllegalInnerText(sourceLineNumbers, node.Name.LocalName, innerText, "Script"));
3434
- }
3418
3419
if (!inlineScript && !String.IsNullOrEmpty(scriptFile))
3420
{
@@ -4053,11 +4036,6 @@ namespace WixToolset.Core
4036
this.Core.Write(ErrorMessages.ExpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Column"));
4037
}
4038
4056
- if (String.IsNullOrEmpty(data))
4057
- {
4058
- data = Common.GetInnerText(child);
4059
- }
4060
-
4039
if (!this.Core.EncounteredError)
4040
{
4041
this.Core.AddTuple(new WixCustomTableCellTuple(childSourceLineNumbers, new Identifier(AccessModifier.Private, tableId, rowId, columnName))
@@ -4864,9 +4842,6 @@ namespace WixToolset.Core
4842
case "Component":
4843
this.ParseComponentElement(child, ComplexReferenceParentType.Feature, id.Id, null, CompilerConstants.IntegerNotSet, null, null);
4844
break;
4867
- case "Condition":
4868
- this.ParseConditionElement(child, node.Name.LocalName, id.Id, null);
4869
- break;
4845
case "Feature":
4846
this.ParseFeatureElement(child, ComplexReferenceParentType.Feature, id.Id, ref childDisplay);
4847
break;
@@ -5368,11 +5343,6 @@ namespace WixToolset.Core
5343
id = CompilerConstants.IllegalInteger;
5344
}
5345
5371
- if (String.IsNullOrEmpty(message))
5372
- {
5373
- message = Common.GetInnerText(node);
5374
- }
5375
-
5346
this.Core.ParseForExtensionElements(node);
5347
5348
if (!this.Core.EncounteredError)
@@ -6232,9 +6202,6 @@ namespace WixToolset.Core
6202
case "ComponentGroup":
6203
this.ParseComponentGroupElement(child, ComplexReferenceParentType.Unknown, id?.Id);
6204
break;
6235
- case "Condition":
6236
- this.ParseConditionElement(child, node.Name.LocalName, null, null);
6237
- break;
6205
case "Container":
6206
this.ParseContainerElement(child);
6207
break;
@@ -6418,161 +6385,6 @@ namespace WixToolset.Core
6385
}
6386
}
6387
6421
- /// <summary>
6422
- /// Parses a condition element.
6423
- /// </summary>
6424
- /// <param name="node">Element to parse.</param>
6425
- /// <param name="parentElementLocalName">LocalName of the parent element.</param>
6426
- /// <param name="id">Id of the parent element.</param>
6427
- /// <param name="dialog">Dialog of the parent element if its a Control.</param>
6428
- /// <returns>The condition if one was found.</returns>
6429
- private string ParseConditionElement(XElement node, string parentElementLocalName, string id, string dialog)
6430
- {
6431
- var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node);
6432
- string action = null;
6433
- string condition = null;
6434
- var level = CompilerConstants.IntegerNotSet;
6435
- string message = null;
6436
-
6437
- foreach (var attrib in node.Attributes())
6438
- {
6439
- if (String.IsNullOrEmpty(attrib.Name.NamespaceName) || CompilerCore.WixNamespace == attrib.Name.Namespace)
6440
- {
6441
- switch (attrib.Name.LocalName)
6442
- {
6443
- case "Action":
6444
- if ("Control" == parentElementLocalName)
6445
- {
6446
- action = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
6447
- switch (action)
6448
- {
6449
- case "default":
6450
- action = "Default";
6451
- break;
6452
- case "disable":
6453
- action = "Disable";
6454
- break;
6455
- case "enable":
6456
- action = "Enable";
6457
- break;
6458
- case "hide":
6459
- action = "Hide";
6460
- break;
6461
- case "show":
6462
- action = "Show";
6463
- break;
6464
- case "":
6465
- break;
6466
- default:
6467
- this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, action, "default", "disable", "enable", "hide", "show"));
6468
- break;
6469
- }
6470
- }
6471
- else
6472
- {
6473
- this.Core.UnexpectedAttribute(node, attrib);
6474
- }
6475
- break;
6476
- case "Level":
6477
- if ("Feature" == parentElementLocalName)
6478
- {
6479
- level = this.Core.GetAttributeIntegerValue(sourceLineNumbers, attrib, 0, Int16.MaxValue);
6480
- }
6481
- else
6482
- {
6483
- this.Core.UnexpectedAttribute(node, attrib);
6484
- }
6485
- break;
6486
- case "Message":
6487
- if ("Fragment" == parentElementLocalName || "Product" == parentElementLocalName)
6488
- {
6489
- message = this.Core.GetAttributeValue(sourceLineNumbers, attrib);
6490
- }
6491
- else
6492
- {
6493
- this.Core.UnexpectedAttribute(node, attrib);
6494
- }
6495
- break;
6496
- default:
6497
- this.Core.UnexpectedAttribute(node, attrib);
6498
- break;
6499
- }
6500
- }
6501
- else
6502
- {
6503
- this.Core.ParseExtensionAttribute(node, attrib);
6504
- }
6505
- }
6506
-
6507
- // get the condition from the inner text of the element
6508
- condition = this.Core.GetConditionInnerText(node);
6509
-
6510
- this.Core.ParseForExtensionElements(node);
6511
-
6512
- // the condition should not be empty
6513
- if (null == condition || 0 == condition.Length)
6514
- {
6515
- condition = null;
6516
- this.Core.Write(ErrorMessages.ConditionExpected(sourceLineNumbers, node.Name.LocalName));
6517
- }
6518
-
6519
- switch (parentElementLocalName)
6520
- {
6521
- case "Control":
6522
- if (null == action)
6523
- {
6524
- this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Action"));
6525
- }
6526
-
6527
- if (!this.Core.EncounteredError)
6528
- {
6529
- this.Core.AddTuple(new ControlConditionTuple(sourceLineNumbers)
6530
- {
6531
- DialogRef = dialog,
6532
- ControlRef = id,
6533
- Action = action,
6534
- Condition = condition,
6535
- });
6536
- }
6537
- break;
6538
- case "Feature":
6539
- if (CompilerConstants.IntegerNotSet == level)
6540
- {
6541
- this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Level"));
6542
- level = CompilerConstants.IllegalInteger;
6543
- }
6544
-
6545
- if (!this.Core.EncounteredError)
6546
- {
6547
- this.Core.AddTuple(new ConditionTuple(sourceLineNumbers)
6548
- {
6549
- FeatureRef = id,
6550
- Level = level,
6551
- Condition = condition
6552
- });
6553
- }
6554
- break;
6555
- case "Fragment":
6556
- case "Product":
6557
- if (null == message)
6558
- {
6559
- this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Message"));
6560
- }
6561
-
6562
- if (!this.Core.EncounteredError)
6563
- {
6564
- this.Core.AddTuple(new LaunchConditionTuple(sourceLineNumbers)
6565
- {
6566
- Condition = condition,
6567
- Description = message
6568
- });
6569
- }
6570
- break;
6571
- }
6572
-
6573
- return condition;
6574
- }
6575
-
6388
/// <summary>
6389
/// Parses a IniFile element.
6390
/// </summary>
src/WixToolset.Core/CompilerCore.cs
-20
@@ -321,26 +321,6 @@ namespace WixToolset.Core
321
return Common.IsValidModuleOrBundleVersion(version);
322
}
323
324
- /// <summary>
325
- /// Get an element's inner text and trims any extra whitespace.
326
- /// </summary>
327
- /// <param name="element">The element with inner text to be trimmed.</param>
328
- /// <returns>The node's inner text trimmed.</returns>
329
- public string GetTrimmedInnerText(XElement element)
330
- {
331
- return this.parseHelper.GetTrimmedInnerText(element);
332
- }
333
-
334
- /// <summary>
335
- /// Gets element's inner text and ensure's it is safe for use in a condition by trimming any extra whitespace.
336
- /// </summary>
337
- /// <param name="element">The element to ensure inner text is a condition.</param>
338
- /// <returns>The value converted into a safe condition.</returns>
339
- public string GetConditionInnerText(XElement element)
340
- {
341
- return this.parseHelper.GetConditionInnerText(element);
342
- }
343
-
324
/// <summary>
325
/// Creates a version 3 name-based UUID.
326
/// </summary>
src/WixToolset.Core/Compiler_2.cs
+4
-109
@@ -186,9 +186,6 @@ namespace WixToolset.Core
186
case "ComponentGroup":
187
this.ParseComponentGroupElement(child, ComplexReferenceParentType.Unknown, null);
188
break;
189
- case "Condition":
190
- this.ParseConditionElement(child, node.Name.LocalName, null, null);
191
- break;
189
case "CustomAction":
190
this.ParseCustomActionElement(child);
191
break;
@@ -228,6 +225,9 @@ namespace WixToolset.Core
225
case "InstanceTransforms":
226
this.ParseInstanceTransformsElement(child);
227
break;
228
+ case "Launch":
229
+ this.ParseLaunchElement(child);
230
+ break;
231
case "MajorUpgrade":
232
this.ParseMajorUpgradeElement(child, contextValues);
233
break;
@@ -1235,31 +1235,7 @@ namespace WixToolset.Core
1235
id = this.Core.CreateIdentifier("pme", objectId, tableName, sddl);
1236
}
1237
1238
- foreach (var child in node.Elements())
1239
- {
1240
- if (CompilerCore.WixNamespace == child.Name.Namespace)
1241
- {
1242
- switch (child.Name.LocalName)
1243
- {
1244
- case "Condition":
1245
- if (null != condition)
1246
- {
1247
- var childSourceLineNumbers = Preprocessor.GetSourceLineNumbers(node);
1248
- this.Core.Write(ErrorMessages.TooManyChildren(childSourceLineNumbers, node.Name.LocalName, child.Name.LocalName));
1249
- }
1250
-
1251
- condition = this.ParseConditionElement(child, node.Name.LocalName, null, null);
1252
- break;
1253
- default:
1254
- this.Core.UnexpectedElement(node, child);
1255
- break;
1256
- }
1257
- }
1258
- else
1259
- {
1260
- this.Core.ParseExtensionElement(node, child);
1261
- }
1262
- }
1238
+ this.Core.ParseForExtensionElements(node);
1239
1240
if (!this.Core.EncounteredError)
1241
{
@@ -1537,20 +1513,6 @@ namespace WixToolset.Core
1513
this.Core.Write(ErrorMessages.CannotAuthorSpecialProperties(sourceLineNumbers, id.Id));
1514
}
1515
1540
- var innerText = this.Core.GetTrimmedInnerText(node);
1541
- if (null != value)
1542
- {
1543
- // cannot specify both the value attribute and inner text
1544
- if (!String.IsNullOrEmpty(innerText))
1545
- {
1546
- this.Core.Write(ErrorMessages.IllegalAttributeWithInnerText(sourceLineNumbers, node.Name.LocalName, "Value"));
1547
- }
1548
- }
1549
- else // value attribute not specified, use inner text if any.
1550
- {
1551
- value = innerText;
1552
- }
1553
-
1516
if ("ErrorDialog" == id.Id)
1517
{
1518
this.Core.CreateSimpleReference(sourceLineNumbers, TupleDefinitions.Dialog, value);
@@ -2090,11 +2052,6 @@ namespace WixToolset.Core
2052
}
2053
}
2054
2093
- if (multiStringValue == null)
2094
- {
2095
- multiStringValue = Common.GetInnerText(node);
2096
- }
2097
-
2055
if (multiStringValue == null)
2056
{
2057
this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
@@ -2683,12 +2640,6 @@ namespace WixToolset.Core
2640
}
2641
}
2642
2686
- // Get the condition from the inner text of the element.
2687
- if (condition == null)
2688
- {
2689
- condition = this.Core.GetConditionInnerText(child);
2690
- }
2691
-
2643
if (customAction && "Custom" == actionName)
2644
{
2645
this.Core.Write(ErrorMessages.ExpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Action"));
@@ -3152,11 +3103,6 @@ namespace WixToolset.Core
3103
}
3104
}
3105
3155
- if (privilege == null)
3156
- {
3157
- privilege = Common.GetInnerText(node);
3158
- }
3159
-
3106
if (privilege == null)
3107
{
3108
this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Name"));
@@ -3518,11 +3464,6 @@ namespace WixToolset.Core
3464
}
3465
}
3466
3521
- if (argument == null)
3522
- {
3523
- argument = this.Core.GetTrimmedInnerText(node);
3524
- }
3525
-
3467
if (argument == null)
3468
{
3469
this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
@@ -3860,11 +3801,6 @@ namespace WixToolset.Core
3801
}
3802
}
3803
3863
- if (condition == null)
3864
- {
3865
- condition = this.Core.GetConditionInnerText(node);
3866
- }
3867
-
3804
if (null == id)
3805
{
3806
this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
@@ -3957,29 +3893,6 @@ namespace WixToolset.Core
3893
this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, sequenceValue, "execute", "ui", "both"));
3894
break;
3895
}
3960
- //if (0 < sequenceValue.Length)
3961
- //{
3962
- // var sequenceType = Wix.Enums.ParseSequenceType(sequenceValue);
3963
- // switch (sequenceType)
3964
- // {
3965
- // case Wix.SequenceType.execute:
3966
- // sequences = new string[] { "InstallExecuteSequence" };
3967
- // break;
3968
- // case Wix.SequenceType.ui:
3969
- // sequences = new string[] { "InstallUISequence" };
3970
- // break;
3971
- // case Wix.SequenceType.first:
3972
- // firstSequence = true;
3973
- // // default puts it in both sequence which is what we want
3974
- // break;
3975
- // case Wix.SequenceType.both:
3976
- // // default so no work necessary.
3977
- // break;
3978
- // default:
3979
- // this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, sequenceValue, "execute", "ui", "both"));
3980
- // break;
3981
- // }
3982
- //}
3896
break;
3897
case "Value":
3898
value = this.Core.GetAttributeValue(sourceLineNumbers, attrib, EmptyRule.CanBeEmpty);
@@ -3995,11 +3908,6 @@ namespace WixToolset.Core
3908
}
3909
}
3910
3998
- if (condition == null)
3999
- {
4000
- condition = this.Core.GetConditionInnerText(node);
4001
- }
4002
-
3911
if (null == id)
3912
{
3913
this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Id"));
@@ -4528,19 +4436,6 @@ namespace WixToolset.Core
4436
id = this.Core.CreateIdentifier("scp", shortcutId, key.ToUpperInvariant());
4437
}
4438
4531
- var innerText = this.Core.GetTrimmedInnerText(node);
4532
- if (!String.IsNullOrEmpty(innerText))
4533
- {
4534
- if (String.IsNullOrEmpty(value))
4535
- {
4536
- value = innerText;
4537
- }
4538
- else // cannot specify both the value attribute and inner text
4539
- {
4540
- this.Core.Write(ErrorMessages.IllegalAttributeWithInnerText(sourceLineNumbers, node.Name.LocalName, "Value"));
4541
- }
4542
- }
4543
-
4439
if (String.IsNullOrEmpty(value))
4440
{
4441
this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Value"));
src/WixToolset.Core/Compiler_Bundle.cs
-5
@@ -1056,11 +1056,6 @@ namespace WixToolset.Core
1056
this.Core.Write(ErrorMessages.ExpectedAttribute(childSourceLineNumbers, child.Name.LocalName, "Id"));
1057
}
1058
1059
- if (String.IsNullOrEmpty(value))
1060
- {
1061
- value = Common.GetInnerText(child);
1062
- }
1063
-
1059
if (!this.Core.EncounteredError)
1060
{
1061
this.Core.AddTuple(new WixBundleCustomDataCellTuple(childSourceLineNumbers, new Identifier(AccessModifier.Private, customDataId, elementId, attributeName))
src/WixToolset.Core/Compiler_EmbeddedUI.cs
-6
@@ -80,12 +80,6 @@ namespace WixToolset.Core
80
}
81
}
82
83
- if (condition == null)
84
- {
85
- // Get the condition from the inner text of the element.
86
- condition = this.Core.GetConditionInnerText(node);
87
- }
88
-
83
if (null == id)
84
{
85
id = this.Core.CreateIdentifier("mec", source, type.ToString());
src/WixToolset.Core/Compiler_UI.cs
-43
@@ -700,11 +700,6 @@ namespace WixToolset.Core
700
this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Action"));
701
}
702
703
- if (null == message)
704
- {
705
- message = Common.GetInnerText(node);
706
- }
707
-
703
this.Core.ParseForExtensionElements(node);
704
705
if (!this.Core.EncounteredError)
@@ -751,11 +746,6 @@ namespace WixToolset.Core
746
}
747
}
748
754
- if (null == text)
755
- {
756
- text = Common.GetInnerText(node);
757
- }
758
-
749
if (null == id)
750
{
751
id = this.Core.CreateIdentifier("txt", text);
@@ -1270,26 +1260,6 @@ namespace WixToolset.Core
1260
this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, iconSizeValue, "16", "32", "48"));
1261
break;
1262
}
1273
- //if (0 < iconSizeValue.Length)
1274
- //{
1275
- // var iconsSizeType = Wix.Control.ParseIconSizeType(iconSizeValue);
1276
- // switch (iconsSizeType)
1277
- // {
1278
- // case Wix.Control.IconSizeType.Item16:
1279
- // this.Core.TrySetBitFromName(specialAttributes, "Icon16", YesNoType.Yes, bits, 16);
1280
- // break;
1281
- // case Wix.Control.IconSizeType.Item32:
1282
- // this.Core.TrySetBitFromName(specialAttributes, "Icon32", YesNoType.Yes, bits, 16);
1283
- // break;
1284
- // case Wix.Control.IconSizeType.Item48:
1285
- // this.Core.TrySetBitFromName(specialAttributes, "Icon16", YesNoType.Yes, bits, 16);
1286
- // this.Core.TrySetBitFromName(specialAttributes, "Icon32", YesNoType.Yes, bits, 16);
1287
- // break;
1288
- // default:
1289
- // this.Core.Write(ErrorMessages.IllegalAttributeValue(sourceLineNumbers, node.Name.LocalName, attrib.Name.LocalName, iconSizeValue, "16", "32", "48"));
1290
- // break;
1291
- // }
1292
- //}
1263
}
1264
else
1265
{
@@ -1411,9 +1381,6 @@ namespace WixToolset.Core
1381
case "ComboBox":
1382
this.ParseControlGroupElement(child, TupleDefinitionType.ComboBox, "ListItem");
1383
break;
1414
- case "Condition":
1415
- this.ParseConditionElement(child, node.Name.LocalName, controlId.Id, dialog);
1416
- break;
1384
case "ListBox":
1385
this.ParseControlGroupElement(child, TupleDefinitionType.ListBox, "ListItem");
1386
break;
@@ -1456,11 +1423,6 @@ namespace WixToolset.Core
1423
}
1424
}
1425
1459
- if (null == text)
1460
- {
1461
- text = Common.GetInnerText(child);
1462
- }
1463
-
1426
if (!String.IsNullOrEmpty(text) && null != sourceFile)
1427
{
1428
this.Core.Write(ErrorMessages.IllegalAttributeWithOtherAttribute(childSourceLineNumbers, child.Name.LocalName, "SourceFile", "Text"));
@@ -1728,11 +1690,6 @@ namespace WixToolset.Core
1690
}
1691
}
1692
1731
- if (null == condition)
1732
- {
1733
- condition = this.Core.GetConditionInnerText(node);
1734
- }
1735
-
1693
if (null == control)
1694
{
1695
this.Core.Write(ErrorMessages.ExpectedAttribute(sourceLineNumbers, node.Name.LocalName, "Control"));
src/test/WixToolsetTest.CoreIntegration/TestData/BundleCustomTable/BundleCustomTable.wxs
+12
-12
@@ -10,12 +10,12 @@
10
<BundleAttributeDefinition Id="Column2" />
11
12
<BundleElement>
13
- <BundleAttribute Id="Id">one</BundleAttribute>
14
- <BundleAttribute Id="Column2">two</BundleAttribute>
13
+ <BundleAttribute Id="Id" Value="one" />
14
+ <BundleAttribute Id="Column2" Value="two" />
15
</BundleElement>
16
<BundleElement>
17
- <BundleAttribute Id="Column2"><</BundleAttribute>
18
- <BundleAttribute Id="Id">></BundleAttribute>
17
+ <BundleAttribute Id="Column2" Value="<" />
18
+ <BundleAttribute Id="Id" Value=">" />
19
</BundleElement>
20
</BundleCustomData>
21
@@ -28,23 +28,23 @@
28
<Fragment>
29
<BundleCustomDataRef Id="BundleCustomTableBA">
30
<BundleElement>
31
- <BundleAttribute Id="Id">1</BundleAttribute>
32
- <BundleAttribute Id="Column2">2</BundleAttribute>
31
+ <BundleAttribute Id="Id" Value="1" />
32
+ <BundleAttribute Id="Column2" Value="2" />
33
</BundleElement>
34
</BundleCustomDataRef>
35
36
<BundleCustomDataRef Id="BundleCustomTableBE">
37
<BundleElement>
38
- <BundleAttribute Id="Id">one</BundleAttribute>
39
- <BundleAttribute Id="Column2">two</BundleAttribute>
38
+ <BundleAttribute Id="Id" Value="one" />
39
+ <BundleAttribute Id="Column2" Value="two" />
40
</BundleElement>
41
<BundleElement>
42
- <BundleAttribute Id="Column2"><</BundleAttribute>
43
- <BundleAttribute Id="Id">></BundleAttribute>
42
+ <BundleAttribute Id="Column2" Value="<" />
43
+ <BundleAttribute Id="Id" Value=">" />
44
</BundleElement>
45
<BundleElement>
46
- <BundleAttribute Id="Id">1</BundleAttribute>
47
- <BundleAttribute Id="Column2">2</BundleAttribute>
46
+ <BundleAttribute Id="Id" Value="1" />
47
+ <BundleAttribute Id="Column2" Value="2" />
48
</BundleElement>
49
</BundleCustomDataRef>
50
src/test/WixToolsetTest.CoreIntegration/TestData/CustomAction/UnscheduledCustomAction.wxs
+1
-1
@@ -27,7 +27,7 @@
27
</InstallUISequence>
28
29
<UI>
30
- <ProgressText Action="CustomAction2">Progess2Text</ProgressText>
30
+ <ProgressText Action="CustomAction2" Message="Progess2Text" />
31
</UI>
32
</Fragment>
33
</Wix>
src/test/WixToolsetTest.CoreIntegration/TestData/CustomTable/CustomTable.wxs
+8
-8
@@ -9,12 +9,12 @@
9
<Column Id="Column1" Type="string" PrimaryKey="yes" Category="text" Modularize="column" Description="The first custom column." />
10
<Column Id="Component_" Type="string" Width="72" KeyTable="Component" KeyColumn="1" Description="The custom table's Component reference" />
11
<Row>
12
- <Data Column="Column1">Row1</Data>
13
- <Data Column="Component_">test.txt</Data>
12
+ <Data Column="Column1" Value="Row1" />
13
+ <Data Column="Component_" Value="test.txt" />
14
</Row>
15
<Row>
16
- <Data Column="Column1">Row2</Data>
17
- <Data Column="Component_">test.txt</Data>
16
+ <Data Column="Column1" Value="Row2" />
17
+ <Data Column="Component_" Value="test.txt" />
18
</Row>
19
</CustomTable>
20
@@ -22,12 +22,12 @@
22
<Column Id="ColumnA" Type="string" PrimaryKey="yes" />
23
<Column Id="Component_" Type="string" Width="72" KeyTable="Component" KeyColumn="1" />
24
<Row>
25
- <Data Column="ColumnA">RowA</Data>
26
- <Data Column="Component_">test.txt</Data>
25
+ <Data Column="ColumnA" Value="RowA" />
26
+ <Data Column="Component_" Value="test.txt" />
27
</Row>
28
<Row>
29
- <Data Column="ColumnA">RowB</Data>
30
- <Data Column="Component_">test.txt</Data>
29
+ <Data Column="ColumnA" Value="RowB" />
30
+ <Data Column="Component_" Value="test.txt" />
31
</Row>
32
</CustomTable>
33
</Fragment>
src/test/WixToolsetTest.CoreIntegration/TestData/CustomTable/CustomTableWithFile.wxs
+4
-4
@@ -9,12 +9,12 @@
9
<Column Id="Column1" Type="string" PrimaryKey="yes" />
10
<Column Id="Source" Type="binary" Width="0" />
11
<Row>
12
- <Data Column="Column1">Row1</Data>
13
- <Data Column="Source">file1.txt</Data>
12
+ <Data Column="Column1" Value="Row1" />
13
+ <Data Column="Source" Value="file1.txt" />
14
</Row>
15
<Row>
16
- <Data Column="Source">SourceDir\file2.txt</Data>
17
- <Data Column="Column1">Row2</Data>
16
+ <Data Column="Source" Value="SourceDir\file2.txt" />
17
+ <Data Column="Column1" Value="Row2" />
18
</Row>
19
</CustomTable>
20
src/test/WixToolsetTest.CoreIntegration/TestData/DialogsInInstallUISequence/PackageComponents.wxs
+6
-9
@@ -4,16 +4,13 @@
4
<UI Id="CustomDialog">
5
<Dialog Id="FirstDialog" Width="100" Height="100">
6
<Control Id="Title" Type="Text" X="0" Y="0" Width="90" Height="13" TabSkip="no" Text="FirstDialogTitle" />
7
- <Control Id="Header" Type="Text" X="0" Y="13" Width="90" Height="13" TabSkip="no" Text="FirstDialogHeader">
8
- <Condition Action="hide">Installed</Condition>
9
- <Condition Action="disable">Installed</Condition>
10
- </Control>
7
+ <Control Id="Header" Type="Text" X="0" Y="13" Width="90" Height="13" TabSkip="no" Text="FirstDialogHeader"
8
+ HideCondition="Installed" DisableCondition="Installed" />
9
</Dialog>
10
<Dialog Id="SecondDialog" Width="100" Height="100">
11
<Control Id="Title" Type="Text" X="0" Y="0" Width="90" Height="13" TabSkip="no" Text="SecondDialogTitle" />
14
- <Control Id="OptionalCheckBox" Type="CheckBox" X="0" Y="13" Width="100" Height="40" Hidden="yes" Property="WIXUI_EXITDIALOGOPTIONALCHECKBOX" CheckBoxValue="1" Text="[WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT]">
15
- <Condition Action="show">WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT AND NOT Installed</Condition>
16
- </Control>
12
+ <Control Id="OptionalCheckBox" Type="CheckBox" X="0" Y="13" Width="100" Height="40" Hidden="yes" Property="WIXUI_EXITDIALOGOPTIONALCHECKBOX" CheckBoxValue="1" Text="[WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT]"
13
+ ShowCondition="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT AND NOT Installed" />
14
</Dialog>
15
16
<InstallUISequence>
@@ -29,8 +26,8 @@
26
<Publish Dialog="FirstDialog" Control="Next" Event="NewDialog" Value="SecondDialog">Installed AND PATCH</Publish>
27
28
<InstallUISequence>
32
- <Show Dialog="FirstDialog" Before="SecondDialog">Installed AND PATCH</Show>
33
- <Show Dialog="SecondDialog" Before="ExecuteAction">NOT Installed</Show>
29
+ <Show Dialog="FirstDialog" Before="SecondDialog" Condition="Installed AND PATCH" />
30
+ <Show Dialog="SecondDialog" Before="ExecuteAction" Condition="NOT Installed" />
31
</InstallUISequence>
32
</UI>
33
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">