使用WOW64运行IIS并加载64位DLL

时间:2011-10-13 14:40:35

标签: iis 64-bit wow64

客户端正在运行启用了WOW64的IIS,并且抱怨她无法加载我们的64位DLL。

有没有办法做到这一点?

此外,使用WOW64运行IIS是否意味着所有.NET代码都在32位.NET运行时下运行?

1 个答案:

答案 0 :(得分:1)

如果IIS配置为启动将在WoW64下运行的32位W3WP.EXE,则是,在该工作进程中发生的任何事情都将以32位模式发生,因此您将使用32位。 NET运行时。

这样做的一个缺点是你无法加载64位DLL,因为它们与32位进程不兼容。您需要提供32位版本的DLL,或者您需要客户端禁用32位W3WP.exe。

如果您的DLL是一个COM DLL,那么您还有另一个选择:在COM +中注册它并让它从IIS应用程序运行进程外。这意味着您的32位代码可以通过COM调用机制调用64位代码(Windows会在引擎盖下为您服务)。

IIS中用于更改此设置的设置位于IIS中的“应用程序池”属性下,并且是“启用32位应用程序”。设置为true会强制32位工作进程;设置为false将启用64位工作进程。

相关问题