2013-11-27 67 views
1

我已经移动了我的经典asp应用程序以赢得2012 R2(IIS 8.5)。此应用程序使用COM组件。我已经使用regsvr32注册了此组件,并且还将旧版组件从II 6导出至II 8.5。我可以看到这些组件在控制窗格 - >组件服务。经典的ASP应用程序不能在IIS 8.5中工作

此应用程序无法正常工作。代码包括Server.CreateObject("myCOM");看起来像它的作品,但当我试图得到objArgs["prop1"];它不起作用。

我看到这个错误:

"Server.CreateObject failed while checking permissions. Access is denied to this object."

可能是什么潜在的问题?

PS:我已经安装了ASP /服务器端包含&其他。

+0

属于:http://serverfault.com/ –

+0

@Diodeus为什么? COM对象是经典ASP开发中必不可少的一部分,这可能来自IIS配置(这是*绝对*编程相关)到源问题。 –

+0

这是服务器配置问题,而不是编码问题。 –

回答

0

DLL设置为什么权限?也就是说,IIS运行的用户可以访问该文件吗?

你注册为32位和64位吗?

您可以通过测试VB脚本(从提升的命令提示符运行,从VBS脚本或PowerShell脚本创建)创建对象吗?

“拒绝访问”通常意味着它在锡上的含义。我猜想IIS用户(或您的站点的应用程序池使用的)对该DLL没有正确的权限。

+0

David,我从源中导出COM组件并安装在win 2k12 R2上。另外,我使用regsvr32进行了注册。我已启用32位应用程序,.net CLR = 4和托管管道=经典在IIS中的应用程序。接下来我该做什么? – user1480864

+2

与您的网站相关联的IUSR帐户(您可以通过右键单击服务器上的Webiste根文件夹并选择“属性”>“安全”来找到它所称的内容),可能需要对您的COM组件执行dll的权限 – John

0

我有类似的问题,试图在Windows 2012R2上使用ASPMail与PGP运行ASP网站。邮件程序运行正常,如果我在PowerShell中运行PGP,PGP就可以工作,但邮件程序不能再使用它的PGP选项,该选项在ASP页面内运行pgp.exe。

0

从Internet信息服务 - >万维网服务 - >应用程序开发功能 - > ASP打开ASP。

相关问题