写注册表问题,代码一样,用VS2005可以生效,但是VS2003却生成不到键值 
private void btnWriteReg_Click(object sender, System.EventArgs e)
{
try
{
RegistryKey reg = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Internet Explorer\test");
reg.CreateSubKey("name").SetValue("key", "value"); } catch(Exception ex)
{
Response.Write(ex.ToString());
} }主要帖子在这里,只有是WebForm访问注册表,就会出现这个问题, VS2003的WinForm和Vs2005都没问题,就是03的WebForm有问题.
http://topic.csdn.net/u/20080209/21/a2c84e81-1653-43dc-adf9-1ea677eb1938.html

解决方案 »

  1.   

    03的bug?
    楼主新大陆
      

  2.   

    WebForm应该和权限有关系.webform要操作系统的话权限要重新配置过才行
      

  3.   

    WebForm应该和权限有关系.webform要操作系统的话权限要重新配置过才行
      

  4.   

    webForm和权限有关系的.winForm是运行在你当前登陆的用户名下,一般是登陆自己系统使用的都是具有管理员权限的用户名,如administartor这种用户.而webForm的话如果是win2003,默认下是network   service(创建iis6应用池的默认用户)用户,这个用户没有操作注册表的权限. 我把你的代码copy后提示如下 
    说明:   应用程序试图执行安全策略不允许的操作。要授予此应用程序所需的权限,请与系统管理员联系,或在配置文件中更改该应用程序的信任级别。   异常详细信息:   System.Security.SecurityException:   不允许所请求的注册表访问权。 源错误:   
    行   4:     protected   void   Button1_Click(object   sender,   EventArgs   e) 
    行   5:     { 
    行   6:     RegistryKey   reg=Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Internet   Explorer",   true);   
    行   7:     Response.Write(reg.CreateSubKey("test"));   
    行   8:     } 

    版本信息:   Microsoft   .NET   Framework   版本:1.1.4322.2379;   ASP.NET   版本:1.1.4322.2379  
      

  5.   

    具体要给哪个文件夹权限我也搞不清楚..
    如果是fat32文件系统应该没有权限的问题
    如果是ntfs的话,你可以考虑把network service的读写权限加在系统盘试试,并且替换子权限.这样安全隐患就非常大了.