aboutsummaryrefslogtreecommitdiff
path: root/scripts/findVisualStudioInstallationInstances.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/findVisualStudioInstallationInstances.ps1')
-rw-r--r--scripts/findVisualStudioInstallationInstances.ps117
1 files changed, 16 insertions, 1 deletions
diff --git a/scripts/findVisualStudioInstallationInstances.ps1 b/scripts/findVisualStudioInstallationInstances.ps1
index 8c67ef6d6..8a2adca10 100644
--- a/scripts/findVisualStudioInstallationInstances.ps1
+++ b/scripts/findVisualStudioInstallationInstances.ps1
@@ -6,7 +6,7 @@ param(
$scriptsDir = split-path -parent $MyInvocation.MyCommand.Definition
$vswhereExe = & $scriptsDir\fetchDependency.ps1 "vswhere"
-$output = & $vswhereExe -prerelease -legacy -format xml
+$output = & $vswhereExe -prerelease -legacy -products * -format xml
[xml]$asXml = $output
$results = New-Object System.Collections.ArrayList
@@ -32,6 +32,21 @@ foreach ($instance in $asXml.instances.instance)
$results.Add("${releaseType}::${installationVersion}::${installationPath}") > $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 "PreferenceWeight1::Legacy::14.0::$installationPath"
+ }
+}
+
+
$results.Sort()
$results.Reverse()