|
4 | 4 | using System.IO;
|
5 | 5 | using System.Linq;
|
6 | 6 | using System.Net.Http;
|
7 |
| -using System.Text; |
8 | 7 | using System.Threading.Tasks;
|
9 | 8 |
|
10 | 9 | namespace VisualStudio
|
11 | 10 | {
|
12 | 11 | class InstallerService
|
13 | 12 | {
|
14 |
| - public Task InstallAsync(Channel? channel, Sku? sku, IEnumerable<string> args, TextWriter output) => |
15 |
| - RunAsync(string.Empty, channel, sku, args, output); |
| 13 | + public Task InstallAsync(Channel? channel, Sku? sku, IEnumerable<string> args, TextWriter output) |
| 14 | + => RunAsync(string.Empty, channel, sku, args, output); |
16 | 15 |
|
17 |
| - public Task UpdateAsync(Channel? channel, Sku? sku, IEnumerable<string> args, TextWriter output) => |
18 |
| - RunAsync("update", channel, sku, args, output); |
| 16 | + public Task UpdateAsync(Channel? channel, Sku? sku, IEnumerable<string> args, TextWriter output) |
| 17 | + => RunAsync("update", channel, sku, args, output); |
19 | 18 |
|
20 |
| - public Task ModifyAsync(Channel? channel, Sku? sku, IEnumerable<string> args, TextWriter output) => |
21 |
| - RunAsync("modify", channel, sku, args, output); |
| 19 | + public Task ModifyAsync(Channel? channel, Sku? sku, IEnumerable<string> args, TextWriter output) |
| 20 | + => RunAsync("modify", channel, sku, args, output); |
22 | 21 |
|
23 |
| - async Task RunAsync(string command, Channel? channel, Sku? sku, IEnumerable<string> args, TextWriter output) |
24 |
| - { |
25 |
| - var uri = new StringBuilder("https://aka.ms/vs/16/"); |
26 |
| - uri = uri.Append(MapChannel(channel)); |
27 |
| - uri = uri.Append("/vs_"); |
28 |
| - uri = uri.Append(MapSku(sku)); |
29 |
| - uri = uri.Append(".exe"); |
| 22 | + public Task UpdateAsync(string channelUri, Sku? sku, IEnumerable<string> args, TextWriter output) |
| 23 | + => RunAsync("update", channelUri, sku, args, output); |
| 24 | + |
| 25 | + public Task ModifyAsync(string channelUri, Sku? sku, IEnumerable<string> args, TextWriter output) |
| 26 | + => RunAsync("modify", channelUri, sku, args, output); |
30 | 27 |
|
31 |
| - var bootstrapper = await DownloadAsync(uri.ToString(), output); |
| 28 | + Task RunAsync(string command, Channel? channel, Sku? sku, IEnumerable<string> args, TextWriter output) |
| 29 | + => RunAsync(command, "https://aka.ms/vs/16/" + MapChannel(channel), sku, args, output); |
| 30 | + |
| 31 | + async Task RunAsync(string command, string channelUri, Sku? sku, IEnumerable<string> args, TextWriter output) |
| 32 | + { |
| 33 | + var bootstrapper = await DownloadAsync($"{channelUri}/vs_{MapSku(sku)}.exe", output); |
32 | 34 |
|
33 | 35 | var psi = new ProcessStartInfo(bootstrapper)
|
34 | 36 | {
|
|
0 commit comments