使用InnoSetup执行复杂的注册表更改

时间:2018-11-02 07:08:32

标签: batch-file windows-10 registry inno-setup

Microsoft使用Windows 10引入了几种新声音。 但是,它们仅列在

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\

enter image description here

这意味着它们只能由64位应用程序访问,因为它们不会通过NET框架中对Microsoft.Speech的调用出现在已安装的语音列表中。

解决方法是导出注册表项并替换所有出现的

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech_OneCore\Voices\Tokens\

带有文字

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\SPEECH\Voices\Tokens\

,然后将此更改后的注册表项导入注册表。 这也使语音也可用于32位应用程序。

我希望在安装应用程序时针对所有可用的Microsoft语音自动执行此操作,而不仅仅是此一种语音。

针对所有声音执行操作将意味着遍历注册表,查看存在的声音,检查它们是否由Microsoft进行,检查它们是否已存在

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\SPEECH\Voices\Tokens\, 

然后复制64位密钥。这是一个非常复杂的过程。

推荐这样做的方法是什么?

是否应该在应用程序中对此进行编程,然后在设置过程中运行该应用程序?

0 个答案:

没有答案