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
,
Я не уверен, как он будет себя вести, если вы не создадите пул приложений с вашей установкой, а вместо этого будете ссылаться на существующий. Я ожидал бы, что это не изменит этот флаг вообще. Вы можете поэкспериментировать с этим, чтобы узнать, как это работает точно.
И примечание: я бы не стал устанавливать в существующий пул приложений или веб-сайт. Это гораздо труднее поддерживать - помните, что после деинсталляции вы должны оставить машину в состоянии "предустановки". Это означает, что вам придется сохранять резервные копии / восстанавливать состояние всего, что вы изменяете с помощью пользовательских действий... Бррр...