aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Data/Rows/WixBundleMsiPackageRow.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Data/Rows/WixBundleMsiPackageRow.cs')
-rw-r--r--src/WixToolset.Data/Rows/WixBundleMsiPackageRow.cs137
1 files changed, 137 insertions, 0 deletions
diff --git a/src/WixToolset.Data/Rows/WixBundleMsiPackageRow.cs b/src/WixToolset.Data/Rows/WixBundleMsiPackageRow.cs
new file mode 100644
index 00000000..22e66a7a
--- /dev/null
+++ b/src/WixToolset.Data/Rows/WixBundleMsiPackageRow.cs
@@ -0,0 +1,137 @@
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
3namespace WixToolset.Data.Rows
4{
5 using System;
6 using System.Globalization;
7
8 /// <summary>
9 /// Specialization of a row for the WixBundleMsiPackage table.
10 /// </summary>
11 public sealed class WixBundleMsiPackageRow : Row
12 {
13 /// <summary>
14 /// Creates a WixBundleMsiPackage row that does not belong to a table.
15 /// </summary>
16 /// <param name="sourceLineNumbers">Original source lines for this row.</param>
17 /// <param name="tableDef">TableDefinition this row belongs to and should get its column definitions from.</param>
18 public WixBundleMsiPackageRow(SourceLineNumber sourceLineNumbers, TableDefinition tableDef) :
19 base(sourceLineNumbers, tableDef)
20 {
21 }
22
23 /// <summary>
24 /// Creates a WixBundleMsiPackageRow row that belongs to a table.
25 /// </summary>
26 /// <param name="sourceLineNumbers">Original source lines for this row.</param>
27 /// <param name="table">Table this row belongs to and should get its column definitions from.</param>
28 public WixBundleMsiPackageRow(SourceLineNumber sourceLineNumbers, Table table) :
29 base(sourceLineNumbers, table)
30 {
31 }
32
33 /// <summary>
34 /// Gets or sets the foreign key identifier to the ChainPackage row.
35 /// </summary>
36 public string ChainPackageId
37 {
38 get { return (string)this.Fields[0].Data; }
39 set { this.Fields[0].Data = value; }
40 }
41
42 /// <summary>
43 /// Gets or sets the raw MSI attributes of a package.
44 /// </summary>
45 public WixBundleMsiPackageAttributes Attributes
46 {
47 get { return (WixBundleMsiPackageAttributes)this.Fields[1].Data; }
48 set { this.Fields[1].Data = value; }
49 }
50
51 /// <summary>
52 /// Gets or sets the MSI package's product code.
53 /// </summary>
54 public string ProductCode
55 {
56 get { return (string)this.Fields[2].Data; }
57 set { this.Fields[2].Data = value; }
58 }
59
60 /// <summary>
61 /// Gets or sets the MSI package's upgrade code.
62 /// </summary>
63 public string UpgradeCode
64 {
65 get { return (string)this.Fields[3].Data; }
66 set { this.Fields[3].Data = value; }
67 }
68
69 /// <summary>
70 /// Gets or sets the product version of the MSI package.
71 /// </summary>
72 public string ProductVersion
73 {
74 get { return (string)this.Fields[4].Data; }
75 set { this.Fields[4].Data = value; }
76 }
77
78 /// <summary>
79 /// Gets or sets the language of the MSI package.
80 /// </summary>
81 public int ProductLanguage
82 {
83 get { return Convert.ToInt32(this.Fields[5].Data, CultureInfo.InvariantCulture); }
84 set { this.Fields[5].Data = value; }
85 }
86
87 /// <summary>
88 /// Gets or sets the product name of the MSI package.
89 /// </summary>
90 public string ProductName
91 {
92 get { return (string)this.Fields[6].Data; }
93 set { this.Fields[6].Data = value; }
94 }
95
96 /// <summary>
97 /// Gets or sets the MSI package's manufacturer.
98 /// </summary>
99 public string Manufacturer
100 {
101 get { return (string)this.Fields[7].Data; }
102 set { this.Fields[7].Data = value; }
103 }
104
105 /// <summary>
106 /// Gets the display internal UI of a package.
107 /// </summary>
108 public bool DisplayInternalUI
109 {
110 get { return 0 != (this.Attributes & WixBundleMsiPackageAttributes.DisplayInternalUI); }
111 }
112
113 /// <summary>
114 /// Gets the display internal UI of a package.
115 /// </summary>
116 public bool EnableFeatureSelection
117 {
118 get { return 0 != (this.Attributes & WixBundleMsiPackageAttributes.EnableFeatureSelection); }
119 }
120
121 /// <summary>
122 /// Gets the display internal UI of a package.
123 /// </summary>
124 public bool ForcePerMachine
125 {
126 get { return 0 != (this.Attributes & WixBundleMsiPackageAttributes.ForcePerMachine); }
127 }
128
129 /// <summary>
130 /// Gets the suppress loose file payload generation of a package.
131 /// </summary>
132 public bool SuppressLooseFilePayloadGeneration
133 {
134 get { return 0 != (this.Attributes & WixBundleMsiPackageAttributes.SuppressLooseFilePayloadGeneration); }
135 }
136 }
137}