由于缺少代表,我无法评论线程。另一位评论者表示,他们无法从较低版本的 IIS 迁移到较高版本的 IIS。如果您不合并某些文件,这是正确的,但如果您这样做,您可以,因为我刚刚使用chews 发布的答案将我的 IIS 7.5 站点迁移到 IIS 8.0。
创建导出 (II7.5) 时,有两个关键文件(administration.config 和 applicationHost.config)引用了 IIS7.5 服务器上的资源。例如,将使用特定于 7.5 的公钥和版本来引用 DLL。这些在 IIS8 服务器上是不一样的。功能配置也可能不同(我确保我的配置相同)。 8 中有一些新功能在 7.5 中永远不会存在。
如果您有足够的勇气合并这两个文件 - 它会起作用。我不得不卸载 IIS 一次,因为我搞砸了,但第二次得到了它。
我使用了一个合并工具(Beyond Compare),如果没有类似的工具,这将是一个巨大的 PITA - 但是使用一个好的 diff 工具非常容易(五分钟)。
要进行合并,在尝试导入之前,需要将 8.0 文件与导出的 7.5 文件进行比较。在大多数情况下,8.0 文件需要覆盖导出的 7.5 文件中的服务器特定内容,同时保留站点/应用程序池特定内容。
我发现 Administration.config 几乎相同,没有许多条目的版本信息。这个很简单。
applicationHost.config 有很多不同之处。有些条目的顺序不同,但其他方面相同,因此您必须找出每个差异并找出答案。
在合并之前,我将 7.5 导出文件放在 System32\inetsrv\config\Export 文件夹中。
我将上面提到的两个文件的 FROM 文件夹 System32\inetsrv\config 合并到文件夹 System32\inetsrv\config\Export 中。我推送了 FROM 文件中的所有内容,除了站点特定的标签/元素(例如 applicationPools、customMetadata、站点、身份验证)。特别需要注意的是,我还必须保留许多特定于站点的“位置”标签块,但新服务器有自己的“位置”标签块,必须保留服务器特定的默认值。
最后,请注意,如果您使用服务帐户,这些缓存的密码是垃圾密码,必须为您的应用程序池重新输入。我的网站最初都没有工作,但只需重新输入所有应用程序池的密码,我就可以正常运行了。
如果可以发表评论的人在帖子中提及此帖子 - 它可能会帮助像我这样在一台服务器上拥有许多站点且配置复杂的其他人。
问候,
斯图尔特