aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Data/Tuples/ServiceInstallTuple.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Data/Tuples/ServiceInstallTuple.cs')
-rw-r--r--src/WixToolset.Data/Tuples/ServiceInstallTuple.cs67
1 files changed, 50 insertions, 17 deletions
diff --git a/src/WixToolset.Data/Tuples/ServiceInstallTuple.cs b/src/WixToolset.Data/Tuples/ServiceInstallTuple.cs
index cd02d21e..987dccd7 100644
--- a/src/WixToolset.Data/Tuples/ServiceInstallTuple.cs
+++ b/src/WixToolset.Data/Tuples/ServiceInstallTuple.cs
@@ -10,7 +10,6 @@ namespace WixToolset.Data
10 TupleDefinitionType.ServiceInstall, 10 TupleDefinitionType.ServiceInstall,
11 new[] 11 new[]
12 { 12 {
13 new IntermediateFieldDefinition(nameof(ServiceInstallTupleFields.ServiceInstall), IntermediateFieldType.String),
14 new IntermediateFieldDefinition(nameof(ServiceInstallTupleFields.Name), IntermediateFieldType.String), 13 new IntermediateFieldDefinition(nameof(ServiceInstallTupleFields.Name), IntermediateFieldType.String),
15 new IntermediateFieldDefinition(nameof(ServiceInstallTupleFields.DisplayName), IntermediateFieldType.String), 14 new IntermediateFieldDefinition(nameof(ServiceInstallTupleFields.DisplayName), IntermediateFieldType.String),
16 new IntermediateFieldDefinition(nameof(ServiceInstallTupleFields.ServiceType), IntermediateFieldType.Number), 15 new IntermediateFieldDefinition(nameof(ServiceInstallTupleFields.ServiceType), IntermediateFieldType.Number),
@@ -23,6 +22,8 @@ namespace WixToolset.Data
23 new IntermediateFieldDefinition(nameof(ServiceInstallTupleFields.Arguments), IntermediateFieldType.String), 22 new IntermediateFieldDefinition(nameof(ServiceInstallTupleFields.Arguments), IntermediateFieldType.String),
24 new IntermediateFieldDefinition(nameof(ServiceInstallTupleFields.Component_), IntermediateFieldType.String), 23 new IntermediateFieldDefinition(nameof(ServiceInstallTupleFields.Component_), IntermediateFieldType.String),
25 new IntermediateFieldDefinition(nameof(ServiceInstallTupleFields.Description), IntermediateFieldType.String), 24 new IntermediateFieldDefinition(nameof(ServiceInstallTupleFields.Description), IntermediateFieldType.String),
25 new IntermediateFieldDefinition(nameof(ServiceInstallTupleFields.Interactive), IntermediateFieldType.Bool),
26 new IntermediateFieldDefinition(nameof(ServiceInstallTupleFields.Vital), IntermediateFieldType.Bool),
26 }, 27 },
27 typeof(ServiceInstallTuple)); 28 typeof(ServiceInstallTuple));
28 } 29 }
@@ -32,7 +33,6 @@ namespace WixToolset.Data.Tuples
32{ 33{
33 public enum ServiceInstallTupleFields 34 public enum ServiceInstallTupleFields
34 { 35 {
35 ServiceInstall,
36 Name, 36 Name,
37 DisplayName, 37 DisplayName,
38 ServiceType, 38 ServiceType,
@@ -45,6 +45,33 @@ namespace WixToolset.Data.Tuples
45 Arguments, 45 Arguments,
46 Component_, 46 Component_,
47 Description, 47 Description,
48 Interactive,
49 Vital,
50 }
51
52 public enum ServiceType
53 {
54 KernelDriver,
55 SystemDriver,
56 OwnProcess = 4,
57 ShareProcess = 8,
58 InteractiveProcess = 256,
59 }
60
61 public enum ServiceStartType
62 {
63 Boot,
64 System,
65 Auto,
66 Demand,
67 Disabled,
68 }
69
70 public enum ServiceErrorControl
71 {
72 Ignore,
73 Normal,
74 Critical = 3,
48 } 75 }
49 76
50 public class ServiceInstallTuple : IntermediateTuple 77 public class ServiceInstallTuple : IntermediateTuple
@@ -59,12 +86,6 @@ namespace WixToolset.Data.Tuples
59 86
60 public IntermediateField this[ServiceInstallTupleFields index] => this.Fields[(int)index]; 87 public IntermediateField this[ServiceInstallTupleFields index] => this.Fields[(int)index];
61 88
62 public string ServiceInstall
63 {
64 get => (string)this.Fields[(int)ServiceInstallTupleFields.ServiceInstall]?.Value;
65 set => this.Set((int)ServiceInstallTupleFields.ServiceInstall, value);
66 }
67
68 public string Name 89 public string Name
69 { 90 {
70 get => (string)this.Fields[(int)ServiceInstallTupleFields.Name]?.Value; 91 get => (string)this.Fields[(int)ServiceInstallTupleFields.Name]?.Value;
@@ -77,22 +98,22 @@ namespace WixToolset.Data.Tuples
77 set => this.Set((int)ServiceInstallTupleFields.DisplayName, value); 98 set => this.Set((int)ServiceInstallTupleFields.DisplayName, value);
78 } 99 }
79 100
80 public int ServiceType 101 public ServiceType ServiceType
81 { 102 {
82 get => (int)this.Fields[(int)ServiceInstallTupleFields.ServiceType]?.Value; 103 get => (ServiceType)this.Fields[(int)ServiceInstallTupleFields.ServiceType].AsNumber();
83 set => this.Set((int)ServiceInstallTupleFields.ServiceType, value); 104 set => this.Set((int)ServiceInstallTupleFields.ServiceType, (int)value);
84 } 105 }
85 106
86 public int StartType 107 public ServiceStartType StartType
87 { 108 {
88 get => (int)this.Fields[(int)ServiceInstallTupleFields.StartType]?.Value; 109 get => (ServiceStartType)this.Fields[(int)ServiceInstallTupleFields.StartType].AsNumber();
89 set => this.Set((int)ServiceInstallTupleFields.StartType, value); 110 set => this.Set((int)ServiceInstallTupleFields.StartType, (int)value);
90 } 111 }
91 112
92 public int ErrorControl 113 public ServiceErrorControl ErrorControl
93 { 114 {
94 get => (int)this.Fields[(int)ServiceInstallTupleFields.ErrorControl]?.Value; 115 get => (ServiceErrorControl)this.Fields[(int)ServiceInstallTupleFields.ErrorControl].AsNumber();
95 set => this.Set((int)ServiceInstallTupleFields.ErrorControl, value); 116 set => this.Set((int)ServiceInstallTupleFields.ErrorControl, (int)value);
96 } 117 }
97 118
98 public string LoadOrderGroup 119 public string LoadOrderGroup
@@ -136,5 +157,17 @@ namespace WixToolset.Data.Tuples
136 get => (string)this.Fields[(int)ServiceInstallTupleFields.Description]?.Value; 157 get => (string)this.Fields[(int)ServiceInstallTupleFields.Description]?.Value;
137 set => this.Set((int)ServiceInstallTupleFields.Description, value); 158 set => this.Set((int)ServiceInstallTupleFields.Description, value);
138 } 159 }
160
161 public bool Interactive
162 {
163 get => this.Fields[(int)ServiceInstallTupleFields.Interactive].AsBool();
164 set => this.Set((int)ServiceInstallTupleFields.Interactive, value);
165 }
166
167 public bool Vital
168 {
169 get => this.Fields[(int)ServiceInstallTupleFields.Vital].AsBool();
170 set => this.Set((int)ServiceInstallTupleFields.Vital, value);
171 }
139 } 172 }
140} \ No newline at end of file 173} \ No newline at end of file