I looked at SelectVoice() and GetInstalledVoices() as well as the SpeechSynthesizer class.
I saw a similar question, where one answer says
[...] likely to be related to the SAPI version [...]
and the other one says
[...] definitely not related to SAPI version [...]
If I write a speech synthesizer application, what SAPI version should I require my customers to have? I want it as low as possible, of course, but I don't want to get in trouble with bug reports that affect SAPI versions the managed API does not support.
The site Microsoft Speech API (SAPI) 5.3 mentions the managed API, so it must work in SAPI 5.3 or higher.
Also, since SAPI 5 was a complete resedign, SAPI 4 voices will not work.
Windows Vista shipped with SAPI 5.3 and according to Wikipedia the managed API, so Microsoft may not have designed it for older versions.
Windows Vista reached its end of extended support in April 2017, but of course customers may still have setups from voices that were designed for older SAPI versions.
Please also note:
Credits: parts of this answer were found on Alasdair King's blog post.