在我们的WIX安装程序中,我们为各种组件创建了几个应用程序池,但是我们的.net 1.1应用程序池在安装完成后总是最终在.net 2.0上。
这使我们在每次安装和升级后手动将我们创建的应用程序池修复回1.1。
我的问题是有没有解决方法,让安装程序将其正确注册为1.1应用程序池,而不是将其更改为2.0应用程序池?
我们创建应用程序池的代码:
<Component Id ="WebApps.Component" Guid="{5F518238-F564-43ff-A249-F87C23E02B52}">
<CreateFolder />
<iis:WebAppPool
Id="V1WebAppPool"
Name=".Net 1.1 App Pool"
ManagedRuntimeVersion="v1.1"
Identity="networkService">
</iis:WebAppPool>
<iis:WebAppPool
Id="V2WebAppPool"
Name=".Net 2.0 App Pool"
ManagedRuntimeVersion="v2.0"
Identity="networkService">
</iis:WebAppPool>
<iis:WebAppPool
Id="V4WebAppPool"
Name=".Net 4.0 App Pool"
ManagedRuntimeVersion="v4.0"
Identity="networkService">
</iis:WebAppPool>
</Component>
答案 0 :(得分:1)
看看这个Creating a WIX Installer for ASP.NET Web Applications
asp.net版本的代码部分
<!-- Switch ASP.NET to version 2.0 -->
<CustomAction Id="MakeWepApp20" Directory="MYWEBWEBSITE"
ExeCommand="[ASPNETREGIIS] -norestart -s W3SVC/1/ROOT/[WEB_APP_NAME]"
Return="check"/>
<InstallExecuteSequence>
<Custom Action="MakeWepApp20" After="InstallFinalize">
ASPNETREGIIS AND NOT Installed</Custom>
</InstallExecuteSequence>
这是设置ASP版本的CustomAction,您可以创建一个条件,在版本之间运行正确的CustomAction切换。这是切换版本的link。
HTH