diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2022-07-19 15:15:31 -0500 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2022-07-20 08:53:56 -0500 |
commit | 93bb820eff547f8de304f05249f572da861256fb (patch) | |
tree | e926ae5c3b694553bb38963e7ab9ac28729148db /src/test/dtf/EmbeddedUI/SampleEmbeddedUI.cs | |
parent | 229242cf7c328b89b5aa65ed7a04e33c8b93b393 (diff) | |
download | wix-93bb820eff547f8de304f05249f572da861256fb.tar.gz wix-93bb820eff547f8de304f05249f572da861256fb.tar.bz2 wix-93bb820eff547f8de304f05249f572da861256fb.zip |
Improve DTF samples.
Diffstat (limited to 'src/test/dtf/EmbeddedUI/SampleEmbeddedUI.cs')
-rw-r--r-- | src/test/dtf/EmbeddedUI/SampleEmbeddedUI.cs | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/test/dtf/EmbeddedUI/SampleEmbeddedUI.cs b/src/test/dtf/EmbeddedUI/SampleEmbeddedUI.cs index b9cd213a..ae86dc97 100644 --- a/src/test/dtf/EmbeddedUI/SampleEmbeddedUI.cs +++ b/src/test/dtf/EmbeddedUI/SampleEmbeddedUI.cs | |||
@@ -11,6 +11,7 @@ namespace WixToolset.Samples.EmbeddedUI | |||
11 | 11 | ||
12 | public class SampleEmbeddedUI : IEmbeddedUI | 12 | public class SampleEmbeddedUI : IEmbeddedUI |
13 | { | 13 | { |
14 | private bool isMaintenance; | ||
14 | private Thread appThread; | 15 | private Thread appThread; |
15 | private Application app; | 16 | private Application app; |
16 | private SetupWizard setupWizard; | 17 | private SetupWizard setupWizard; |
@@ -46,11 +47,11 @@ namespace WixToolset.Samples.EmbeddedUI | |||
46 | 47 | ||
47 | if (String.Equals(session["REMOVE"], "All", StringComparison.OrdinalIgnoreCase)) | 48 | if (String.Equals(session["REMOVE"], "All", StringComparison.OrdinalIgnoreCase)) |
48 | { | 49 | { |
49 | // Don't show custom UI when uninstalling. | 50 | // Don't show custom UI when uninstall was specified on the command line. |
50 | return false; | 51 | return false; |
51 | |||
52 | // An embedded UI could display an uninstall wizard, it's just not imlemented here. | ||
53 | } | 52 | } |
53 | |||
54 | this.isMaintenance = session.EvaluateCondition("Installed"); | ||
54 | } | 55 | } |
55 | 56 | ||
56 | // Start the setup wizard on a separate thread. | 57 | // Start the setup wizard on a separate thread. |
@@ -69,6 +70,16 @@ namespace WixToolset.Samples.EmbeddedUI | |||
69 | } | 70 | } |
70 | else | 71 | else |
71 | { | 72 | { |
73 | switch (this.setupWizard.Operation) | ||
74 | { | ||
75 | case SetupOperationType.Repair: | ||
76 | session["REINSTALL"] = "ALL"; | ||
77 | break; | ||
78 | case SetupOperationType.Uninstall: | ||
79 | session["REMOVE"] = "ALL"; | ||
80 | break; | ||
81 | } | ||
82 | |||
72 | // Start the installation with a silenced internal UI. | 83 | // Start the installation with a silenced internal UI. |
73 | // This "embedded external UI" will handle message types except for source resolution. | 84 | // This "embedded external UI" will handle message types except for source resolution. |
74 | internalUILevel = InstallUIOptions.NoChange | InstallUIOptions.SourceResolutionOnly; | 85 | internalUILevel = InstallUIOptions.NoChange | InstallUIOptions.SourceResolutionOnly; |
@@ -121,7 +132,7 @@ namespace WixToolset.Samples.EmbeddedUI | |||
121 | private void Run() | 132 | private void Run() |
122 | { | 133 | { |
123 | this.app = new Application(); | 134 | this.app = new Application(); |
124 | this.setupWizard = new SetupWizard(this.installStartEvent); | 135 | this.setupWizard = new SetupWizard(this.installStartEvent, this.isMaintenance); |
125 | this.setupWizard.InitializeComponent(); | 136 | this.setupWizard.InitializeComponent(); |
126 | this.app.Run(this.setupWizard); | 137 | this.app.Run(this.setupWizard); |
127 | this.installExitEvent.Set(); | 138 | this.installExitEvent.Set(); |