Searching for Visual Studio¶
The function burger.windowsutils.find_visual_studios()
will return a list of burger._vsinstance.WindowsSDKInstance
and burger._vsinstance.VisualStudioInstance
objects. This function will work on Windows, Cygwin, MSYS2 and Windows Subsystem for Linux. Other platforms will return an empty list.
VisualStudioInstance¶
name
will be one of these entries.
Microsoft Visual Studio .NET 2003
Microsoft Visual Studio 2005
Microsoft Visual Studio 2008
Microsoft Visual Studio 2010
Microsoft Visual Studio 2012
Microsoft Visual Studio 2013
Microsoft Visual Studio 2015
Microsoft Visual Studio 2017
Microsoft Visual Studio 2019
Microsoft Visual Studio 2022
version_string
will be a string in the form of “16.8.30907.101”
version_info
is a tuple in the form of (16, 8, 30907, 101). This is most useful in doing a numeric version comparison.
path
is the root path of the copy of Visual Studio such as “C:\Program Files (x86)\Microsoft Visual Studio 14.0”
known_paths
is a dict with full pathnames of a executable. A suffix is needed to denote the requested CPU. The suffixes are _x86, _x64, _arm and _arm64.
Note: If the key is missing, the binary, such as msbuild.exe
may not be available or installed in that version of Visual Studio.
devenv.exe_x86
= “c:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Common7\IDE\devenv.exe”vcvarsall.bat
= “c:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat”cl.exe_x86
= “c:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Vc7\bin\cl.exe”link.exe_x86
= “c:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Vc7\bin\link.exe”lib.exe_x86
= “c:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Vc7\bin\lib.exe”msbuild.exe_x86
“C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe”
WindowsSDKInstance¶
name
will be one of these entries.
Windows 5 SDK
Windows 6 SDK
Windows 7 SDK
Windows 8 SDK
Windows 10 SDK
version_string
will be a string in the form of “10.0.10150.0”
version_info
is a tuple in the form of (10, 0, 10150, 0). This is most useful in doing a numeric version comparison. The first number will match the actual SDK version such as 5, 6, 7, 8 or 10.
path
is the root path of the copy of Visual Studio such as “C:\Program Files (x86)\Windows Kits\8.0” or “C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A”
known_paths
is a dict with full pathnames of a folder, library or executable. A suffix is needed to denote the requested CPU. The suffixes are _x86, _x64, _arm and _arm64.
Note: If the key is missing, the binary, such as signtool.exe
may not be available or installed in that version of Visual Studio.
Folders¶
WinSDK.ucrt
= “C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt”WinSDK.um
= “C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um”WinSDK.shared
= “C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared”WinSDK.winrt
= “C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\winrt”WinSDK.cppwinrt
== “C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\cppwinrt”
Library folders¶
WinSDK.libucrt_x86
= “C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\ucrt\x86”WinSDK.libucrt_x64
= “C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\ucrt\x64”WinSDK.libucrt_arm
= “C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\ucrt\arm”WinSDK.libucrt_arm64
= “C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\ucrt\arm64”WinSDK.lib_x86
= “C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\x86”WinSDK.lib_x64
= “C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\x64”WinSDK.lib_arm
= “C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\arm”WinSDK.lib_arm64
= “C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\arm64”
Executables¶
rc.exe_x86
= “C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86\rc.exe”rc.exe_x64
= “C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\rc.exe”rc.exe_arm64
= “C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\arm64\rc.exe”signtool.exe_x86
= “C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86\signtool.exe”signtool.exe_x64
= “C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\signtool.exe”signtool.exe_arm
= “C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\arm\signtool.exe”signtool.exe_arm64
= “C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\arm64\signtool.exe”makecat.exe_x86
= “C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86\makecat.exe”makecat.exe_x64
= “C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\makecat.exe”makecat.exe_arm64
= “C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\arm64\makecat.exe”midl.exe_x86
= “C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86\midl.exe”midl.exe_x64
= “C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\midl.exe”midl.exe_arm64
= “C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\arm64\midl.exe”mc.exe_x86
= “C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86\mc.exe”mc.exe_x64
= “C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\mc.exe”mc.exe_arm64
= “C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\arm64\mc.exe”