Instalator WiX instaluje aplikację internetową silverlight. Może pracować pod 32 lub 64-bitową pulą aplikacji. Ale po zakończeniu instalacji widzę, że wybrana pula aplikacji zawsze jest ustawiona na Włącz aplikacje 32-bitowe. Dotyczy to nawet pule 64-bitowych. Nie można go zmienić, ponieważ może zmienić istniejącą pulę dla wcześniej zainstalowanych 64 aplikacji. Nie zmieniam wyraźnie tego parametru. Jaki jest powód problemu?WiX: Instalator zawsze zmienia AppPool, aby włączyć 32-bitową aplikację
Próbka Kod dodania:
<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>
Dziękuję, Yan. Hmm .... tak, to interesujące ... Dodałem kod, którego używam. – Oleg
Zatem dodany kod utworzy pulę aplikacji z ustawieniem Enable32bit na "true". Można dodać kolejny składnik o przeciwnym warunku, tj. Przy użyciu atrybutów VersionNT64 i Win64 ustawionych na yes i dodać do niego wszystkie te same elementy. –
Tak, po utworzeniu nowej puli nie ma problemu. Ale problem występuje, gdy użytkownik wybierze istniejący (64-bitowy) i ta pula zostanie zmieniona na 32-bitową. Używam niestandardowych funkcji .NET do wyboru puli. – Oleg