WiX: установщик всегда меняет AppPool для включения 32-битного приложения

Установщик WiX устанавливает веб-приложение Silverlight. Он может работать под 32 или 64-битным пулом приложений. Но после завершения установки я вижу, что для выбранного пула приложений всегда установлено значение Включить 32-разрядные приложения. Это даже для 64-разрядных пулов. Это не подходит, потому что это может изменить существующий пул для ранее установленных 64 приложений. Я не изменяю явно этот параметр. В чем причина проблемы может быть?

Пример кода добавлен:

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

1 ответ

Это было разработано очень элегантно, на мой взгляд.

Если вы разместите <iis:WebAppPool> объявление элемента в <Component> помечен как Win64="yes", пул приложений будет создан с Enable32bit флаг установлен в false, В противном случае (то есть по умолчанию) он будет создан с Enable32bit установлен в true,

Я не уверен, как он будет себя вести, если вы не создадите пул приложений с вашей установкой, а вместо этого будете ссылаться на существующий. Я ожидал бы, что это не изменит этот флаг вообще. Вы можете поэкспериментировать с этим, чтобы узнать, как это работает точно.

И примечание: я бы не стал устанавливать в существующий пул приложений или веб-сайт. Это гораздо труднее поддерживать - помните, что после деинсталляции вы должны оставить машину в состоянии "предустановки". Это означает, что вам придется сохранять резервные копии / восстанавливать состояние всего, что вы изменяете с помощью пользовательских действий... Бррр...

Другие вопросы по тегам