IIS网站升级
Posted
技术标签:
【中文标题】IIS网站升级【英文标题】:IIS website upgrade 【发布时间】:2014-07-15 11:40:21 【问题描述】:我正在构建一个网站安装程序,在安装阶段我需要在 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】:最后我找到了适合我需要的解决方法。
首先,我将包含网站配置的组件(我的示例代码中的MyWebSiteIssConfiguration
)标记为Permanent='yes'
:这样网站就永远不会被卸载。
我还在网站上设置了ConfigureIfExists='no'
,所以在升级期间网站上的配置保持不变。
【讨论】:
以上是关于IIS网站升级的主要内容,如果未能解决你的问题,请参考以下文章