main
cs 79 lines 2.45 KB
Raw
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.BootstrapperApplicationApi
4 {
5 using System;
6
7 /// <summary>
8 /// Command information passed from the engine for the BA to perform.
9 /// </summary>
10 public interface IBootstrapperCommand
11 {
12 /// <summary>
13 /// Gets the action for the BA to perform.
14 /// </summary>
15 LaunchAction Action { get; }
16
17 /// <summary>
18 /// Gets the display level for the BA.
19 /// </summary>
20 Display Display { get; }
21
22 /// <summary>
23 /// Gets the command line arguments.
24 /// </summary>
25 /// <returns>
26 /// Command line arguments not handled by the engine.
27 /// </returns>
28 string CommandLine { get; }
29
30 /// <summary>
31 /// Hint for the initial visibility of the window.
32 /// </summary>
33 int CmdShow { get; }
34
35 /// <summary>
36 /// Gets the method of how the engine was resumed from a previous installation step.
37 /// </summary>
38 ResumeType Resume { get; }
39
40 /// <summary>
41 /// Gets the handle to the splash screen window. If no splash screen was displayed this value will be IntPtr.Zero.
42 /// </summary>
43 IntPtr SplashScreen { get; }
44
45 /// <summary>
46 /// If this was run from a related bundle, specifies the relation type.
47 /// </summary>
48 RelationType Relation { get; }
49
50 /// <summary>
51 /// If this was run from a backward compatible bundle.
52 /// </summary>
53 bool Passthrough { get; }
54
55 /// <summary>
56 /// Gets layout directory.
57 /// </summary>
58 string LayoutDirectory { get; }
59
60 /// <summary>
61 /// Gets bootstrapper working folder.
62 /// </summary>
63 string BootstrapperWorkingFolder { get; }
64
65 /// <summary>
66 /// Gets path to BootstrapperApplicationData.xml.
67 /// </summary>
68 string BootstrapperApplicationDataPath { get; }
69
70 /// <summary>
71 /// Parses the command line arguments into an <see cref="IMbaCommand"/>.
72 /// </summary>
73 /// <returns>
74 /// The parsed information.
75 /// </returns>
76 /// <exception type="Win32Exception">The command line could not be parsed.</exception>
77 IMbaCommand ParseCommandLine();
78 }
79 }