aboutsummaryrefslogtreecommitdiff
path: root/scripts/findVisualStudioInstallationInstances.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/findVisualStudioInstallationInstances.ps1')
-rw-r--r--scripts/findVisualStudioInstallationInstances.ps119
1 files changed, 17 insertions, 2 deletions
diff --git a/scripts/findVisualStudioInstallationInstances.ps1 b/scripts/findVisualStudioInstallationInstances.ps1
index b2f186478..e3bc67ff6 100644
--- a/scripts/findVisualStudioInstallationInstances.ps1
+++ b/scripts/findVisualStudioInstallationInstances.ps1
@@ -4,7 +4,7 @@ param(
)
$scriptsDir = split-path -parent $MyInvocation.MyCommand.Definition
-$vswhereExe = & $scriptsDir\fetchDependency.ps1 "vswhere"
+$vswhereExe = (& $scriptsDir\fetchDependency.ps1 "vswhere") -replace "<sol>::" -replace "::<eol>"
$output = & $vswhereExe -prerelease -legacy -products * -format xml
[xml]$asXml = $output
@@ -29,9 +29,24 @@ foreach ($instance in $asXml.instances.instance)
}
# Placed like that for easy sorting according to preference
- $results.Add("${releaseType}::${installationVersion}::${installationPath}") > $null
+ $results.Add("<sol>::${releaseType}::${installationVersion}::${installationPath}::<eol>") > $null
}
+# If nothing is found, attempt to find VS2015 Build Tools (not detected by vswhere.exe)
+if ($results.Count -eq 0)
+{
+ $programFiles = & $scriptsDir\getProgramFiles32bit.ps1
+ $installationPath = "$programFiles\Microsoft Visual Studio 14.0"
+ $clExe = "$installationPath\VC\bin\cl.exe"
+ $vcvarsallbat = "$installationPath\VC\vcvarsall.bat"
+
+ if ((Test-Path $clExe) -And (Test-Path $vcvarsallbat))
+ {
+ return "<sol>::PreferenceWeight1::Legacy::14.0::$installationPath::<eol>"
+ }
+}
+
+
$results.Sort()
$results.Reverse()