Как определить версию Silverlight на машинах x64? - PullRequest
0 голосов
/ 15 марта 2011

Согласно последнему руководству по развертыванию silverlight, я могу определить, какая версия silverlight установлена,

- запросив ключ реестра «HKLM \ Software \ Microsoft \ Silverlight \ Version»

Это прекрасно работает на моей 32-битной машине разработки.Но на двух 64-битных машинах HKLM \ Software \ Microsoft \ Silverlight не существует.

Где он находится на машинах x64?

Ответы [ 3 ]

1 голос
/ 15 марта 2011

Посмотрите на HKLM \ Software \ Wow6432Node, дом для ключей реестра, которые могут видеть 32-битные программы.

0 голосов
/ 19 апреля 2011

Я знаю, что на этот вопрос уже получен ответ, но вы можете использовать 'RegistryKey' с .Net 4. Это позволяет вашей 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'.

0 голосов
/ 15 марта 2011

Просматривая мой реестр, я нашел это:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Silverlight

Может кто-нибудь подтвердить, что это безопасное место для поиска

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...