虽然现在 Sitecore 6.5.x 出来的时候已经不太重要了,但我会在这里为那些面临这个问题的人做一些详细的解释。
首先,Sitecore 本身不需要启用 IIS6 兼容性功能。它在支持 IIS 7 的第一个版本的纯 IIS 7 上运行良好。只有 SETUP.EXE 需要此功能。
一些技术背景: Sitecore 安装程序是用WiX构建的,加上一些自定义的东西。只要安装了 ASP.NET Web 应用程序,它就必须在安装过程中与 IIS 对话(创建 IIS 网站、应用程序池等)。当 Vista 到来时,WiX 工具集没有对 IIS 7 的原生支持(根据相关人员的说法,这是与 Microsoft IIS 团队等复杂关系的结果 :))。
因此,唯一的选择是打开 IIS6 兼容性,以便从安装包中执行必要的操作。
在这里,我们遇到了另一个问题。基本上,只需要“IIS6 元数据库兼容性”,但Sitecore 安装中有一个错误,导致用户启用整个“IIS6 兼容性”堆栈。这个很久以前就修复了,但是,很明显安装程序不是为旧版本重新构建的。
所以,总结一下:
- 如果您使用 Sitecore 6.5.x 或更高版本,则不必担心。不再存在 IIS6 兼容性依赖项
- 只有 setup.exe需要“IIS6 兼容性”才能完成其工作 - 您可以在安装 Sitecore 后安全地禁用它
- 如果您不走运并且必须安装那个版本,只需启用整个 IIS6 兼容性功能以确保它可以正常通过
希望它能带来更多的光芒。