1

我正在使用 WiX 编写一个安装程序,它将在 IIS 中创建一个网站和虚拟目录等。我一直无法确保安装程序可以在带有 IIS6 的 Windows Server 2003、带有 IIS7 的 Windows Server 2008 和带有 IIS7.5 的 Windows Server 2008 R2 上运行。

我遇到的第一个问题是 IIS7 使用不同的帐户组。代替 IIS6 的 IIS_WPG,它将使用 IIS_IUSR 组。网站配置曾经属于引用此组名称的单独自定义操作函数,转向使用 WiX IIS 功能可能有助于解决 IIS 版本之间的其他细微差异。

我应该注意 IIS 的其他重大变化吗?是否有编写安装程序以在 Windows Server 2003 和 Windows Server 2008 平台上运行的指南?

谢谢

4

1 回答 1

2

如果您使用的是 WiX 3.0,您应该知道您必须在 IIS 7.X 中打开“IIS 6 兼容模式”才能使标准 WiX IIS 扩展工作。WiX v3.5 包含对 IIS 7 的本机支持,但还不稳定 - WiX 3.5 本身就是测试版。您可以在 Rob 的博客上阅读有关 WiX 版本计划和功能集的更多信息。

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

例如,WebSite 元素具有 WebApplication 属性,您可以在其中引用WebApplication 元素。该元素又具有对 IIS 5.X 有意义的 Isolation 属性和对 IIS 6+ 有意义的 WebAppPool 属性。因此,我有几个 WebApplication 元素,我从 IIS 5 的 WebSite 或 IIS 6+ 的 WebSite 引用。

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

于 2010-07-15T07:19:51.203 回答