Какие разрешения необходимы для использования System.Speech.Synthesis?

Я использую System.Speech.Synthesis из.NET 4.5.1, чтобы сгенерировать WAV-файл из строки в Сервисе, запущенном "конкретным пользователем" (созданным при установке продуктов) без прав, кроме запуска сервисов и доступа к R/W папка, содержащая сгенерированный файл WAV.

На свежем win7sp1 x64 со всеми обновлениями вызов методов, таких как System.Speech.Synthesis.SelectVoice или System.Speech.Synthesis.Speak, завершается неудачно с InvalidOperationException и сообщение "Нет голосовой связи в системе или ее нет с текущими настройками безопасности".

Единственный доступный голос в системе - это голос по умолчанию. Microsoft Anna - English (United States),

Если я запускаю службу как LocalSystem или же Administrator это работает хорошо.

Если я добавлю "конкретного пользователя" в Administrators группа это тоже работает, но не если я добавлю это в любую другую "хорошо известную группу".

Но запуск службы с "конкретным пользователем" является обязательным (для других целей) и добавьте его в Administrators группа исключена по соображениям безопасности.

Конечно, MSDN очень неуловим об этом и даже не упоминает об исключении...

Погуглив некоторое время, я был удивлен очень немногими сведениями об этом. На самом деле я нашел только один уместный ключ в вопросе Stackru о ASP.NET, который предполагает наличие минимальных прав пользователя на использование этой библиотеки: создание приложения ASP.NET, преобразующего текст в речь

По умолчанию приложения ASP.Net не запускаются с достаточными разрешениями для доступа к синтезу речи.

Я также мог бы найти некоторые вопросы, связанные с той же проблемой, но без приемлемых ответов:

System.Speech генерирует исключение "Нет установленного голоса в системе или недоступно с текущими настройками безопасности" в службе Windows

Голос не установлен в системе или недоступен с текущими настройками безопасности

C# SpeechSynthesizer - "В системе не установлен голос"

Так кто-нибудь знает, какие разрешения необходимы для использования System.Speech.Synthesis ?

0 ответов

Другие вопросы по тегам