windows server 2008中读取Microsoft Excel Application COM组件问题的解决方式

来源:互联网 发布:秋天淘宝关键词 编辑:程序博客网 时间:2024/05/21 10:07

参考:

1. http://forums.asp.net/t/1303594.aspx

2. http://social.technet.microsoft.com/Forums/en-US/office2007deploymentcompatibility/thread/334c9f30-4e27-4904-9e71-abfc65975e23?prof=requiredregistry hack, 修改注册表

3. http://social.msdn.microsoft.com/Forums/en-US/innovateonoffice/thread/b81a3c4e-62db-488b-af06-44421818ef91?prof=requiredWindow Station概念和创建Desktop文件夹

网站的运行帐号是在应用程序池中的标识中设定的,一般为内置帐户Network Service,用户登录运行程序与Window Station和Desktop有关。

当运行于Network Service帐户,根据后二个链接中的方法:

1. registry hack,修改注册表

2. 在C:/Windows/SysWOW64/config/systemprofile/下创建Desktop文件夹

都没有解决我的问题。

通过System.Security.Principal.WindowsIdentity.GetCurrent().Name发现,当程式运行于IIS中,通过工作管理员查看进程的启动帐户是应用程序池标识帐户(一般为Network Service),当程序在Visual Studio 2008中运行于ASP.NET的启动帐户是系统登录帐户(一般为Administrator)。

既然无法厘清Network Service的Wondow Station与Desktop的关系,就设置了应用程序池的标识帐户为自定义帐户:一个隶属于管理员组的帐户Admin1。

也可设置应用程序池的标识帐户为内置帐户并选择LocalSystem帐户。

测试已经能正常运行!