Move codepage from section and to package, module, patch symbols
Contributes to wixtoolset/issues#5801
Rob Mensching committed
Apr 2, 2021 at 14:28 UTC
4bb99d4a7521f3182b3d8ea9833038dc067db118
10 files changed
+321
-185
src/WixToolset.Data/IntermediateSection.cs
+3
-13
@@ -18,13 +18,11 @@ namespace WixToolset.Data
18
/// </summary>
19
/// <param name="id">Identifier for section.</param>
20
/// <param name="type">Type of section.</param>
21
- /// <param name="codepage">Codepage for resulting database.</param>
21
/// <param name="compilationId">Optional compilation identifier</param>
23
- public IntermediateSection(string id, SectionType type, int codepage, string compilationId = null)
22
+ public IntermediateSection(string id, SectionType type, string compilationId = null)
23
{
24
this.Id = id;
25
this.Type = type;
27
- this.Codepage = codepage;
26
this.CompilationId = compilationId;
27
this.symbols = new List<IntermediateSymbol>();
28
}
@@ -41,12 +39,6 @@ namespace WixToolset.Data
39
/// <value>Type of section.</value>
40
public SectionType Type { get; }
41
44
- /// <summary>
45
- /// Gets the codepage for the section.
46
- /// </summary>
47
- /// <value>Codepage for the section.</value>
48
- public int Codepage { get; }
49
-
42
/// <summary>
43
/// Gets and sets the identifier of the compilation of the source file containing the section.
44
/// </summary>
@@ -98,7 +90,6 @@ namespace WixToolset.Data
90
/// </summary>
91
internal static IntermediateSection Deserialize(ISymbolDefinitionCreator creator, Uri baseUri, JsonObject jsonObject)
92
{
101
- var codepage = jsonObject.GetValueOrDefault("codepage", 0);
93
var id = jsonObject.GetValueOrDefault<string>("id");
94
var type = jsonObject.GetEnumOrDefault("type", SectionType.Unknown);
95
@@ -107,7 +98,7 @@ namespace WixToolset.Data
98
throw new ArgumentException("JSON object is not a valid section, unknown section type", nameof(type));
99
}
100
110
- var section = new IntermediateSection(id, type, codepage);
101
+ var section = new IntermediateSection(id, type);
102
103
var symbolsJson = jsonObject.GetValueOrDefault<JsonArray>("symbols");
104
@@ -124,8 +115,7 @@ namespace WixToolset.Data
115
{
116
var jsonObject = new JsonObject
117
{
127
- { "type", this.Type.ToString().ToLowerInvariant() },
128
- { "codepage", this.Codepage }
118
+ { "type", this.Type.ToString().ToLowerInvariant() }
119
};
120
121
if (!String.IsNullOrEmpty(this.Id))
src/WixToolset.Data/Localization.cs
+22
-7
@@ -18,9 +18,10 @@ namespace WixToolset.Data
18
/// <summary>
19
/// Instantiates a new localization object.
20
/// </summary>
21
- public Localization(int codepage, string culture, IDictionary<string, BindVariable> variables, IDictionary<string, LocalizedControl> localizedControls)
21
+ public Localization(int? codepage, int? summaryInformationCodepage, string culture, IDictionary<string, BindVariable> variables, IDictionary<string, LocalizedControl> localizedControls)
22
{
23
this.Codepage = codepage;
24
+ this.SummaryInformationCodepage = summaryInformationCodepage;
25
this.Culture = culture?.ToLowerInvariant() ?? String.Empty;
26
this.variables = new Dictionary<string, BindVariable>(variables);
27
this.localizedControls = new Dictionary<string, LocalizedControl>(localizedControls);
@@ -30,7 +31,13 @@ namespace WixToolset.Data
31
/// Gets the codepage.
32
/// </summary>
33
/// <value>The codepage.</value>
33
- public int Codepage { get; private set; }
34
+ public int? Codepage { get; private set; }
35
+
36
+ /// <summary>
37
+ /// Gets the summary information codepage.
38
+ /// </summary>
39
+ /// <value>The summary information codepage.</value>
40
+ public int? SummaryInformationCodepage { get; private set; }
41
42
/// <summary>
43
/// Gets the culture.
@@ -52,10 +59,17 @@ namespace WixToolset.Data
59
60
internal JsonObject Serialize()
61
{
55
- var jsonObject = new JsonObject
62
+ var jsonObject = new JsonObject();
63
+
64
+ if (this.Codepage.HasValue)
65
{
57
- { "codepage", this.Codepage },
58
- };
66
+ jsonObject.Add("codepage", this.Codepage.Value);
67
+ }
68
+
69
+ if (this.SummaryInformationCodepage.HasValue)
70
+ {
71
+ jsonObject.Add("summaryCodepage", this.SummaryInformationCodepage.Value);
72
+ }
73
74
jsonObject.AddIsNotNullOrEmpty("culture", this.Culture);
75
@@ -94,7 +108,8 @@ namespace WixToolset.Data
108
109
internal static Localization Deserialize(JsonObject jsonObject)
110
{
97
- var codepage = jsonObject.GetValueOrDefault("codepage", 0);
111
+ var codepage = jsonObject.GetValueOrDefault("codepage", null);
112
+ var summaryCodepage = jsonObject.GetValueOrDefault("summaryCodepage", null);
113
var culture = jsonObject.GetValueOrDefault<string>("culture");
114
115
var variables = new Dictionary<string, BindVariable>();
@@ -116,7 +131,7 @@ namespace WixToolset.Data
131
}
132
}
133
119
- return new Localization(codepage, culture, variables, controls);
134
+ return new Localization(codepage, summaryCodepage, culture, variables, controls);
135
}
136
}
137
}
src/WixToolset.Data/Symbols/ModuleSignatureSymbol.cs
deleted
-60
@@ -1,60 +0,0 @@
1
-// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
-
3
-namespace WixToolset.Data
4
-{
5
- using WixToolset.Data.Symbols;
6
-
7
- public static partial class SymbolDefinitions
8
- {
9
- public static readonly IntermediateSymbolDefinition ModuleSignature = new IntermediateSymbolDefinition(
10
- SymbolDefinitionType.ModuleSignature,
11
- new[]
12
- {
13
- new IntermediateFieldDefinition(nameof(ModuleSignatureSymbolFields.ModuleID), IntermediateFieldType.String),
14
- new IntermediateFieldDefinition(nameof(ModuleSignatureSymbolFields.Language), IntermediateFieldType.Number),
15
- new IntermediateFieldDefinition(nameof(ModuleSignatureSymbolFields.Version), IntermediateFieldType.String),
16
- },
17
- typeof(ModuleSignatureSymbol));
18
- }
19
-}
20
-
21
-namespace WixToolset.Data.Symbols
22
-{
23
- public enum ModuleSignatureSymbolFields
24
- {
25
- ModuleID,
26
- Language,
27
- Version,
28
- }
29
-
30
- public class ModuleSignatureSymbol : IntermediateSymbol
31
- {
32
- public ModuleSignatureSymbol() : base(SymbolDefinitions.ModuleSignature, null, null)
33
- {
34
- }
35
-
36
- public ModuleSignatureSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(SymbolDefinitions.ModuleSignature, sourceLineNumber, id)
37
- {
38
- }
39
-
40
- public IntermediateField this[ModuleSignatureSymbolFields index] => this.Fields[(int)index];
41
-
42
- public string ModuleID
43
- {
44
- get => (string)this.Fields[(int)ModuleSignatureSymbolFields.ModuleID];
45
- set => this.Set((int)ModuleSignatureSymbolFields.ModuleID, value);
46
- }
47
-
48
- public int Language
49
- {
50
- get => (int)this.Fields[(int)ModuleSignatureSymbolFields.Language];
51
- set => this.Set((int)ModuleSignatureSymbolFields.Language, value);
52
- }
53
-
54
- public string Version
55
- {
56
- get => (string)this.Fields[(int)ModuleSignatureSymbolFields.Version];
57
- set => this.Set((int)ModuleSignatureSymbolFields.Version, value);
58
- }
59
- }
60
-}
\ No newline at end of file
src/WixToolset.Data/Symbols/SymbolDefinitions.cs
+9
-5
@@ -56,7 +56,7 @@ namespace WixToolset.Data
56
ModuleDependency,
57
ModuleExclusion,
58
ModuleIgnoreTable,
59
- ModuleSignature,
59
+ WixModule,
60
ModuleSubstitution,
61
MoveFile,
62
Assembly,
@@ -172,9 +172,10 @@ namespace WixToolset.Data
172
WixMediaTemplate,
173
WixMerge,
174
WixOrdering,
175
+ WixPackage,
176
WixPatchBaseline,
177
WixPatchFamilyGroup,
177
- WixPatchId,
178
+ WixPatch,
179
WixPatchRef,
180
WixPatchTarget,
181
WixProductSearch,
@@ -362,8 +363,8 @@ namespace WixToolset.Data
363
case SymbolDefinitionType.ModuleIgnoreTable:
364
return SymbolDefinitions.ModuleIgnoreTable;
365
365
- case SymbolDefinitionType.ModuleSignature:
366
- return SymbolDefinitions.ModuleSignature;
366
+ case SymbolDefinitionType.WixModule:
367
+ return SymbolDefinitions.WixModule;
368
369
case SymbolDefinitionType.ModuleSubstitution:
370
return SymbolDefinitions.ModuleSubstitution;
@@ -707,13 +708,16 @@ namespace WixToolset.Data
708
case SymbolDefinitionType.WixOrdering:
709
return SymbolDefinitions.WixOrdering;
710
711
+ case SymbolDefinitionType.WixPackage:
712
+ return SymbolDefinitions.WixPackage;
713
+
714
case SymbolDefinitionType.WixPatchBaseline:
715
return SymbolDefinitions.WixPatchBaseline;
716
717
case SymbolDefinitionType.WixPatchFamilyGroup:
718
return SymbolDefinitions.WixPatchFamilyGroup;
719
716
- case SymbolDefinitionType.WixPatchId:
720
+ case SymbolDefinitionType.WixPatch:
721
return SymbolDefinitions.WixPatchId;
722
723
case SymbolDefinitionType.WixPatchRef:
src/WixToolset.Data/Symbols/WixModuleSymbol.cs
new
+68
@@ -0,0 +1,68 @@
1
+// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
+
3
+namespace WixToolset.Data
4
+{
5
+ using WixToolset.Data.Symbols;
6
+
7
+ public static partial class SymbolDefinitions
8
+ {
9
+ public static readonly IntermediateSymbolDefinition WixModule = new IntermediateSymbolDefinition(
10
+ SymbolDefinitionType.WixModule,
11
+ new[]
12
+ {
13
+ new IntermediateFieldDefinition(nameof(WixModuleSymbolFields.ModuleId), IntermediateFieldType.String),
14
+ new IntermediateFieldDefinition(nameof(WixModuleSymbolFields.Language), IntermediateFieldType.String),
15
+ new IntermediateFieldDefinition(nameof(WixModuleSymbolFields.Version), IntermediateFieldType.String),
16
+ new IntermediateFieldDefinition(nameof(WixModuleSymbolFields.Codepage), IntermediateFieldType.String),
17
+ },
18
+ typeof(WixModuleSymbol));
19
+ }
20
+}
21
+
22
+namespace WixToolset.Data.Symbols
23
+{
24
+ public enum WixModuleSymbolFields
25
+ {
26
+ ModuleId,
27
+ Language,
28
+ Version,
29
+ Codepage,
30
+ }
31
+
32
+ public class WixModuleSymbol : IntermediateSymbol
33
+ {
34
+ public WixModuleSymbol() : base(SymbolDefinitions.WixModule, null, null)
35
+ {
36
+ }
37
+
38
+ public WixModuleSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(SymbolDefinitions.WixModule, sourceLineNumber, id)
39
+ {
40
+ }
41
+
42
+ public IntermediateField this[WixModuleSymbolFields index] => this.Fields[(int)index];
43
+
44
+ public string ModuleId
45
+ {
46
+ get => (string)this.Fields[(int)WixModuleSymbolFields.ModuleId];
47
+ set => this.Set((int)WixModuleSymbolFields.ModuleId, value);
48
+ }
49
+
50
+ public string Language
51
+ {
52
+ get => (string)this.Fields[(int)WixModuleSymbolFields.Language];
53
+ set => this.Set((int)WixModuleSymbolFields.Language, value);
54
+ }
55
+
56
+ public string Version
57
+ {
58
+ get => (string)this.Fields[(int)WixModuleSymbolFields.Version];
59
+ set => this.Set((int)WixModuleSymbolFields.Version, value);
60
+ }
61
+
62
+ public string Codepage
63
+ {
64
+ get => (string)this.Fields[(int)WixModuleSymbolFields.Codepage];
65
+ set => this.Set((int)WixModuleSymbolFields.Codepage, value);
66
+ }
67
+ }
68
+}
src/WixToolset.Data/Symbols/WixPackageSymbol.cs
new
+111
@@ -0,0 +1,111 @@
1
+// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
+
3
+namespace WixToolset.Data
4
+{
5
+ using WixToolset.Data.Symbols;
6
+
7
+ public static partial class SymbolDefinitions
8
+ {
9
+ public static readonly IntermediateSymbolDefinition WixPackage = new IntermediateSymbolDefinition(
10
+ SymbolDefinitionType.WixPackage,
11
+ new[]
12
+ {
13
+ new IntermediateFieldDefinition(nameof(WixPackageSymbolFields.PackageId), IntermediateFieldType.String),
14
+ new IntermediateFieldDefinition(nameof(WixPackageSymbolFields.UpgradeCode), IntermediateFieldType.String),
15
+ new IntermediateFieldDefinition(nameof(WixPackageSymbolFields.Name), IntermediateFieldType.String),
16
+ new IntermediateFieldDefinition(nameof(WixPackageSymbolFields.Language), IntermediateFieldType.String),
17
+ new IntermediateFieldDefinition(nameof(WixPackageSymbolFields.Version), IntermediateFieldType.String),
18
+ new IntermediateFieldDefinition(nameof(WixPackageSymbolFields.Manufacturer), IntermediateFieldType.String),
19
+ new IntermediateFieldDefinition(nameof(WixPackageSymbolFields.Attributes), IntermediateFieldType.Number),
20
+ new IntermediateFieldDefinition(nameof(WixPackageSymbolFields.Codepage), IntermediateFieldType.String),
21
+ },
22
+ typeof(WixPackageSymbol));
23
+ }
24
+}
25
+
26
+namespace WixToolset.Data.Symbols
27
+{
28
+ using System;
29
+
30
+ public enum WixPackageSymbolFields
31
+ {
32
+ PackageId,
33
+ UpgradeCode,
34
+ Name,
35
+ Language,
36
+ Version,
37
+ Manufacturer,
38
+ Attributes,
39
+ Codepage,
40
+ }
41
+
42
+ [Flags]
43
+ public enum WixPackageAttributes
44
+ {
45
+ None = 0x0,
46
+ PerMachine = 0x1,
47
+ }
48
+
49
+ public class WixPackageSymbol : IntermediateSymbol
50
+ {
51
+ public WixPackageSymbol() : base(SymbolDefinitions.WixPackage, null, null)
52
+ {
53
+ }
54
+
55
+ public WixPackageSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(SymbolDefinitions.WixPackage, sourceLineNumber, id)
56
+ {
57
+ }
58
+
59
+ public IntermediateField this[WixPackageSymbolFields index] => this.Fields[(int)index];
60
+
61
+ public string PackageId
62
+ {
63
+ get => (string)this.Fields[(int)WixPackageSymbolFields.PackageId];
64
+ set => this.Set((int)WixPackageSymbolFields.PackageId, value);
65
+ }
66
+
67
+ public string UpgradeCode
68
+ {
69
+ get => (string)this.Fields[(int)WixPackageSymbolFields.UpgradeCode];
70
+ set => this.Set((int)WixPackageSymbolFields.UpgradeCode, value);
71
+ }
72
+
73
+ public string Name
74
+ {
75
+ get => (string)this.Fields[(int)WixPackageSymbolFields.Name];
76
+ set => this.Set((int)WixPackageSymbolFields.Name, value);
77
+ }
78
+
79
+ public string Language
80
+ {
81
+ get => (string)this.Fields[(int)WixPackageSymbolFields.Language];
82
+ set => this.Set((int)WixPackageSymbolFields.Language, value);
83
+ }
84
+
85
+ public string Version
86
+ {
87
+ get => (string)this.Fields[(int)WixPackageSymbolFields.Version];
88
+ set => this.Set((int)WixPackageSymbolFields.Version, value);
89
+ }
90
+
91
+ public string Manufacturer
92
+ {
93
+ get => (string)this.Fields[(int)WixPackageSymbolFields.Manufacturer];
94
+ set => this.Set((int)WixPackageSymbolFields.Manufacturer, value);
95
+ }
96
+
97
+ public WixPackageAttributes Attributes
98
+ {
99
+ get => (WixPackageAttributes)this.Fields[(int)WixPackageSymbolFields.Attributes].AsNumber();
100
+ set => this.Set((int)WixPackageSymbolFields.Attributes, (int)value);
101
+ }
102
+
103
+ public string Codepage
104
+ {
105
+ get => (string)this.Fields[(int)WixPackageSymbolFields.Codepage];
106
+ set => this.Set((int)WixPackageSymbolFields.Codepage, value);
107
+ }
108
+
109
+ public bool PerMachine => (this.Attributes & WixPackageAttributes.PerMachine) == WixPackageAttributes.PerMachine;
110
+ }
111
+}
src/WixToolset.Data/Symbols/WixPatchIdSymbol.cs
deleted
-90
@@ -1,90 +0,0 @@
1
-// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
-
3
-namespace WixToolset.Data
4
-{
5
- using WixToolset.Data.Symbols;
6
-
7
- public static partial class SymbolDefinitions
8
- {
9
- public static readonly IntermediateSymbolDefinition WixPatchId = new IntermediateSymbolDefinition(
10
- SymbolDefinitionType.WixPatchId,
11
- new[]
12
- {
13
- new IntermediateFieldDefinition(nameof(WixPatchIdSymbolFields.ClientPatchId), IntermediateFieldType.String),
14
- new IntermediateFieldDefinition(nameof(WixPatchIdSymbolFields.OptimizePatchSizeForLargeFiles), IntermediateFieldType.Bool),
15
- new IntermediateFieldDefinition(nameof(WixPatchIdSymbolFields.ApiPatchingSymbolFlags), IntermediateFieldType.Number),
16
- },
17
- typeof(WixPatchIdSymbol));
18
- }
19
-}
20
-
21
-namespace WixToolset.Data.Symbols
22
-{
23
- using System;
24
-
25
- public enum WixPatchIdSymbolFields
26
- {
27
- ClientPatchId,
28
- OptimizePatchSizeForLargeFiles,
29
- ApiPatchingSymbolFlags,
30
- }
31
-
32
- /// <summary>
33
- /// The following flags are used with PATCH_OPTION_DATA SymbolOptionFlags:
34
- /// </summary>
35
- [Flags]
36
- [CLSCompliant(false)]
37
- public enum PatchSymbolFlags : uint
38
- {
39
- /// <summary>
40
- /// Don't use imagehlp.dll
41
- /// </summary>
42
- PatchSymbolNoImagehlp = 0x00000001,
43
-
44
- /// <summary>
45
- /// Don't fail patch due to imagehlp failures.
46
- /// </summary>
47
- PatchSymbolNoFailures = 0x00000002,
48
-
49
- /// <summary>
50
- /// After matching decorated symbols, try to match remaining by undecorated names.
51
- /// </summary>
52
- PatchSymbolUndecoratedToo = 0x00000004,
53
-
54
- /// <summary>
55
- /// (used internally)
56
- /// </summary>
57
- PatchSymbolReserved = 0x80000000,
58
- }
59
-
60
- public class WixPatchIdSymbol : IntermediateSymbol
61
- {
62
- public WixPatchIdSymbol() : base(SymbolDefinitions.WixPatchId, null, null)
63
- {
64
- }
65
-
66
- public WixPatchIdSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(SymbolDefinitions.WixPatchId, sourceLineNumber, id)
67
- {
68
- }
69
-
70
- public IntermediateField this[WixPatchIdSymbolFields index] => this.Fields[(int)index];
71
-
72
- public string ClientPatchId
73
- {
74
- get => (string)this.Fields[(int)WixPatchIdSymbolFields.ClientPatchId];
75
- set => this.Set((int)WixPatchIdSymbolFields.ClientPatchId, value);
76
- }
77
-
78
- public bool? OptimizePatchSizeForLargeFiles
79
- {
80
- get => (bool?)this.Fields[(int)WixPatchIdSymbolFields.OptimizePatchSizeForLargeFiles];
81
- set => this.Set((int)WixPatchIdSymbolFields.OptimizePatchSizeForLargeFiles, value);
82
- }
83
-
84
- public int? ApiPatchingSymbolFlags
85
- {
86
- get => (int?)this.Fields[(int)WixPatchIdSymbolFields.ApiPatchingSymbolFlags];
87
- set => this.Set((int)WixPatchIdSymbolFields.ApiPatchingSymbolFlags, value);
88
- }
89
- }
90
-}
\ No newline at end of file
src/WixToolset.Data/Symbols/WixPatchSymbol.cs
new
+98
@@ -0,0 +1,98 @@
1
+// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
+
3
+namespace WixToolset.Data
4
+{
5
+ using WixToolset.Data.Symbols;
6
+
7
+ public static partial class SymbolDefinitions
8
+ {
9
+ public static readonly IntermediateSymbolDefinition WixPatchId = new IntermediateSymbolDefinition(
10
+ SymbolDefinitionType.WixPatch,
11
+ new[]
12
+ {
13
+ new IntermediateFieldDefinition(nameof(WixPatchSymbolFields.ClientPatchId), IntermediateFieldType.String),
14
+ new IntermediateFieldDefinition(nameof(WixPatchSymbolFields.OptimizePatchSizeForLargeFiles), IntermediateFieldType.Bool),
15
+ new IntermediateFieldDefinition(nameof(WixPatchSymbolFields.ApiPatchingSymbolFlags), IntermediateFieldType.Number),
16
+ new IntermediateFieldDefinition(nameof(WixPatchSymbolFields.Codepage), IntermediateFieldType.String),
17
+ },
18
+ typeof(WixPatchSymbol));
19
+ }
20
+}
21
+
22
+namespace WixToolset.Data.Symbols
23
+{
24
+ using System;
25
+
26
+ public enum WixPatchSymbolFields
27
+ {
28
+ ClientPatchId,
29
+ OptimizePatchSizeForLargeFiles,
30
+ ApiPatchingSymbolFlags,
31
+ Codepage,
32
+ }
33
+
34
+ /// <summary>
35
+ /// The following flags are used with PATCH_OPTION_DATA SymbolOptionFlags:
36
+ /// </summary>
37
+ [Flags]
38
+ [CLSCompliant(false)]
39
+ public enum PatchSymbolFlags : uint
40
+ {
41
+ /// <summary>
42
+ /// Don't use imagehlp.dll
43
+ /// </summary>
44
+ PatchSymbolNoImagehlp = 0x00000001,
45
+
46
+ /// <summary>
47
+ /// Don't fail patch due to imagehlp failures.
48
+ /// </summary>
49
+ PatchSymbolNoFailures = 0x00000002,
50
+
51
+ /// <summary>
52
+ /// After matching decorated symbols, try to match remaining by undecorated names.
53
+ /// </summary>
54
+ PatchSymbolUndecoratedToo = 0x00000004,
55
+
56
+ /// <summary>
57
+ /// (used internally)
58
+ /// </summary>
59
+ PatchSymbolReserved = 0x80000000,
60
+ }
61
+
62
+ public class WixPatchSymbol : IntermediateSymbol
63
+ {
64
+ public WixPatchSymbol() : base(SymbolDefinitions.WixPatchId, null, null)
65
+ {
66
+ }
67
+
68
+ public WixPatchSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(SymbolDefinitions.WixPatchId, sourceLineNumber, id)
69
+ {
70
+ }
71
+
72
+ public IntermediateField this[WixPatchSymbolFields index] => this.Fields[(int)index];
73
+
74
+ public string ClientPatchId
75
+ {
76
+ get => (string)this.Fields[(int)WixPatchSymbolFields.ClientPatchId];
77
+ set => this.Set((int)WixPatchSymbolFields.ClientPatchId, value);
78
+ }
79
+
80
+ public bool? OptimizePatchSizeForLargeFiles
81
+ {
82
+ get => (bool?)this.Fields[(int)WixPatchSymbolFields.OptimizePatchSizeForLargeFiles];
83
+ set => this.Set((int)WixPatchSymbolFields.OptimizePatchSizeForLargeFiles, value);
84
+ }
85
+
86
+ public int? ApiPatchingSymbolFlags
87
+ {
88
+ get => (int?)this.Fields[(int)WixPatchSymbolFields.ApiPatchingSymbolFlags];
89
+ set => this.Set((int)WixPatchSymbolFields.ApiPatchingSymbolFlags, value);
90
+ }
91
+
92
+ public string Codepage
93
+ {
94
+ get => (string)this.Fields[(int)WixPatchSymbolFields.Codepage];
95
+ set => this.Set((int)WixPatchSymbolFields.Codepage, value);
96
+ }
97
+ }
98
+}
\ No newline at end of file
src/WixToolset.Data/WindowsInstaller/WindowsInstallerTableDefinitions.cs
+1
-1
@@ -1440,7 +1440,7 @@ namespace WixToolset.Data.WindowsInstaller
1440
1441
public static readonly TableDefinition ModuleSignature = new TableDefinition(
1442
"ModuleSignature",
1443
- SymbolDefinitions.ModuleSignature,
1443
+ SymbolDefinitions.WixModule,
1444
new[]
1445
{
1446
new ColumnDefinition("ModuleID", ColumnType.String, 72, primaryKey: true, nullable: false, ColumnCategory.Identifier, description: "Module identifier (String.GUID).", modularizeType: ColumnModularizeType.Column),
src/test/WixToolsetTest.Data/SerializeFixture.cs
+9
-9
@@ -20,7 +20,7 @@ namespace WixToolsetTest.Data
20
{
21
var sln = new SourceLineNumber("test.wxs", 1);
22
23
- var section = new IntermediateSection("test", SectionType.Product, 65001);
23
+ var section = new IntermediateSection("test", SectionType.Product);
24
25
section.AddSymbol(new ComponentSymbol(sln, new Identifier(AccessModifier.Global, "TestComponent"))
26
{
@@ -62,7 +62,7 @@ namespace WixToolsetTest.Data
62
public void CanUpdateIntermediate()
63
{
64
var sln = new SourceLineNumber("test.wxs", 1);
65
- var section = new IntermediateSection("test", SectionType.Product, 65001);
65
+ var section = new IntermediateSection("test", SectionType.Product);
66
67
section.AddSymbol(new ComponentSymbol(sln, new Identifier(AccessModifier.Global, "TestComponent"))
68
{
@@ -119,7 +119,7 @@ namespace WixToolsetTest.Data
119
{
120
var sln = new SourceLineNumber("test.wxs", 1);
121
122
- var section = new IntermediateSection("test", SectionType.Product, 65001);
122
+ var section = new IntermediateSection("test", SectionType.Product);
123
124
var fieldDefs = new[]
125
{
@@ -178,7 +178,7 @@ namespace WixToolsetTest.Data
178
symbol.Set(1, 2);
179
symbol.Set(2, true);
180
181
- var section = new IntermediateSection("test", SectionType.Product, 65001);
181
+ var section = new IntermediateSection("test", SectionType.Product);
182
section.AddSymbol(symbol);
183
184
var intermediate1 = new Intermediate("TestIntermediate", new[] { section }, null);
@@ -200,7 +200,7 @@ namespace WixToolsetTest.Data
200
symbol2.Set(2, false);
201
symbol2.Set(3, "baz");
202
203
- var section2 = new IntermediateSection("test2", SectionType.Fragment, 65001);
203
+ var section2 = new IntermediateSection("test2", SectionType.Fragment);
204
section2.AddSymbol(symbol2);
205
206
var intermediate2 = new Intermediate("TestIntermediate2", new[] { section2 }, null);
@@ -261,7 +261,7 @@ namespace WixToolsetTest.Data
261
262
symbol.AddTag("symbol1tag");
263
264
- var section = new IntermediateSection("test", SectionType.Product, 65001);
264
+ var section = new IntermediateSection("test", SectionType.Product);
265
section.AddSymbol(symbol);
266
267
var intermediate1 = new Intermediate("TestIntermediate", new[] { section }, null);
@@ -289,7 +289,7 @@ namespace WixToolsetTest.Data
289
symbol2.AddTag("symbol2tag1");
290
symbol2.AddTag("symbol2tag2");
291
292
- var section2 = new IntermediateSection("test2", SectionType.Fragment, 65001);
292
+ var section2 = new IntermediateSection("test2", SectionType.Fragment);
293
section2.AddSymbol(symbol2);
294
295
var intermediate2 = new Intermediate("TestIntermediate2", new[] { section2 }, null);
@@ -351,10 +351,10 @@ namespace WixToolsetTest.Data
351
352
var localizations = new[]
353
{
354
- new Localization(65001, null, bindVariables.ToDictionary(b => b.Id), controls.ToDictionary(c => c.GetKey()))
354
+ new Localization(65001, 1252, null, bindVariables.ToDictionary(b => b.Id), controls.ToDictionary(c => c.GetKey()))
355
};
356
357
- var section = new IntermediateSection("test", SectionType.Product, 65001);
357
+ var section = new IntermediateSection("test", SectionType.Product);
358
359
section.AddSymbol(new ComponentSymbol(sln, new Identifier(AccessModifier.Global, "TestComponent"))
360
{