如何在x64机器上确定Silverlight版本?

时间:2011-03-15 20:23:49

标签: c# .net silverlight registry version

根据最新的silverlight部署指南,我可以确定

安装了什么版本的silverlight
  

- 查询:“HKLM \ Software \ Microsoft \ Silverlight \ Version”注册表项

这在我的32位开发机器上运行得很好。但是在几台64位机器上,HKLM \ Software \ Microsoft \ Silverlight不存在。

在x64机器上它在哪里?

3 个答案:

答案 0 :(得分:1)

查看HKLM \ Software \ Wow6432Node,它是32位程序可以看到的注册表项的主页。

答案 1 :(得分:0)

通过我的注册表搜索,我发现了这个:

  

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \微软\ Silverlight的

任何人都可以确认这是一个安全的地方吗?

答案 2 :(得分:0)

我知道这已经得到了解答,但您可以使用。注册表中的'RegistryKey'。这允许您的32位程序访问64位注册表,因为它通常在您的64位计算机上查看。代码:

using Microsoft.Win32;

RegistryKey registryBase = Registry.LocalMachine; // This would give you the standard Registry if you were using your own machine. Not needed for this example.

registryBase = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64); // This will allow your 32 bit program to view the 64 bit registry.

RegistryKey getKey = registryBase.OpenSubKey("HKLM\Software\Microsoft\Silverlight\Version", true); // Set to true or false to allow write permissions.

getKey.SetValue("VersionKey", "0", RegistryValueKind.DWord); //Allow's you to edit the exact key type. Just change DWord etc...

希望这很有用。我使用它有时你无法查看'Wow6432Node'中所需的所有键。