我已将经典 asp 应用程序移至 win 2012 R2 (IIS 8.5)。此应用程序使用 COM 组件。我已使用 regsvr32 注册此组件,并将旧组件从 II 6 导出到 II 8.5。我可以在控制面板->组件服务中看到这些组件。
此应用程序无法正常运行。代码包括 Server.CreateObject("myCOM"); 看起来可以正常工作,但是当我尝试获取 objArgs["prop1"]; 时它不起作用。我看到此错误“Server.CreateObject 在检查权限时失败。拒绝访问此对象。” 可能存在哪些问题?
PS:我已经安装了 ASP/服务器端包含项和其他内容。
答案1
较新版本的 IIS 在 ApplicationPoolIdentity 帐户下运行。如果您进入应用程序池的高级设置,您可以尝试将进程模型部分下的身份更改为 NetworkService(iis 以前使用的,现在被认为不太安全),或者您可以将权限更改为其他帐户,或者您可以手动设置应用程序池的 ACL。
这篇文章可能为您提供一些有用的信息:http://blogs.msdn.com/b/vijaysk/archive/2009/02/13/goodbye-network-service.aspx