-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Centralize and improve Windows prereq checks #1251
Comments
Hmm, this was likely because I did not have the C++ desktop workload installed for VS2019, but I did for VS2017 since after xcopying the folder, I got
Perhaps the takeaway here is could we display a message suggesting the C++ desktop development pack is missing, rather than the above messages. |
Can this really be a bug as the message states? ("This is due to a bug in the Visual Studio installer.") That message was added years ago. I like the idea of being more specific about checking that the required prereqs are installed; we should verify what we can about the pre-requisites documented here: https://github.com/dotnet/runtime/blob/master/docs/workflow/requirements/windows-requirements.md. E.g., if you ask for an arm64 Windows build, check that the arm64 compilers are installed, and give a better error message if they aren't. |
Copied from my comment in the PR: Incidentally, we are happily building in a VS2017 prompt, although we claim that VS2019 is required. (Note, the core-setup repo did not require VS2019 before) src\installer\corehost\build.cmd all use vswhere and need updating to require VS2019. Also it looks like eng\common\tools.ps1 can help verify that VS2019 is installed, if we set tools.vs.version in eng\global.json. It can also verify the specific workloads are present, see "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -? and tools.ps1. |
Summarizing comments on the PR and above
It looks like a mechanism might already exist for 1 and 2, based on the JSON output of vswhere.exe Lines 379 to 392 in 5e2c61b
|
Ideally what we do here would not further cement our build dependency on VS (dotnet/arcade#64). The prereq's should be for what we need. |
I got the missing DIA SDK error when first building on my laptop just now:
In the current machine, I have 15.9.11 Preview 1 and 16.5.0 Preview 2. I am building in the VS 2019 prompt, where
VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\
. However the single DIA SDK folder is under the VS 2017 prompt'sVSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\Preview\Enterprise
.I copied it from there to solve the problem, so the message may be fully accurate. However, I have seen this prompt at least 3 years ago, so it is not clear that this will solve itself. Can we look in more places for it, to remove this stumbling block when building the repo the first time?
Perhaps it could look under
C:\Program Files (x86)\Microsoft Visual Studio
forDIA SDK
if it can't find one under VSINSTALLDIR?The text was updated successfully, but these errors were encountered: