IIS网站升级

时间:2014-07-15 11:40:21

标签: iis wix wix3.7

我正在构建网站安装程序,在安装阶段我需要在IIS下创建一个应用程序池和一个网站。

在安装/卸载阶段,一切正常:IIS按预期配置。

现在我无法弄清楚如何在升级时获得良好的用户体验:实际上,setupkit会覆盖网站上的每个配置(即端口绑定)。

是否有可能指示Wix在更新期间不更改网站/应用程序池配置?

这里是代码:

<Directory Id="TARGETDIR" Name="SourceDir">      
  <Directory Id="INETPUB" Name="Inetpub">
  <Directory Id="INSTALLFOLDER" Name="MyWebSite">
  <Component Id="MyWebSiteIssConfiguration" Guid="MY-GUID">
    <Condition><![CDATA[NOT Installed]]></Condition>

    <iis:WebAppPool Id="MyWebSiteAppPool"
                  Name="[APP_POOL_NAME]"
                  Identity="localService"
                  ManagedPipelineMode="Integrated"
                  ManagedRuntimeVersion="v4.0" />

    <iis:WebSite Id="MyWebSiteWebsite" Description='[WEB_SITE_NAME]' Directory='INSTALLFOLDER' AutoStart='yes' StartOnInstall='yes'>
      <iis:WebAddress Id="AllUnassigned" Port="[WEB_SITE_PORT]" />
      <iis:WebApplication Id="MyWebSiteApplication" Name="[WEB_SITE_NAME][WEBSITE_ID]" WebAppPool="MyWebSiteAppPool"></iis:WebApplication>
      <iis:WebDirProperties Id="MyWebSiteWebDirProperties" AnonymousAccess="no" WindowsAuthentication="yes" />
    </iis:WebSite>

    <CreateFolder/>
  </Component>
</Directory>
</Directory>
</Directory>

1 个答案:

答案 0 :(得分:0)

最后,我找到了符合我需求的解决方法。

首先,我将包含网站配置的组件(我的示例代码中的MyWebSiteIssConfiguration)标记为Permanent='yes':这样就不会卸载网站。

此外,我已在网站上设置ConfigureIfExists='no',因此在升级期间,网站上的配置不会受到影响。