VS2010 Web安装项目需要IIS7上的IIS6(元数据库)兼容性。申请的后果或其他问题?

时间:2011-08-17 09:42:24

标签: visual-studio-2010 iis-7 iis-6 windows-installer iis-metabase

尝试在Windows Vista,Windows 7或Windows 2008 Server上安装在Visual Studio 2010中创建的Web安装项目(MSI)时,安装程​​序将失败,并出现一些常规错误。 根据{{​​3}},这是因为IIS7中的安装项目之间存在兼容性问题。

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

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

2 个答案:

答案 0 :(得分:1)

  1. 我不认为这会对应用程序本身产生任何影响,只要它实现了通过其本机API与IIS7通信的方式。否则,如果它不支持IIS7,则无论如何都必须启用IIS6兼容性。
  2. 在目标计算机上搜索任何内容的标准方法是搜索注册表和文件系统。我不知道在VS安装项目中它是如何可行的,但是例如WiX具有特殊元素(RegistrySearchDirectorySearchFileSearch)。基本上,this post to WiX Tips and Tricks thread显示了如何在WiX中检查IIS6兼容性,并在未启用/安装时阻止安装。即使您不了解WiX,它也相当直接,但是知道Windows Installer的概念,它可以帮助您将代码转换为VS安装项目中的类似内容。

答案 1 :(得分:0)

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

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