1

尝试在 Windows Vista、Windows 7 或 Windows 2008 Server 上安装在 Visual Studio 2010 中创建的 Web 设置项目 (MSI) 时,设置将失败,并出现一些一般错误。根据http://devio.wordpress.com/2011/04/26/pitfalls-installing-web-setup-msi-on-iis-7/这是因为安装项目 en IIS7 之间的兼容性问题。

为了解决这个问题,我必须在我的 Windows 配置中启用/安装 IIS6 元数据库兼容性。此解决方法确实解决了问题,但提出了 2 个问题:

  • 这对 IIS 7 的功能有任何(负面)影响吗?
  • 如何通知运行此问题安装的用户,以便他或她可以采取适当的措施并安装元数据库兼容性组件?是否可以从此安装中弹出 Windows 组件配置对话框,以使用户的生活更轻松?
4

2 回答 2

1
  1. 我认为这不会对应用程序本身产生任何影响,只要它实现了通过其本机 API 与 IIS7 对话的方式。否则,如果它不支持 IIS7,则无论如何都必须启用 IIS6 兼容性。
  2. 在目标机器上搜索任何东西的标准方法是搜索注册表和文件系统。我不知道如何在 VS 安装项目中实现这一点,但例如 WiX 对此有特殊元素(RegistrySearchDirectorySearchFileSearch)。基本上,这篇关于 WiX 提示和技巧线程的帖子展示了如何检查 WiX 中的 IIS6 兼容性,并在未启用/安装时阻止安装。即使您不了解 WiX,但了解 Windows Installer 的概念,它也相当简单,它可以帮助您将代码转换为 VS setup 项目中的类似内容。
于 2011-08-17T10:19:26.030 回答
0

我们似乎对我们的服务器产生了负面影响。每次我们推出带有在 Visual Studio 中制作的 msi 的 .NET 4.0 应用程序时,我们都会回收所有应用程序池,甚至是那些不受安装影响的应用程序池。显然,这的根本原因是 IIS 6 兼容性。(这是微软的一位开发人员在回答我们对此的支持问题时向我们报告的。

目前我们没有解决办法。将我们所有的安装程序都转换为 Wix 是不可能的。

于 2012-07-03T12:31:32.383 回答