-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Program.cs
54 lines (48 loc) · 1.62 KB
/
Program.cs
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
42
43
44
45
46
47
48
49
50
51
52
53
54
using System;
using System.Threading;
namespace DotnetRuntimeInstaller
{
/// <summary>
/// DotnetRuntimeInstaller [-silent] [-desktop] [-web]
///
/// Examples:
///
/// DotnetRuntimeInstaller // uses default mode (web)
/// DotnetRuntimeInstaller -silent // uses default mode (web)
/// DotnetRuntimeInstaller -web -silent // explicit mode
/// DotnetRuntimeInstaller -desktop -silent // explicit mode
/// </summary>
internal class Program
{
static void Main(string[] args)
{
bool isSilent = Environment.CommandLine.Contains("-silent");
string mode = "web"; // default
if (Environment.CommandLine.Contains("-desktop"))
mode = "desktop";
else if (Environment.CommandLine.Contains("-web"))
mode = "web";
if (mode == "web")
{
if (WindowsHostingBundleInstaller.CheckAndInstallRuntime(isSilent))
{
if (!isSilent)
Thread.Sleep(2000);
Environment.Exit(1);
}
}
else if (mode == "desktop")
{
if (!DesktopRuntimeInstaller.CheckAndInstallRuntime(isSilent))
{
if (!isSilent)
Thread.Sleep(2000);
Environment.Exit(1);
}
}
// display final message
if (!isSilent)
Thread.Sleep(2000);
}
}
}