If Microsoft.Speech.Synthesis.SpeechSynthesizer.SelectVoice(String name) raises ArgumentException with Message property “Cannot set voice. No matching voice is installed or the voice was disabled.” then make sure that the version number of Microsoft.Speech.dll matches the version of language packs you have installed.
The major and minor numbers are important; build and update pack numbers are not relevant.
It is very easy to run into a situation when you face the ArgumentException mentioned above since
- Microsoft.Speech.dll is distributed as part of the UCMA
- language packs should be downloaded and deployed separately
- and language packs belonging to UCMA 3.0 and 4.0 have identical file and display names
So, make sure you are deploying the right language packs; the ones which are compatible with your speech SDK/runtime.