我的开发机器是带有Window Server 2008 R2的VirtualBox。 我们正在使用CRM2011进行汇总12。 对于我的开发,我使用框架4
从CRM我调用一个aspx页面,这个页面包含一个我可以选择的记录网格。在我做出选择之后,我按下一个按钮并将选择传递给装配体。此程序集具有检查注册表中的某个键是否可用的功能。如果是这样,它会继续,否则就会返回。
我在这里面临的问题是我在尝试使用OpenSubKey()读取注册表时收到错误,告诉我我没有被授权这样做。我使用下面的代码来检索密钥。程序集未签名。签署程序集不会改变结果。
RegistryKey localKey = null;
if (Environment.Is64BitOperatingSystem)
{
localKey = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.CurrentUser, RegistryView.Registry64);
}
else
{
localKey = RegistryKey.OpenBaseKey(Microsoft.Win32.RegistryHive.CurrentUser, RegistryView.Registry32);
}
使用相同的程序集从控制台应用程序执行相同操作不会产生任何问题。
此致 马丁
答案 0 :(得分:1)
验证您的ApplicationPool标识是否具有对相关注册表项的读取权限。
检查您的应用程序池在IIS中使用的用户,然后在Regedit中打开注册表项并检查权限。