Update PopulatesCustomActionTable to verify scheduling of a custom action.
Sean Hall committed
Nov 7, 2019 at 15:27 UTC
38d85261d5a64f97d6260b5bf07d101711ca9ed9
2 files changed
+80
-5
src/test/WixToolsetTest.CoreIntegration/MsiQueryFixture.cs
+64
-5
@@ -252,7 +252,7 @@ namespace WixToolsetTest.CoreIntegration
252
}
253
}
254
255
- [Fact]
255
+ [Fact(Skip = "Test demonstrates failure")]
256
public void PopulatesCustomActionTable()
257
{
258
var folder = TestData.Get(@"TestData");
@@ -277,17 +277,76 @@ namespace WixToolsetTest.CoreIntegration
277
result.AssertSuccess();
278
279
Assert.True(File.Exists(msiPath));
280
- var results = Query.QueryDatabase(msiPath, new[] { "Binary", "CustomAction" });
280
+ var results = Query.QueryDatabase(msiPath, new[] {
281
+ "AdminExecuteSequence",
282
+ "AdminUISequence",
283
+ "AdvtExecuteSequence",
284
+ "Binary",
285
+ "CustomAction",
286
+ "InstallExecuteSequence",
287
+ "InstallUISequence",
288
+ "Property",
289
+ }).Where(x => !x.StartsWith("Property:") || x.StartsWith("Property:MsiHiddenProperties\t")).ToArray();
290
Assert.Equal(new[]
291
{
292
+ "AdminExecuteSequence:CostFinalize\t\t1000",
293
+ "AdminExecuteSequence:CostInitialize\t\t800",
294
+ "AdminExecuteSequence:CustomAction2\t\t801",
295
+ "AdminExecuteSequence:FileCost\t\t900",
296
+ "AdminExecuteSequence:InstallAdminPackage\t\t3900",
297
+ "AdminExecuteSequence:InstallFiles\t\t4000",
298
+ "AdminExecuteSequence:InstallFinalize\t\t6600",
299
+ "AdminExecuteSequence:InstallInitialize\t\t1500",
300
+ "AdminExecuteSequence:InstallValidate\t\t1400",
301
+ "AdminUISequence:CostFinalize\t\t1000",
302
+ "AdminUISequence:CostInitialize\t\t800",
303
+ "AdminUISequence:CustomAction2\t\t801",
304
+ "AdminUISequence:ExecuteAction\t\t1300",
305
+ "AdminUISequence:FileCost\t\t900",
306
+ "AdvtExecuteSequence:CostFinalize\t\t1000",
307
+ "AdvtExecuteSequence:CostInitialize\t\t800",
308
+ "AdvtExecuteSequence:CustomAction2\t\t801",
309
+ "AdvtExecuteSequence:InstallFinalize\t\t6600",
310
+ "AdvtExecuteSequence:InstallInitialize\t\t1500",
311
+ "AdvtExecuteSequence:InstallValidate\t\t1400",
312
+ "AdvtExecuteSequence:PublishFeatures\t\t6300",
313
+ "AdvtExecuteSequence:PublishProduct\t\t6400",
314
"Binary:Binary1\t[Binary data]",
315
"CustomAction:CustomAction1\t1\tBinary1\tInvalidEntryPoint\t",
316
+ "CustomAction:CustomAction2\t51\tTestAdvtExecuteSequenceProperty\t1\t",
317
"CustomAction:CustomActionWithHiddenTarget\t9217\tBinary1\tInvalidEntryPoint\t",
318
"CustomAction:DiscardOptimismAllBeingsWhoProceed\t19\t\tAbandon hope all ye who enter here.\t",
319
+ "InstallExecuteSequence:CostFinalize\t\t1000",
320
+ "InstallExecuteSequence:CostInitialize\t\t800",
321
+ "InstallExecuteSequence:CustomAction2\t\t801",
322
+ "InstallExecuteSequence:FileCost\t\t900",
323
+ "InstallExecuteSequence:FindRelatedProducts\t\t25",
324
+ "InstallExecuteSequence:InstallFiles\t\t4000",
325
+ "InstallExecuteSequence:InstallFinalize\t\t6600",
326
+ "InstallExecuteSequence:InstallInitialize\t\t1500",
327
+ "InstallExecuteSequence:InstallValidate\t\t1400",
328
+ "InstallExecuteSequence:LaunchConditions\t\t100",
329
+ "InstallExecuteSequence:MigrateFeatureStates\t\t1200",
330
+ "InstallExecuteSequence:ProcessComponents\t\t1600",
331
+ "InstallExecuteSequence:PublishFeatures\t\t6300",
332
+ "InstallExecuteSequence:PublishProduct\t\t6400",
333
+ "InstallExecuteSequence:RegisterProduct\t\t6100",
334
+ "InstallExecuteSequence:RegisterUser\t\t6000",
335
+ "InstallExecuteSequence:RemoveExistingProducts\t\t1401",
336
+ "InstallExecuteSequence:RemoveFiles\t\t3500",
337
+ "InstallExecuteSequence:UnpublishFeatures\t\t1800",
338
+ "InstallExecuteSequence:ValidateProductID\t\t700",
339
+ "InstallUISequence:CostFinalize\t\t1000",
340
+ "InstallUISequence:CostInitialize\t\t800",
341
+ "InstallUISequence:CustomAction2\t\t801",
342
+ "InstallUISequence:ExecuteAction\t\t1300",
343
+ "InstallUISequence:FileCost\t\t900",
344
+ "InstallUISequence:FindRelatedProducts\t\t25",
345
+ "InstallUISequence:LaunchConditions\t\t100",
346
+ "InstallUISequence:MigrateFeatureStates\t\t1200",
347
+ "InstallUISequence:ValidateProductID\t\t700",
348
+ "Property:MsiHiddenProperties\tCustomActionWithHiddenTarget",
349
}, results);
288
- var properties = Query.QueryDatabase(msiPath, new[] { "Property" });
289
- var hiddenProperties = properties.Where(q => q.StartsWith("Property:MsiHiddenProperties")).Single();
290
- Assert.Equal("Property:MsiHiddenProperties\tCustomActionWithHiddenTarget", hiddenProperties);
350
}
351
}
352
src/test/WixToolsetTest.CoreIntegration/TestData/CustomAction/UnscheduledCustomAction.wxs
+16
@@ -9,5 +9,21 @@
9
<CustomAction Id="CustomAction1" BinaryKey="Binary1" DllEntry="InvalidEntryPoint" />
10
<CustomAction Id="DiscardOptimismAllBeingsWhoProceed" Error="Abandon hope all ye who enter here." />
11
<CustomAction Id="CustomActionWithHiddenTarget" BinaryKey="Binary1" DllEntry="InvalidEntryPoint" Execute="deferred" HideTarget="yes" />
12
+ <CustomAction Id="CustomAction2" Property="TestAdvtExecuteSequenceProperty" Value="1" />
13
+ <AdminExecuteSequence>
14
+ <Custom Action="CustomAction2" After="CostInitialize" />
15
+ </AdminExecuteSequence>
16
+ <AdminUISequence>
17
+ <Custom Action="CustomAction2" After="CostInitialize" />
18
+ </AdminUISequence>
19
+ <AdvertiseExecuteSequence>
20
+ <Custom Action="CustomAction2" After="CostInitialize" />
21
+ </AdvertiseExecuteSequence>
22
+ <InstallExecuteSequence>
23
+ <Custom Action="CustomAction2" After="CostInitialize" />
24
+ </InstallExecuteSequence>
25
+ <InstallUISequence>
26
+ <Custom Action="CustomAction2" After="CostInitialize" />
27
+ </InstallUISequence>
28
</Fragment>
29
</Wix>