WiX - HTTP响应标头

时间:2016-03-24 13:57:59

标签: iis-7 wix internet-explorer-7 compatibility

我正在使用WiX 3.10。对于仅在IE中使用的网站。 (.net 2.0)

我们最近有一些用户抱怨布局不安,因为他们的浏览器的兼容性设置。

修复此问题的一种方法,似乎是在IIS中添加HTTP响应标头(名称:X-UA兼容,值:IE = EmulateIE7)

我可以从Product.WXS以某种方式执行此操作,因此安装后会设置吗?

谢谢

2 个答案:

答案 0 :(得分:3)

以下是使用WiX设置网站和HTTP响应标头的示例代码。

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:iis="http://schemas.microsoft.com/wix/IIsExtension">
    <Product Id="*" Name="IISTest" Language="1033" Version="1.0.0.0" Manufacturer="Microsoft" UpgradeCode="9670352d-2b30-446e-b17f-a31a7d08d917">
        <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

        <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
        <MediaTemplate />

        <Feature Id="ProductFeature" Title="IISTest" Level="1">
            <ComponentGroupRef Id="ProductComponents" />
      <ComponentGroupRef Id="MyWebsiteIISConfiguration" />
        </Feature>
    </Product>

  <Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <!-- Will reference to C:\inetpub-->
      <Directory Id="INETPUB" Name="Inetpub">
        <Directory Id="WwwRoot" Name="WWWRoot">
        <!-- Will reference to c:\Inetpub\wwwroot\MyWebSite-->
        <Directory Id="INSTALLFOLDER" Name="MyWebSite" />
        </Directory>
            </Directory>
        </Directory>
    </Fragment>

  <Fragment>
    <DirectoryRef Id="INSTALLFOLDER">
      <Component Id="MyInstallWebsite" Guid="1253DBFC-D959-470E-A044-7DDABFFC1298" KeyPath="yes">
        <!-- Install to default web site -->
        <iis:WebSite Id="MyWebsiteWebsite" Description='MY Website' Directory='INSTALLFOLDER' AutoStart='yes' StartOnInstall='yes'>
          <iis:HttpHeader Id="header_id" Name="X-UA-Compatible" Value="IE=EmulateIE7"/>
          <iis:WebAddress Id="AllUnassigned" Port="80" />
          <iis:WebApplication Id="MyWebsiteApplication" Name="[MyWebsiteWebsite][WEBSITE_ID]" WebAppPool="MyWebsiteAppPool">
          </iis:WebApplication> 
        </iis:WebSite>
      </Component>
      <Component Id="MyWebsiteAppPool" Guid="" KeyPath="yes">
        <iis:WebAppPool Id="MyWebsiteAppPool"
                        Name="MyWebsiteAppPool"
                        Identity="applicationPoolIdentity"
                         ManagedPipelineMode="Integrated"
                        ManagedRuntimeVersion="v4.0" />
      </Component>

    </DirectoryRef>
  </Fragment>

    <Fragment>
    <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
      <Component Id="ProductComponent" Guid="{6F44232F-1C0B-4278-AB2B-BFD34FAE863C}">
        <File Id="favicon.ico" Source="favicon.ico" />
      </Component>
    </ComponentGroup>
    <ComponentGroup Id="MyWebsiteIISConfiguration">
      <ComponentRef Id="MyInstallWebsite" />
      <ComponentRef Id="MyWebsiteAppPool" />
    </ComponentGroup>
    </Fragment>
</Wix>

enter image description here

答案 1 :(得分:2)

HttpHeader element允许您指定任意标头。