0
我有一個Silverlight 4應用程序,我可以從HKLM分支中讀取現有的註冊表值,但是如果我添加新值,一個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));
}
}
}