因为我要写一个修改IE设置的小程序(客户需要),改为我们BS系统需要的设置(在网上找了半天,说是通过修改注册表实现). 客户许多用户是没有修改注册表的权限的(部分有). 问题是:
   要修改注册表,必须以管理员登录(或是以管理员身份运行程序),但是这两种情况都只会写管理员的HKEY_CURRENT_USER下的项.由于IE的安全设置在HKEY_CURRENT_USER和HKEY_LOCAL_MACHINE下都有一样的键值, 不可以通过只写HKEY_LOCAL_MACHINE来实现,这样IE还是会读HKEY_CURRENT_USER中的值. 我想问的就是:怎样才可以以管理员身份运行程序,但是写HKEY_CURRENT_USER却是当前windows登录者的注册表,或是以管理员登录系统,可以写所有user的HKEY_CURRENT_USER的注册表.

解决方案 »

  1.   

    首先,不让该站点虚拟目录启用匿名访问,这样在本机管理员身份下访问你的web应用,因为你当前的身份应该拥有对注册表的权限,所以肯定能做Enterprise Library要做的事情。然后,再让虚拟目录启用匿名访问,再次访问Web应用,一切恢复正常,不再报告“System.Security.SecurityException: 不允许所请求的注册表访问权。”了。
    可以把"IIS虚拟目录匿名访问"中的匿名帐户修改成具有这种权限的帐户,
    如管理员即把IUSR_PYT改成Administrator。试试
      

  2.   

    一楼没有明白我的意思,我只是要改客户端IE的安全设置:将网站加入信任站点,然后修改信任站点的安全设置, 因为一个个的修改IE选项太慢了,所以想做一个小程序直接修改注册表.