WiX - HTTP 响应 Header

WiX - HTTP Response Header

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

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

解决此问题的一种方法似乎是在 IIS

中添加 HTTP 响应 Header(名称:X-UA-Compatible,值:IE=EmulateIE7)

我可以从 Product.WXS 以某种方式执行此操作吗,所以在安装后,这将被设置?

谢谢

HttpHeader element 让你指定任意 headers.

这是使用 WiX 设置网站和 HTTP 响应 header 的示例代码。

<?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>