System.Speech抛出“没有安装语音系统或无可用当前安全设置的”例外Windows服务(Sy

2019-10-17 16:39发布

很长一段时间的读者,首次海报。

我正在开发的C#.NET 3.5的Windows服务来执行文本到语音操作。

我使用System.Speech(Microsoft语音API 3.X)。

我部署的服务到的Win2008 X64服务器和它现在抛出以下异常:

System.InvalidOperationException: No voice installed on the system or none available with the current security setting.
   at System.Speech.Internal.Synthesis.VoiceSynthesis.Speak(Prompt prompt)
   at System.Speech.Synthesis.SpeechSynthesizer.Speak(Prompt prompt)
   at System.Speech.Synthesis.SpeechSynthesizer.Speak(String textToSpeak)

该服务在一个域帐户下运行。 如果我更改下我的个人域帐户中运行的服务(其中有相当高的权限),一切完美(所以声音[安娜]肯定是安装)。 所以我很肯定这是一个安全问题。

我需要什么权限/修改,使其到其他域帐户,使这项工作?

它需要,因为它使用的Windows身份验证为MSSQL数据库是这个特定的用户。

提前致谢。

Answer 1:

简单的解决办法:授予读/写访问到C:\windows\system32\config\systemprofile\appdata\roaming为服务在其下运行相同的用户。



Answer 2:

在x64操作系统,这是由AnyCPU构建配置引起的。 切换到x86版本的配置,它应该工作。



Answer 3:

我退出Visual Studio和重新打开它,它保存后,问题得到了解决。



Answer 4:

简单地说,运行应用程序为“管理员”。 ;)



文章来源: System.Speech throws “No voice installed on the system or none available with the current security setting” exception in Windows Service