This PR gets Master up to date with the common scripts approach. These are not done but this seems far enough along to proceed. We'll now move forward with refining these common scripts along with the dev scenario scripts that reference them.
26 lines
1.5 KiB
PowerShell
26 lines
1.5 KiB
PowerShell
# installing Windows Template Studio VSIX
|
|
Write-Host "Installing Windows Template Studio" -ForegroundColor "Yellow"
|
|
|
|
$requestUri = "https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery";
|
|
$requestBody = '{"flags":"262","filters":[{"criteria":[{"filterType":"10","value":"windows template studio"}],"sortBy":"0","sortOrder":"2","pageSize":"25","pageNumber":"1"}]}';
|
|
$requestHeaders = New-Object "System.Collections.Generic.Dictionary[[String],[String]]";
|
|
$requestHeaders.Add('Accept','application/json; api-version=3.2-preview.1');
|
|
$requestHeaders.Add('Content-Type','application/json; charset=utf-8');
|
|
|
|
$results = Invoke-WebRequest -Uri $requestUri -Method POST -Headers $requestHeaders -Body $requestBody -UseBasicParsing;
|
|
|
|
$jsonResults = $results.Content | ConvertFrom-Json;
|
|
$wtsResults = $jsonResults.results[0].extensions | where {$_.extensionName -eq "WindowsTemplateStudio"} ;
|
|
$wtsFileUrl = $wtsResults.versions[0].files | where {$_.assetType -eq "Microsoft.Templates.2017.vsix"};
|
|
|
|
$wtsVsix = [System.IO.Path]::GetFileName($wtsFileUrl.source);
|
|
$wtsFullPath = [System.IO.Path]::Combine((Resolve-Path $env:USERPROFILE).path, $wtsVsix);
|
|
|
|
Invoke-WebRequest -Uri $wtsFileUrl.source -OutFile $wtsFullPath;
|
|
|
|
$vsixInstallerFile = Get-Childitem -Include vsixinstaller.exe -Recurse -Path "C:\Program Files (x86)\Microsoft Visual Studio\2017\";
|
|
$wtsArgList = "/quiet `"$wtsFullPath`"";
|
|
|
|
$vsixInstallerResult = Start-Process -FilePath $vsixInstallerFile.FullName -ArgumentList $wtsArgList -Wait -PassThru;
|
|
|
|
Remove-Item $wtsFullPath |