2010-07-15 79 views
1

我正在编写一个使用WiX的安装程序,它将在IIS中创建网站和虚拟目录等等。我一直无法确保安装程序在Windows Server 2003与IIS6,Windows Server 2008与IIS7以及Windows Server 2008 R2与IIS7.5上都能正常工作。IIS6和IIS7之间的主要区别

我遇到的第一个问题是IIS7为帐户使用了不同的组。而不是IIS6的IIS_WPG它将使用IIS_IUSR组。过去,网站配置属于引用此组名称的单独自定义操作功能,因此迁移到使用WiX IIS功能可能有助于解决IIS版本之间的其他细微差异。

我应该知道IIS是否还有其他重大更改?是否有编写安装程序在Windows Server 2003和Windows Server 2008平台上运行的准则?

感谢

回答

2

如果您正在使用WiX的3.0,你应该知道,你必须把“IIS 6兼容模式”在IIS 7.X为standard WiX IIS extension工作。 WiX v3.5包含对IIS 7的本机支持,但它尚不稳定 - WiX 3.5本身就是beta版本。您可以阅读更多关于WiX版本计划和功能集on Rob's blog

我个人必须在我的产品中支持从5.1(WinXP)开始的所有版本的IIS。我结束了使用标准的WiX IIS扩展,并要求“IIS 6兼容模式”作为先决条件。此外,我为每个IIS版本都有一个单独的WebSite元素。

例如,WebSite element具有WebApplication属性,其中您引用了WebApplication element。该元素依次具有Isolation属性,这对IIS 5.X是有意义的,而WebAppPool属性对于IIS 6+是有意义的。因此,我有几个WebApplication元素是从WebSite for IIS 5或从WebSite for IIS 6+中引用的。

希望你有想法,它可以帮助你。

+0

嗨妍,感谢您的输入。当您启用“IIS6兼容模式”时,是否启用它整个IIS或只是该应用程序?我不想限制其他开发人员无法使用IIS7中的新功能。我记得有一个IIS6的IIS5隔离模式,这是类似的东西吗? – fletcher 2010-07-18 05:53:48

+0

可以为整个IIS打开IIS6兼容模式(您可以在“程序和功能”>“打开和关闭Windows功能”>“Internet信息服务”下找到它),但是您不会限制其他开发人员使用新的IIS7 API。您只需打开较旧代码的路径即可与IIS 6元数据库(如WiX IIS扩展)交谈,以便在您的IIS上运行。 不,这不是IIS 5隔离模式的工作方式。 – 2010-07-18 20:03:12

相关问题