2012-07-27 24 views
7

सक्षम करने के लिए इंस्टॉलर हमेशा ऐपपूल बदलता है वाईएक्स इंस्टॉलर चांदी की रोशनी वेब एप्लिकेशन इंस्टॉल करता है। यह 32 या 64 बिट ऐप पूल के तहत काम कर सकता है। लेकिन जब इंस्टॉलेशन पूरा हो गया तो मुझे लगता है कि चयनित ऐप पूल हमेशा 32-बिट अनुप्रयोगों को सक्षम करने के लिए सेट है। यह 64-बिट पूल के लिए भी है। यह व्यवहार्य नहीं है क्योंकि यह पहले स्थापित 64 अनुप्रयोगों के लिए मौजूदा पूल को बदल सकता है। मैं स्पष्ट रूप से इस पैरामीटर को नहीं बदलता हूं। समस्या का कारण क्या हो सकता है?वाईएक्स: 32 बिट ऐप

कोड नमूना कहा:

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

उत्तर

15

यह एक बहुत ही सुंदर ढंग से तैयार किया गया था, मेरी राय में।

आप <Component>Win64="yes" के रूप में चिह्नित करने के लिए <iis:WebAppPool> तत्व घोषणा देते हैं, तो अनुप्रयोग पूल Enable32bit झंडा false करने के लिए सेट के साथ बनाया जाएगा। अन्यथा (यानी, डिफ़ॉल्ट रूप से), यह Enable32bittrue पर सेट किया जाएगा।

मुझे यकीन नहीं है कि जब आप अपनी स्थापना के साथ एप्लिकेशन पूल नहीं बनाते हैं तो यह व्यवहार कैसे करेगा, लेकिन इसके बजाय मौजूदा एक को संदर्भित करें। मैं उम्मीद करता हूं कि यह ध्वज बिल्कुल न बदलें। यह पता लगाने के लिए आप इसका प्रयोग कर सकते हैं कि यह वास्तव में कैसे काम करता है।

और एक साइड नोट: मैं मौजूदा एप्लिकेशन पूल या वेबसाइट पर स्थापित होने से बचूंगा। यह बनाए रखना कहीं अधिक कठिन है - याद रखें कि आपको अनइंस्टॉलेशन के बाद मशीन को "प्री-इंस्टॉल" स्थिति में छोड़ना होगा। इसका मतलब है कि आपको बैकअप को बनाए रखना होगा/कस्टम क्रियाओं के साथ जो कुछ भी आप बदलते हैं उसकी स्थिति को पुनर्स्थापित करना होगा ... ब्र ...

+0

धन्यवाद, यान। हम्म .... हाँ, यह दिलचस्प है ... मैंने जो कोड इस्तेमाल किया है, मैंने जोड़ा है। – Oleg

+0

तो, आपके द्वारा जोड़ा गया कोड सक्षम 32 बिट सेट के साथ 'True' में ऐप पूल बनाएगा। आप विपरीत स्थिति के साथ एक और घटक जोड़ना चाह सकते हैं, यानी, संस्करणNT64 और Win64 विशेषता का उपयोग हाँ पर सेट किया गया है, और इसमें सभी समान चीज़ें जोड़ें। –

+0

हां, जब मैं एक नया पूल कोई समस्या नहीं बनाते हैं। लेकिन समस्या यह है कि जब उपयोगकर्ता मौजूदा एक (64-बिट) का चयन करता है और यह पूल तब 32-बिट में बदल जाता है। मैं पूल का चयन करने के लिए कस्टम .NET फ़ंक्शंस का उपयोग करता हूं। – Oleg

संबंधित मुद्दे