我正在尝试将网站部署到64位操作系统。我正在部署到IIS6。该网站是在32位服务器上开发的。该站点已正确部署,但它正在尝试访问COM组件并且失败。
我相信错误正在发生,因为COM组件是64位操作系统上的64位版本。 IIS6在64位服务器上以32位模式运行。
我想确认这一点,但我似乎无法找到确定IIS6是处于32位模式还是64位模式的明确方法。
有人知道检查IIS6是否处于64位或32位模式的最佳方法吗?
编辑:我正在使用IIS6
答案 0 :(得分:50)
转到IIS管理器 - >应用程序池 - >选择您想要的apppool,然后选择>高级设置。
在那里有一个叫做启用32位应用的设置。如果这是真的,那意味着工作进程被强制以32位运行。如果设置为false,则apppool以64位模式运行。
您也可以打开任务管理器并检查w3wp.exe。如果它显示为w3wp * 32.exe则为32位。
更多信息here
答案 1 :(得分:10)
哪个版本的IIS?要手动检查它,只需单击属性或高级属性中的应用程序池
如果你需要以编程方式检查它,你可以通过WMI进行检查:
上的/ LM / W3SVC命名空间
IIsWebService类
Enable32BitAppOnWin64属性
答案 2 :(得分:6)
在.NET代码(V4之前版本)中,您可以检查IntPtr
实例的大小。
在V4中,选中Environment.Is64BitProcess
和Environment.Is64BitOperatingSystem
属性。
答案 3 :(得分:1)
对于IIS6,您可以运行此命令:
C:\的Inetpub \ AdminScripts> cscript adsutil.vbs获取W3SVC / AppPools / Enable32BitAppOnWin64
答案 4 :(得分:1)