0
HKLM 브랜치의 기존 레지스트리 값을 아무 문제없이 읽을 수있는 Silverlight 4 응용 프로그램이 있지만 새 값을 추가하면 a FileNotFoundException
. 아래 코드에서 확인할 수 있습니다. 첫 번째 읽기 잘 작동하지만 두 번째 레지스트리에서 추가 한 테스트 값을 읽는 데 실패합니다.Silverlight 4 WScript.RegRead가 Windows 7에서 레지스트리에서 새로 추가 된 값을 읽지 못함
참고 : 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));
}
}
}