|
1 | 1 | # installing Windows Template Studio VSIX
|
2 |
| -$requestUri = "https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery" |
3 |
| -$requestBody = '{"flags":"262","filters":[{"criteria":[{"filterType":"10","value":"windows template studio"}],"sortBy":"0","sortOrder":"2","pageSize":"25","pageNumber":"1"}]}' |
4 |
| -$requestHeaders = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" |
5 |
| -$requestHeaders.Add('Accept','application/json; api-version=3.2-preview.1') |
6 |
| -$requestHeaders.Add('Content-Type','application/json; charset=utf-8') |
| 2 | +$requestUri = "https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery"; |
| 3 | +$requestBody = '{"flags":"262","filters":[{"criteria":[{"filterType":"10","value":"windows template studio"}],"sortBy":"0","sortOrder":"2","pageSize":"25","pageNumber":"1"}]}'; |
| 4 | +$requestHeaders = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"; |
| 5 | +$requestHeaders.Add('Accept','application/json; api-version=3.2-preview.1'); |
| 6 | +$requestHeaders.Add('Content-Type','application/json; charset=utf-8'); |
7 | 7 |
|
8 |
| -$results = Invoke-WebRequest -Uri $requestUri -Method POST -Headers $requestHeaders -Body $requestBody -UseBasicParsing |
| 8 | +$results = Invoke-WebRequest -Uri $requestUri -Method POST -Headers $requestHeaders -Body $requestBody -UseBasicParsing; |
9 | 9 |
|
10 |
| -$jsonResults = $results.Content | ConvertFrom-Json |
11 |
| -$wtsResults = $jsonResults.results[0].extensions | where {$_.extensionName -eq "WindowsTemplateStudio"} |
12 |
| -$wtsFileUrl = $wtsResults.versions[0].files | where {$_.assetType -eq "Microsoft.Templates.2017.vsix"} |
| 10 | +$jsonResults = $results.Content | ConvertFrom-Json; |
| 11 | +$wtsResults = $jsonResults.results[0].extensions | where {$_.extensionName -eq "WindowsTemplateStudio"} ; |
| 12 | +$wtsFileUrl = $wtsResults.versions[0].files | where {$_.assetType -eq "Microsoft.Templates.2017.vsix"}; |
13 | 13 |
|
14 |
| -$wtsVsix = [System.IO.Path]::GetFileName($wtsFileUrl.source) |
15 |
| -$desktopPath = Resolve-Path $env:USERPROFILE\desktop |
16 |
| -$wtsFullPath = [System.IO.Path]::Combine($desktopPath, $wtsVsix); |
| 14 | +$wtsVsix = [System.IO.Path]::GetFileName($wtsFileUrl.source); |
| 15 | +$wtsFullPath = [System.IO.Path]::Combine((Resolve-Path $env:USERPROFILE).path, $wtsVsix); |
17 | 16 |
|
18 |
| -Invoke-WebRequest -Uri $wtsFileUrl.source -OutFile $wtsFullPath |
| 17 | +Invoke-WebRequest -Uri $wtsFileUrl.source -OutFile $wtsFullPath; |
19 | 18 |
|
20 |
| -$vsixInstallerFile = Get-Childitem -Include vsixinstaller.exe -Recurse -Path "C:\Program Files (x86)\Microsoft Visual Studio\2017\" |
21 |
| -$wtsArgList = $wtsFullPath + " /q" |
| 19 | +$vsixInstallerFile = Get-Childitem -Include vsixinstaller.exe -Recurse -Path "C:\Program Files (x86)\Microsoft Visual Studio\2017\"; |
| 20 | +$wtsArgList = "/quiet `"$wtsFullPath`""; |
22 | 21 |
|
23 |
| -$vsixInstallerResult = Start-Process -FilePath $vsixInstallerFile.FullName -ArgumentList `"$wtsArgList`" -Wait -PassThru; |
| 22 | +$vsixInstallerResult = Start-Process -FilePath $vsixInstallerFile.FullName -ArgumentList $wtsArgList -Wait -PassThru; |
24 | 23 |
|
25 | 24 | Remove-Item $wtsFullPath
|
0 commit comments