![IIS 版本混乱](https://linux22.com/image/717269/IIS%20%E7%89%88%E6%9C%AC%E6%B7%B7%E4%B9%B1.png)
我已经建立了一个新服务器,并全新安装了Windows 服务器 2016并注意到 IIS 的一些奇怪的事情。
IIS 10.0位于
System32
文件夹内。- 这是否意味着它是一个 32 位 exe,因此无法运行 64 位 Web 代码?
- IIS 有 32 位和 64 位版本吗?
- 如果是的话,我怎么知道我拥有的是哪一个?
- 如果不是,那么为什么有些扩展会有两个版本?例如https://www.iis.net/downloads/microsoft/url-rewrite#additionalDownloads
微软 IIS 6 新功能也位于同一文件夹中(网管系统管理工具)。天啊,为什么?!?
如果我运行 IIS 6,它会告诉我IIS 7.5在此服务器上运行!
如果我深入挖掘,IIS 6 说它正在运行SMTP 服务器。
那到底是怎么回事?
帮我理解这一切!
答案1
%windir%\System32
在 Windows 64 位上是 64 位系统文件夹(在 Windows 32 位上是 32 位),而%windir%\WOW64
在 Windows 64 位上是 32 位系统文件夹。如果您还没有记住这一点,请记住这一点。
在 Windows 32 位上,IIS 是纯 32 位。
在 Windows 64 位上,IIS 包含 64 位和 32 位组件,因此它可以运行 64 位和 32 位 Web 应用程序。
Microsoft 发布了 32 位和 64 位 MSI 包,适用于 32 位和 64 位 Windows 版本。
InetMgr6.exe
是仅用于 SMTP 服务的旧版工具。它与 IIS 不再有任何关系,因此您可以忽略它。它的存在是为了兼容性。如果您确实想了解,请 Google 搜索“IIS SMTP”。由于它是一个旧版工具,如果它告诉您 IIS 7.5 之类的信息,也不要相信它。
最后,您使用的是 Windows Server 2016,因此您使用的是 IIS 10,而不是 IIS 7.5。每个 IIS 版本都绑定到 Windows 版本,而 IIS 7.5 仅适用于 Windows 7 和 Windows Server 2008 R2。