【问题标题】:VS2010 web setup project needs IIS6 (metabase) compatibility on IIS7. Consequences or other issues for the application?VS2010 Web 设置项目需要 IIS7 的 IIS 6(元数据库)兼容性。应用程序的后果或其他问题?
【发布时间】:2011-08-17 09:42:23
【问题描述】:

当尝试在 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 组件配置对话框,让用户的生活更轻松?

【问题讨论】:

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


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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2011-09-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多