-
Notifications
You must be signed in to change notification settings - Fork 102
Clarify that -all switch excludes prereleases
#265
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
Conversation
|
The issue I'm trying to fix is that the docs for the As it was, I was becoming convinced that vswhere.exe was just broken because it was not producing any output. |
|
Where do we draw the line? All instances could also be confused to mean all products, which also isn't correct. That's why there's another switch for that. I could instead see changing it to something like "Finds instances in complete, launchable, and incomplete states." and eliminate the word "all", but I don't think it's advantageous to start intermixing purposes of other flags. |
|
I work here, and even I don't understand what "products" even means in this context. I know what "instances" means (I think) but I wonder how many customers do. I think the docs here should try to use terms that most users will understand. If we have to use terms that mostly only the setup team (and their alumni) understands, we should try to define or clarify where those terms are used. |
|
I'm learning though from your points that my PR may be insufficient at fixing all the usage docs. But I may not be qualified to write all the fixes because I don't understand how the product behaves in every case. I welcome you (@heaths) or any other owner of this code to add to or replace my PR with a more complete fix. |
|
@heaths - above where you say that -all doesn't include non-default products... what about Build Tools SKU? Is that going to be caught by vswhere -all? |
|
No, That's my point: I could word |
Then at the very least, add to the |
|
Hm. I just recommended to the Defender team that they use VSWhere to find VS installed instances so they can then do some exclude directory magic to improve perf. Looks like this won't work by default for them for Preview SKUs. They may also need to do this for BuildTools SKU too. @AArnott - would it be possible to adjust your string even further and say this: That way if they are thinking of other SKUs, and BuildTools will be the most common, they can look for additional help on how to do this. I'll open a bug against our setup team to consider having VSWhere -all actually return Preview and BuildTools SKUs too under the default -all. Also, as a PM on the setup team, I also still have to periodically do a little mental gymnastics to remind myself that in setup contexts, Product often means SKU. |
|
Would get the installation path for all products in all instances in any state. Breaking the behavior of a single parameter is not necessary as this has always been possible. Though, you really shouldn't be using |
|
@AArnott is the following more clear?
This PR won't work. Because of how the .rc is encoded, you can't modify it on GitHub. You either need to do it in VS, or I can close this PR and create a new one. |
Supersedes microsoft#265. Also fixes incompatible build flags for debug.
Yes, that's better. I would say that's sufficient given the other switches, but I hesitate because the switch is called |
|
I did clarify which specific states are included, which is what this v1 parameter was to specify. The other switches were added without breaking functionality as requirements evolved. |
I think I see how you see it now. And at least in that mindset, I agree with you that your proposed wording is sufficient. Anyway, your proposal certainly seems like an improvement. Please make it. I'm ok to await further customer feedback if more change is necessary. |
Supersedes #265. Also fixes incompatible build flags for debug.

The claim of a binary file is false. Here is the diff: