У меня есть приложение Silverlight 4, в котором я могу без проблем прочитать существующие значения реестра из ветви HKLM, но если я добавлю новое значение, чтение не будет выполнено с FileNotFoundException
.Вы можете увидеть в коде ниже;первое чтение работает нормально, но второе не может прочитать тестовое значение, которое я добавил в реестр.
ПРИМЕЧАНИЕ. Я могу прочитать новый добавленный ключ в Windows XP;просто не под Windows 7.
Любая помощь будет принята с благодарностью.
if (Application.Current.InstallState == InstallState.Installed && Application.Current.HasElevatedPermissions)
{
if (AutomationFactory.IsAvailable)
{
dynamic shell = AutomationFactory.CreateObject("WScript.shell");
try
{
var resa = shell.RegRead(@"HKLM\SOFTWARE\Microsoft\.NETFramework\InstallRoot");
var resb = shell.RegRead(@"HKLM\SOFTWARE\Microsoft\.NETFramework\Test");
var regValue = shell.RegRead(DbTypeRegKeyName);
var dbType = ExtractDbTypeFromId(regValue);
}
catch (FileNotFoundException fileNotFoundException)
{
throw new Exception(string.Format("Failed to read registry value '{0}' with error '{1}'.", DbTypeValueName, fileNotFoundException));
}
}
}