-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUninstallRunner.cs
More file actions
41 lines (36 loc) · 1.38 KB
/
Copy pathUninstallRunner.cs
File metadata and controls
41 lines (36 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System.Diagnostics;
using System.IO;
using System.Windows;
using DataGateWin.Installer.Localization;
using MessageBox = System.Windows.MessageBox;
namespace DataGateWin.Installer;
internal static class UninstallRunner
{
/// <summary>
/// Removes shortcuts, registry entries, and the install directory.
/// Install folder is taken from the uninstall registry key, then <paramref name="installDirectoryFallback"/>.
/// </summary>
public static async Task ExecuteAsync(bool quiet, string? installDirectoryFallback = null, Action<string>? log = null)
{
void DefaultLog(string m) => Debug.WriteLine("[Uninstall] " + m);
var logger = log ?? DefaultLog;
await InstallerUninstaller.ExecuteAsync(
new DefaultInstallerUninstallSystem(),
quiet,
installDirectoryFallback,
logger)
.ConfigureAwait(false);
if (!quiet)
{
MessageBox.Show(
InstallerLoc.T("Install_UninstallSuccessBody"),
InstallerConstants.ProductName,
MessageBoxButton.OK,
MessageBoxImage.Information);
}
}
public static void Execute(bool quiet, string? installDirectoryFallback = null, Action<string>? log = null)
{
ExecuteAsync(quiet, installDirectoryFallback, log).GetAwaiter().GetResult();
}
}