长期读者,第一次海报。
我正在使用C#.Net 3.5开发Windows服务来执行文本到语音操作。
我正在使用System.Speech(Microsoft Speech 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)
该服务在域帐户下运行。如果我将服务更改为在我自己的个人域帐户(具有相当高的权限)下运行,那么一切都运行良好(因此安装了语音[Anna])。所以我很确定这是一个安全问题。
我需要对其他域帐户进行哪些权限/修改才能使其正常工作?
它需要是这个特定的用户,因为它用于MSSQL数据库的Windows身份验证。
提前致谢。
答案 0 :(得分:1)
简单修复:为运行该服务的同一用户授予对C:\windows\system32\config\systemprofile\appdata\roaming
的读/写访问权限。
答案 1 :(得分:0)
在x64 OS中,这是由AnyCPU构建配置引起的。切换到x86构建配置,它应该可以工作。
答案 2 :(得分:0)
我退出Visual Studio并在保存后重新打开它,问题就解决了。
答案 3 :(得分:-1)
只需将应用程序作为“管理员”运行即可。 ;)