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"