注册COM组件以供经典ASP使用

3

我正在将一个带有IIS 6的旧的Windows 2003服务器(32位)升级为带有IIS 7.5的Windows 2008服务器(64位)。 我正在安装新机器上必要的DLL文件(我只需要两个)。 第一个DLL文件正常运行。第二个DLL文件ASPIMAGE.DLL有些问题。

这是我所做的(与XZIP.DLL相同的过程):

  • 将ASPIMAGE.DLL移动到C:\Windows\SYSWOW64
  • C:\Windows\SYSWOW64\regsvr32.exe C:\Windows\SYSWOW64\ASPIMAGE.DLL - 弹出提示信息“ ASPIMAGE.DLL中的DLLRegisterServer成功”。 我已经多次运行了它 - 希望这不是问题所在。
  • 在应用程序池中将“启用32位应用程序”设置为True。重新启动站点和应用程序池以确保生效。
  • 尝试运行代码(在Win2003机器上正常工作):

我得到了这个错误:

Server object error 'ASP 0177 : 800703e6'

Server.CreateObject Failed

/scripts/update/resize.asp, line 2

800703e6

请注意,我还尝试了以下内容作为替代方案,但我遇到了相同的问题(似乎它注册成功,但代码无法识别它): http://code.google.com/p/aspnetimage/

有任何想法是什么问题吗?对我来说很奇怪,因为它似乎注册成功,但ASP找不到它。


错误代码800703e6表示“内存位置访问无效”。正如您所提到的链接所说,这个组件似乎存在缺陷,不再起作用。您确定在使用替换组件时会得到完全相同的错误吗? - GTG
对,我猜我只是困惑为什么同样的文件在我的2003服务器上可以运行。可能存在某种不兼容性。你说得对,我没有收到完全相同的错误信息,而是“80070002”。我怀疑这可能是权限问题,但即使授予IUSR读取和执行权限后也无济于事。值得注意的是,我以管理员身份运行了一个vbscript Set Image = CreateObject("AspNetImage.NetImage"),并收到了这个错误:test.vbs(1, 1) (null): The system cannot find the file specified. - dtbarne
我实际上成功地创建了该对象。不幸的是,这个替代对象似乎不支持Image.MaxX和MaxY属性。:( - dtbarne
幸运的是,我能够使用一些纯ASP代码来解决问题。 - dtbarne
兄弟,你救了我一命啊!我差点就要放弃解决CAPICON dll在经典ASP应用程序中无法被检测到的问题了。但在最后一刻,我发现了你的帖子,并读到了应用程序池中启用32位设置的方法。这个方法解决了我的问题。上帝保佑你! - VPetrovic
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接