【问题标题】:ActiveX dll not working on IIS 8.5ActiveX dll 在 IIS 8.5 上不起作用
【发布时间】:2015-05-11 15:34:08
【问题描述】:

ActiveX dll 无法在 IIS 8.5 上运行

我们有一个经典的 ASP 应用程序,它使用 ActiveX dll 动态生成图像。它在带有 IIS6 的 Window 2003 上工作。但我们正在将其迁移到 Windows 2012 和 IIS 8.5。 DLL 在服务器上注册,配置为在它自己的应用程序池下运行(无托管代码,经典管道模式)。它的虚拟目录被配置为作为应用程序运行,并有一个 *.dll 的处理程序映射,以指向具有执行访问权限的所有动词的 DLL,这与 IIS6 的配置相同。

呈现调用 HTML 的 DLL 的 ASP 代码如下所示:

<%dim SpokeData
dim JobName
dim NumOfExperts
dim ThisDirNo
dim ThisSel
dim PAPIType
dim JobType
dim SpokeDataShort
SpokeData = trim(Request.QueryString("Data"))
JobName = trim(Request.QueryString("JobName"))
NumOfExperts = trim(Request.QueryString("Exp"))
PAPIType = trim(Request.QueryString("PAPIType"))
JobType = trim(Request.QueryString("JobType"))
CalcDate = trim(Request.QueryString("Date"))
For ScaleNo = 1 to 20
    ThisSel = Mid(SpokeData,(ScaleNo*2),1)
    ThisDirNo = Mid(SpokeData,(ScaleNo*2)-1,1)
    If ThisSel = "1" then SpokeDataShort = SpokeDataShort & ThisDirNo else SpokeDataShort = SpokeDataShort & "0"

Next
Response.Write("<div id='Wheel'><img style='margin-left:20px' src='http://www.example.com/jpwheel/jpwheel.dll?Handler=Render&nori=" & PAPIType & "&dir=" & SpokeDataShort & "&" & Now & "'></div>")
%>

HTML 然后看起来像这样:&lt;img src="http://www.example.com/jpwheel/jpwheel.dll?Handler=Render&amp;amp;nori=N&amp;amp;dir=55555050555000000000&amp;amp;11/05/2015 16:05:24" style="margin-left:20px"&gt; 如果我尝试直接下载它,我会收到 500 错误(不幸的是没有错误日志)。

它适用于 IIS6,不适用于 IIS8.5。任何人都可以对将 ActiveX 服务器端 DLL 迁移到 IIS8.5 有所了解吗?我没有做的一件事是检查 DLL 的依赖关系,有人可以推荐一个工具吗?我猜随着 windows 2003 的生命周期即将结束,很多人都会遇到这样的问题。

【问题讨论】:

  • 开启失败的请求跟踪? DLL 是否有可以从 .VBS 手动调用以进行测试的接口?
  • 很可能您的应用程序池在 64 位模式下运行,而 DLL 是 32 位。尝试在应用程序池的高级设置选项中将“启用 32 位应用程序”设置为 true。
  • 不知道接口,因为我没有源代码或任何文档(应用程序已有 12 年历史),并且我没有失败请求跟踪没有安装。跨度>
  • 应用程序池已作为 32 位应用程序运行。
  • 使用哪一行代码在服务器上注册它?

标签: iis vbscript asp-classic vb6 activex


【解决方案1】:

问题是由使用不正确的处理程序映射引起的。我将它设置为脚本地图。它需要是具有以下详细信息的模块映射:

  • 请求路径:*.dll
  • 可执行文件:jpwheel.dll 的路径
  • 模块:IsapiModule
  • 名称:jpwheel

请求限制:所有动词,需要访问:脚本

功能权限:读取、脚本、执行

所以它现在可以工作了。

【讨论】:

    猜你喜欢
    • 2018-07-30
    • 1970-01-01
    • 2017-12-27
    • 2017-02-01
    • 2016-11-25
    • 2015-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多