Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WiX: Installer always changes AppPool to enable 32bit app

WiX installer installs silverlight web application. It can work under 32 or 64 bit app pool. But when installation completed I see that selected app pool always set to Enable 32-bit applications.It is even for 64-bit pools. It is not sutiable because it can change existing pool for previously installed 64 applications. I do not change explicitely this parameter. What is the reason of problem may be?

The code sample added:

<Component Id="WebAppVDirComponent"
    Guid="C7A4B0E8-2389-4A2A-B285-96960BEE1C52" KeyPath="yes">
    <Condition><![CDATA[RBGROUP_HOSTING = "iis"]]></Condition>
        <iis:WebVirtualDir Id="VDir"
                Alias="[WEB_APP_NAME]"
                Directory="INSTALLDIR"
                WebSite="TheWebSite" >
        <iis:MimeMap Id="SilverlightMimeType" Extension=".xap" Type="application/x-silverlight-app" />
        <iis:WebApplication Id="WorkWebApplication"
                Name="[WEB_APP_NAME]" WebAppPool="TheAppPool"/>
        </iis:WebVirtualDir>
        <iis:WebAppPool Id="TheAppPool" Name="[APP_POOL_NAME]" ></iis:WebAppPool>           
        <CreateFolder/>
</Component>
like image 807
ZedZip Avatar asked Jul 27 '12 12:07

ZedZip


1 Answers

This had been designed in a very elegant way, in my opinion.

If you place the <iis:WebAppPool> element declaration to the <Component> marked as Win64="yes", the application pool will be created with Enable32bit flag set to false. Otherwise (that is, by default), it will be created with Enable32bit set to true.

I'm not sure how it will behave when you don't create the application pool with your installation, but reference the existing one instead. I would expect it not to change this flag at all. You can experiment with this to find out how it works exactly.

And a side note: I would avoid installing to the existing application pool or website. This is far more difficult to maintain - remember that you must leave the machine in its "pre-install" state after uninstallation. This means you'll have to maintain backup/restore the state of everything you change with custom actions... Brrr...

like image 123
Yan Sklyarenko Avatar answered Sep 30 '22 07:09

Yan Sklyarenko