Skip to content

Commit 5472a8b

Browse files
authored
Merge pull request #1419 from Microsoft/FixupEnvironmentScript
Fixed some minor issues in the PowerShell scripts
2 parents 492f031 + 14e4772 commit 5472a8b

File tree

2 files changed

+18
-8
lines changed

2 files changed

+18
-8
lines changed

Build/VisualStudioHelpers.psm1

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
function get_target_vs_versions($vstarget, $vsroot) {
22
if ($vstarget -eq "15.0") {
3-
return get_target_vs15_version $vsroot
3+
if (-not $vsroot) {
4+
Throw "The -vsroot argument must be specified for VS 2017"
5+
} else {
6+
return get_target_vs15_version $vsroot
7+
}
48
}
59

610
$supported_vs_versions = (
7-
@{number="15.0"; name="VS 15"; build_by_default=$true},
11+
@{number="15.0"; name="VS 2017"; build_by_default=$true},
812
@{number="14.0"; name="VS 2015"; build_by_default=$true}
913
)
1014

@@ -15,6 +19,7 @@ function get_target_vs_versions($vstarget, $vsroot) {
1519
}
1620
foreach ($target_vs in $supported_vs_versions) {
1721
if ((-not $vstarget -and $target_vs.build_by_default) -or ($target_vs.number -in $vstarget)) {
22+
# Note: These registry entries are not present for "15.0", thus it won't be built.
1823
$vspath = Get-ItemProperty -Path "HKLM:\Software\Wow6432Node\Microsoft\VisualStudio\$($target_vs.number)" -EA 0
1924
if (-not $vspath) {
2025
$vspath = Get-ItemProperty -Path "HKLM:\Software\Microsoft\VisualStudio\$($target_vs.number)" -EA 0
@@ -43,10 +48,10 @@ function get_target_vs_versions($vstarget, $vsroot) {
4348
}
4449

4550
function get_target_vs15_version($vsroot) {
46-
$msbuildroot="${vsroot}\MSBuild\Microsoft\VisualStudio\v15.0\Node.js Tools\Microsoft.NodejsTools.targets"
51+
$msbuildroot="${vsroot}\MSBuild\Microsoft\VisualStudio\v15.0"
4752
return @{
4853
number="15.0";
49-
name="VS 15";
54+
name="VS 2017";
5055
vsroot=$vsroot;
5156
msbuildroot=$msbuildroot
5257
};

EnvironmentSetup.ps1

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,17 +92,22 @@ if (-not $skipTestHost) {
9292
$currentVSTestHost = ls $gacDir -Recurse | ?{$_.Name -eq "Microsoft.VisualStudioTools.VSTestHost.$($version.number).dll"}
9393

9494
$targetVSTestHostVersion = "$($version.number).1.0"
95-
if ((-not $currentVSTestHost) -or ($currentVSTestHost.VersionInfo.FileVersion -ne $targetVSTestHostVersion)) {
96-
Write-Warning "VSTestHost already installed. Overriding VSTestHost version $($currentVSTestHost.VersionInfo.FileVersion) with target VSTestHostVersion $targetVSTestHostVersion"
95+
if (-not $currentVSTestHost) {
96+
Write-Output "VSTestHost not installed. Installing version $targetVSTestHostVersion"
97+
$shouldInstallVSTestHost = $true
98+
break
99+
}
100+
if ($currentVSTestHost.VersionInfo.FileVersion -ne $targetVSTestHostVersion) {
101+
Write-Warning "Incorrect VSTestHost version already installed. Overriding VSTestHost version $($currentVSTestHost.VersionInfo.FileVersion) with target VSTestHostVersion $targetVSTestHostVersion"
97102
$shouldInstallVSTestHost = $true
98103
break
99104
}
100105
}
101106
}
102107

103108
if ($shouldInstallVSTestHost) {
104-
Start-Process msiexec -ArgumentList "/i $vsTestHostLocation"
105-
Wait-Process msiexec
109+
# TODO: This doesn't appear to install correctly on some machines.
110+
Start-Process msiexec -ArgumentList /i, $vsTestHostLocation, /lv, ${env:temp}\vstesthost.log, /quiet -Wait
106111
Write-Output " Install completed"
107112
} else {
108113
Write-Output " Skipping VSTestHost installation (compatible version of VSTestHost already installed.)"

0 commit comments

Comments
 (0)