调用VB6 DLL的调用GDI +的ASP(经典)调用在IIS6上工作,但不工作在IIS7上

By simon at 2018-02-28 • 0人收藏 • 65人看过

在Windows Server 2003 32位,IIS 6.0上我目前有工作 ASP 经典页面成功使用VB6 DLL呈现text作为使用许多图像 不同的字体(DLL引用GDI +来呈现jpeg中的文本 指定字体等):

[working VBScript calling out to a VB6 DLL which calls to GDI+]

Set ig = Server.CreateObject("MyCo.ImageGenerator") 'the DLL
ret = ig.GenerateImage(text, font, size, path, color, italics, bold)
我需要将此网站转移到Windows 2008或更高版本的服务器。在新的 服务器,GDI +有一个错误,特别是在这个在VB6 DLL代码行中:
lRes = GdipCreateBitmapFromHBITMAP(pict.Handle, 0, lBitmap) 'ret 2 (0 is success)
当我从* Windows窗体调用相同的DLL函数(即GenerateImage)时 App上的新的服务器,它生成的图像没有问题。我不 认为这是一个权限问题,因为:   1.目标折叠r用于生成的图像,ASP VBScript将DLL指向具有“Everyone”(仅用于安装测试)的完全权限2.在DLL中记录代码可以写入目标目录   3. *编辑我(后来)给了网络服务用户(应用程序池账户)读取/读取执行权限,而不会看到行为改变(如@Lankymart的评论中所建议的那样)。 我困惑为什么DLL可以在Windows窗体应用程序调用中正常工作,但不能 从IIS 7中。

1 个回复 | 最后更新于 2018-02-28
2018-02-28   #1
<p>嗨IIS>高级属性>启用32位应用程序>是真正的检查请 和Windows服务器x64然后dll注册C:\ WindOWS \ Syswow64资料

登录后方可回帖

Loading...