Asp classic 在Windows Server 2008 R2中运行COM应用程序

Asp classic 在Windows Server 2008 R2中运行COM应用程序,asp-classic,com,iis-7.5,windows-server-2008-r2,Asp Classic,Com,Iis 7.5,Windows Server 2008 R2,如果之前有人回答过,我深表歉意。我一直在寻找答案,但似乎没有一个适合我的具体情况 我们正在将旧软件从Windows 2003/IIS 6迁移到Windows 2008 R2/IIS 7.5。该软件是一个COM应用程序(exe,而不是dll),使用VB6构建。重新编译/重写应用程序是不可能的 我正在寻找有关如何迁移此应用程序的逐步说明,因为我是赢得2008 R2/IIS 7.5的完全新手。而且,我以前从未部署过COM应用程序,所以这对我来说是全新的 我尝试过其他论坛上提出的一些建议,但似乎没有一个

如果之前有人回答过,我深表歉意。我一直在寻找答案,但似乎没有一个适合我的具体情况

我们正在将旧软件从Windows 2003/IIS 6迁移到Windows 2008 R2/IIS 7.5。该软件是一个COM应用程序(exe,而不是dll),使用VB6构建。重新编译/重写应用程序是不可能的

我正在寻找有关如何迁移此应用程序的逐步说明,因为我是赢得2008 R2/IIS 7.5的完全新手。而且,我以前从未部署过COM应用程序,所以这对我来说是全新的

我尝试过其他论坛上提出的一些建议,但似乎没有一个能解决我的问题

当我运行此ASP代码时:

<%@ LANGUAGE="VBSCRIPT" %>
<% 
'Response.ContentType = "text/plain"
Response.Buffer = True
Response.Write "Server Is OK"
Set ClientLog = Server.CreateObject("XFTS.FileOps")
Set ClientLog = Nothing
%>
我已经做了以下工作:

1) 已将COM应用程序复制到c:\Windows\sysWOW64

2) 通过在提升为administrator的命令提示符下键入以下命令注册COM应用程序:

    xxxxx.exe /register
3) 我为我能想到的所有用户(IUSR、网络、网络服务、IIS\U IUSR)设置此COM对象的完全权限

4) 我创建了一个经典的.Net应用程序池(没有托管代码,启用了32位应用程序,将管道设置为经典模式,等等)

如果有人能给我一步一步的指导,那将是非常有帮助的。非常感谢

尝试以下步骤:

1) 在任何逻辑磁盘上为根内容创建文件夹,如D:\wwworot\WEBSET,并将所有web文件复制到此文件夹

2) 为COM组件创建文件夹,如D:\wwwroot\ActiveX,并将所有COM组件文件复制(或安装)到此文件夹

3) 在IIS管理器中创建新的应用程序池,并将其名称设置为“www.mysite.zone”(记下名称以备将来使用)

4) 创建新网站,从步骤1设置根文件夹,从步骤2选择应用程序池名称

5) 右键单击文件夹D:\wwwroot并授予隐藏用户“IIS AppPool\www.mysize.zone”的完全权限。注意,隐藏用户名与步骤3中的相同

6) 右键单击文件夹D:\wwwroot\website并设置用户IUSR只读权限

7) 打开组件服务(控制面板-管理)并为所有组件设置必要的权限。右键单击COM名称、属性->安全性。为用户设置启动、访问和配置权限:IUSR、IIS AppPool\www.mysite.zon和所有其他


另外,如果您的COM是32位的,请将应用程序池配置为32位应用程序。

您是否设置了“激活”权限?对不起,激活权限是什么意思?在Windows资源管理器属性中,我向所有用户授予了COM exe的完全权限。这就是你的建议吗?阅读可执行文件是不够的-你必须设置COM系统级权限,以便特定用户可以“激活”对象。最后一个问题。。。INI文件应该放在哪里?在最初的Windows 2003安装程序中,它被放置在C:\Windows目录中。我已将INI放置在该位置以及“安装”EXE的Com应用程序目录和许多其他位置,但似乎没有任何效果。我尝试迁移到Windows 2008的VB6 Com应用程序使用INI文件。创建应用程序池时,对于.Net Framwork和托管管道模式,我应该选择什么?我保留了应用程序池设置的默认设置(.Net Framework=2.0;托管管道模式=Integrated)。我按照您的指示操作,但在事件查看器中不断出现访问错误。在我的头撞到墙上几个小时后,我偶然发现了我一直遇到的错误(10016)的解决方案,解决方案是修改DCOM配置树下的启动/访问/配置设置,而不是上面第7步中的COM+应用程序树。一切正常。。。某种程度上。我在事件查看器中没有更多错误。谢谢谢谢你,VMV。您的步骤帮助我了解了如何将COM应用程序迁移到2008。它现在工作正常,运行正常。我永远也想不到第五步。这就是我的许可证中所缺少的。有趣的旁注。我在4台服务器上安装了相同的COM应用程序,假设所有服务器都运行相同的操作系统/策略等。在其中两台服务器上,我不必将IUSR添加到权限中。在过去的2个月里,我没有添加IUSR,COM应用程序也不起作用。在撞了我的头几个小时后,我添加了IUSR,COM应用程序开始工作。
    xxxxx.exe /register