用C#开发的com+组件与ASP共用时会出现错误:
The error message from Server.GetLastError():
AspCode: ASP 0177
Source: Server object
Description: Server.CreateObject Failed. 8000ffff
We get an error page when KB937143 is installed.
当然,并不是所有的时候都会出现错误,我在两台服务器上步署同样的环境,用同样的代码,结果一台正常,一台异常
GOOGLE了一下,在Microsoft官网上发现很多人遇到这样的问题:
This problem is happening on Windows Server 2003 with the latest service pack and MS updates. The server has Internet Explorer 7 installed. We applied MS update Security Update for Windows Internet Explorer 7 (KB937143) and then our web site would no longer load properly. We get an error on the first line of ASP code loading one of our .NET COM objects using a Server.CreateObject call. Just to be clear this is not ASP.NET, but classic ASP. At some point we want to convert the old ASP code, but that is on the backlog :-)
Our environment is ASP pages which load .NET COM objects to perform data access and such. This version of the site has been in production for over a year now. We are using the .NET Framework 2.0. I created a very simple .NET COM object and try to load it from a very simple ASP page and it fails.
If we uninstall the KB937143 update then everything works fine.
好像是IE7更新导致IIS用户权限不足,目前好像没有好的解决办法,变通的方法有两个:
一、把运行IIS用户提升为administrators级别。
二、卸载IE7的 KB937143的更新补丁。
显然,这样的解决办法并不是完美的,甚至是以牺牲系统安全性为代价的。期待微软发布一个更完美的解决方案。
而我,选择了第二种方案,uninstall the KB937143 update .
微软原文出处(英文):http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=294241