经历了两天的折磨,查阅了网上的资料,按网上的操作试了n种方法结果还是不行,开始以为是dsoframer 是32位控件问题,结果不是(经历了更改解决方案cpu,发布基于x86的网站;以为是操作系统问题,结果也不是)。好在终于搞定了win7下dsoframer安装和打开office的问题。和大家共享,太不容易了。

1.安装dsoframer

  1)将dsoframer.ocx copy 到 windows\SysWOW64 目录下,此目录为32位控件所在的目录,system32 目录是64位控件所在目录;

 2)由于win7把权限控制的很严格,因此在开始->运行行栏输入"cmd" 在 搜索栏 "cmd.exe" 右键,点击 run as administrator ;

3)dos窗口输入命令 regsvr32 c:\windows\SysWOW64 \dsoframer.ocx  系统提示注册成功。

2.office目录及权限设置

 如1.所示安装完控件,按道理应该可以了,此时在浏览器中打开此指定目录下的offcie文件会弹出 english translation:Illegal operation called on non-file based storage (非文件基础存储上的无效操作调用)

此原因是因为文件目录所在权限问题引起的,此时要对所在目录添加权限用户,以xp 和win2003 的经验,通常在权限中加入everyone and asp.net 的read /write /modify ,但是在win7 中并未发现此账户,于是到asp.net 服务中右键查看用户属性,才发现是network service ,因此,在目录权限中添加network service 账户,此时运行程序,仍然出现上述问题,后来发现一个问题所在,打开文件的目录层级太深,于是试着在根目录下建立文件访问目录,成功搞定,呵呵!

综上所述:文件访问目录层级不能太深,权限一定要加入network service。