假设您有一台工作机器可以复制,则可以让 System.Speech.Recognition 在 Windows Server 2008 上工作。我尝试了一堆不起作用的不同方法,然后尝试了一些可行的可怕步骤。我不确定其中哪些是必要的,但最后一组步骤肯定是必要的。
以下是无效的列表,但可能是有效的先决条件:
- 通过此链接安装 Microsoft Speech Platform Runtime https://www.microsoft.com/en-us/download/details.aspx?id=27225
- 从这里安装英语-美国语言包 MSSpeech_SR_en-US_TELE.msi https://www.microsoft.com/en-us/download/details.aspx?id=27224
- 从此处安装“Microsoft Speech Platform - Server Runtime Languages (Version 10.1)”,LangPacks\MSSpeech_SR_en-US_TELE.msi 文件:https ://www.microsoft.com/en-us/download/details.aspx?id=3971
- 使用以下说明安装了“桌面体验”功能:
- 启动服务器管理器(在开始菜单上,单击服务器管理)。
- 在详细信息窗格中,找到功能摘要区域,然后单击添加功能。
- 在添加功能向导中,单击以选中桌面体验复选框,然后单击下一步。
- 单击安装。
- 安装桌面体验功能后,单击关闭退出添加功能向导,然后单击是重新启动计算机。
这些都不起作用,所以我们最终基本上使用以下改编自
https://groups.google.com/forum/#!topic/microsoft.public.speech_tech.sdk/YV_OcL0Boh0的过程手动安装必要的文件和注册表设置
这需要一台工作机器(我的 Windows 7 机器)从中复制文件和注册表设置。在下面的说明中,我试图安装一个我知道在我的机器上工作的特定识别器 MS-1033-80-DESK。如果您使用不同的识别器,您可能需要不同的步骤。您可以使用 SpeechRecognitionEngine.InstalledRecognizers() API 在您的机器上查看已安装的识别器。
- 在不覆盖现有文件的情况下(仅在出现提示时添加丢失的文件),将文件从您的工作 C:\Windows\Speech 文件夹复制到服务器的文件夹。您可能需要获得服务器上文件夹的所有权并授予自己添加文件夹和文件的权限。
- 在不覆盖现有文件的情况下(仅在出现提示时添加丢失的文件),将文件从您的工作 C:\Windows\System32\Speech 复制到服务器的文件夹。您可能需要再次授予自己权限。
- 最后一步非常痛苦。您需要将所有相关的注册表设置复制到服务器。我只从 HKEY_LOCAL_MACHINE 和 HKEY_CLASSES_ROOT 主文件夹复制了注册表设置。我通过在注册表中搜索与以下相关的条目创建了我粘贴在下面的 .reg 文件:MS-1033-80-DESK、{DAC9F469-0C67-4643-9258-87EC128C5941}、spsreng、spsrx、srloc(HKEY_LOCAL_MACHINE\ 中的条目除外COMPONENTS\DerivedData\Components 不包括)这些是识别器的名称、识别引擎的类 ID 以及与识别器相关的 dll。我不知道您是否可以使用我的注册表设置,或者您是否必须创建自己的注册表设置。我在服务器上创建并导入注册表的注册表文件在这里:
https ://pastebin.com/4w05SbbY
Stackoverflow 不会让我发布没有代码的 pastebin 链接,而且我的链接太大了直接包含在这里,所以
fakeCode = 1;