Update CreateBootstrapperApplicationManifest to better match v3 output.
Sean Hall committed
Apr 10, 2020 at 15:46 UTC
fecacf19e8ea73500b7a936f809dc92f7317886b
1 file changed
+48
-12
src/WixToolset.Core.Burn/Bundles/CreateBootstrapperApplicationManifestCommand.cs
+48
-12
@@ -83,7 +83,7 @@ namespace WixToolset.Core.Burn.Bundles
83
writer.WriteAttributeString("DisplayName", this.BundleTuple.Name);
84
writer.WriteAttributeString("LogPathVariable", this.BundleTuple.LogPathVariable);
85
writer.WriteAttributeString("Compressed", this.BundleTuple.Compressed == true ? "yes" : "no");
86
- writer.WriteAttributeString("BundleId", this.BundleTuple.BundleId.ToUpperInvariant());
86
+ writer.WriteAttributeString("Id", this.BundleTuple.BundleId.ToUpperInvariant());
87
writer.WriteAttributeString("UpgradeCode", this.BundleTuple.UpgradeCode);
88
writer.WriteAttributeString("PerMachine", this.BundleTuple.PerMachine ? "yes" : "no");
89
@@ -98,12 +98,21 @@ namespace WixToolset.Core.Burn.Bundles
98
99
var size = package.PackageTuple.Size.ToString(CultureInfo.InvariantCulture);
100
101
- writer.WriteStartElement("WixBundleProperties");
101
+ writer.WriteStartElement("WixPackageProperties");
102
103
writer.WriteAttributeString("Package", package.PackageId);
104
writer.WriteAttributeString("Vital", package.PackageTuple.Vital == true ? "yes" : "no");
105
- writer.WriteAttributeString("DisplayName", package.PackageTuple.DisplayName);
106
- writer.WriteAttributeString("Description", package.PackageTuple.Description);
105
+
106
+ if (!String.IsNullOrEmpty(package.PackageTuple.DisplayName))
107
+ {
108
+ writer.WriteAttributeString("DisplayName", package.PackageTuple.DisplayName);
109
+ }
110
+
111
+ if (!String.IsNullOrEmpty(package.PackageTuple.Description))
112
+ {
113
+ writer.WriteAttributeString("Description", package.PackageTuple.Description);
114
+ }
115
+
116
writer.WriteAttributeString("DownloadSize", size);
117
writer.WriteAttributeString("PackageSize", size);
118
writer.WriteAttributeString("InstalledSize", package.PackageTuple.InstallSize?.ToString(CultureInfo.InvariantCulture) ?? size);
@@ -175,9 +184,22 @@ namespace WixToolset.Core.Burn.Bundles
184
writer.WriteAttributeString("Package", featureTuple.PackageRef);
185
writer.WriteAttributeString("Feature", featureTuple.Name);
186
writer.WriteAttributeString("Size", featureTuple.Size.ToString(CultureInfo.InvariantCulture));
178
- writer.WriteAttributeString("Parent", featureTuple.Parent);
179
- writer.WriteAttributeString("Title", featureTuple.Title);
180
- writer.WriteAttributeString("Description", featureTuple.Description);
187
+
188
+ if (!String.IsNullOrEmpty(featureTuple.Parent))
189
+ {
190
+ writer.WriteAttributeString("Parent", featureTuple.Parent);
191
+ }
192
+
193
+ if (!String.IsNullOrEmpty(featureTuple.Title))
194
+ {
195
+ writer.WriteAttributeString("Title", featureTuple.Title);
196
+ }
197
+
198
+ if (!String.IsNullOrEmpty(featureTuple.Description))
199
+ {
200
+ writer.WriteAttributeString("Description", featureTuple.Description);
201
+ }
202
+
203
writer.WriteAttributeString("Display", featureTuple.Display.ToString(CultureInfo.InvariantCulture));
204
writer.WriteAttributeString("Level", featureTuple.Level.ToString(CultureInfo.InvariantCulture));
205
writer.WriteAttributeString("Directory", featureTuple.Directory);
@@ -193,14 +215,28 @@ namespace WixToolset.Core.Burn.Bundles
215
216
foreach (var payloadTuple in payloadTuples)
217
{
196
- writer.WriteStartElement("WixPackageFeatureInfo");
218
+ writer.WriteStartElement("WixPayloadProperties");
219
+
220
+ writer.WriteAttributeString("Payload", payloadTuple.Id.Id);
221
+
222
+ if (!String.IsNullOrEmpty(payloadTuple.PackageRef))
223
+ {
224
+ writer.WriteAttributeString("Package", payloadTuple.PackageRef);
225
+ }
226
+
227
+ if (!String.IsNullOrEmpty(payloadTuple.ContainerRef))
228
+ {
229
+ writer.WriteAttributeString("Container", payloadTuple.ContainerRef);
230
+ }
231
198
- writer.WriteAttributeString("Id", payloadTuple.Id.Id);
199
- writer.WriteAttributeString("Package", payloadTuple.PackageRef);
200
- writer.WriteAttributeString("Container", payloadTuple.ContainerRef);
232
writer.WriteAttributeString("Name", payloadTuple.Name);
233
writer.WriteAttributeString("Size", payloadTuple.FileSize.ToString(CultureInfo.InvariantCulture));
203
- writer.WriteAttributeString("DownloadUrl", payloadTuple.DownloadUrl);
234
+
235
+ if (!String.IsNullOrEmpty(payloadTuple.DownloadUrl))
236
+ {
237
+ writer.WriteAttributeString("DownloadUrl", payloadTuple.DownloadUrl);
238
+ }
239
+
240
writer.WriteAttributeString("LayoutOnly", payloadTuple.LayoutOnly ? "yes" : "no");
241
242
writer.WriteEndElement();