WEB 版的系统
状况:用VS2005 查看页面运行 可以访问到 currentuser\software\microsoft\office
但是 发布系统后,iis中运行页面 就提示“ 未将对象引用设置到对象的实例”,经检查是因为 iis中运行时 microsoft节点下面根本就没有office这个节点了。不知道是不是权限问题,我在注册表的office节点上加了 aspnet,internet来宾账户,networkservice 完全控制权限,但还是不行。
状况:用VS2005 查看页面运行 可以访问到 currentuser\software\microsoft\office
但是 发布系统后,iis中运行页面 就提示“ 未将对象引用设置到对象的实例”,经检查是因为 iis中运行时 microsoft节点下面根本就没有office这个节点了。不知道是不是权限问题,我在注册表的office节点上加了 aspnet,internet来宾账户,networkservice 完全控制权限,但还是不行。
开什么权限呢?我的代码很简单:定义了个currentuser 的key 变量定义了offi=key.opensubkey("Software\\Microsoft\\Office");定义了wd=offi.opensubkey("word"); //offi在iis运行后是null,导致提示“未将对象引用设置到对象的实例”
检查键值是否为null
我已经知道怎么访问office节点了,可是又出现了不能删除的问题
下面是我的源代码,可以创建个页面试试using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.Win32;public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Method1();
} public void Method1()
{
try
{
RegistryKey key = Registry.CurrentUser;
RegistryKey software = key.OpenSubKey("Software");
RegistryKey micro = software.OpenSubKey("Microsoft", true);
RegistryKey offi = micro.CreateSubKey("Office");
RegistryKey version = offi.CreateSubKey("12.0");
RegistryKey wd = version.CreateSubKey("Word");
RegistryKey resi = wd.CreateSubKey("Resiliency"); //这个节点是只有WORD有禁用文件或是可恢复文件时才会生成,我的目的是如果有此节点则删除 if (resi == null)
this.Response.Write("null");
else
{
wd.DeleteSubKeyTree("Resiliency"); //运行该句无异常,并且可以在页面上输出OK,但是一查注册表,这个节点还是没有删除! this.Response.Write("ok");
}
//string[] kns = wd.GetSubKeyNames(); //foreach (string kn in kns)
//{
// if (kn == "Resiliency")
// {
// key.DeleteSubKeyTree("Software\\Microsoft\\Office\\12.0\\Word\\Resiliency");
// }
//}
key.Close(); }
catch (Exception)
{
throw;
}
}
}
谢谢,我已经按你说的设置了标识为本地系统,可还是不行键值检查了null可以避免错误,但是注册表中确实有我要找的节点
我的目的是删除
wd.DeleteSubKeyTree("Resiliency");
这个节点是自己生成的HKLM我看了,没有这个节点,那有没有办法控制HKCU呢?
vs里运行没有问题,发布到iis就是找不到,我也出现这种问题,求救