2011-02-05 11 views
7

मैं एक बिज़टॉक प्रोजेक्ट पर काम कर रहा हूं और इंस्टॉलेशन (डबल-क्लिकिंग) और आयात (बिज़टॉक एडमिन कंसोल का उपयोग करके) दोनों के कारणों को समझ में नहीं आता है।बिज़टॉक में एक एमएसआई फ़ाइल आयात और स्थापित दोनों क्यों है?

मेरे पास बिज़टॉक प्रोजेक्ट है और मैंने इसके संसाधनों में बाइंडिंग जोड़ दी और एक एमएसआई फ़ाइल निर्यात की। अब मैं एप्लिकेशन को किसी अन्य सर्वर पर स्थापित करना चाहता हूं।

जहाँ तक मुझे इस बता सकते हैं के रूप में क्या एक MSI स्थापित करता है: GAC में फाइल सिस्टम के लिए

  1. प्रतियां फ़ाइलें
  2. रजिस्टर विधानसभाओं
  3. जोड़ने के लिए एप्लिकेशन जोड़ता है/प्रोग्राम निकालें

      : एप्लेट

    हालांकि, यहां मेरी मुद्दे हैं

  4. एमएसआई का उपयोग कर स्थापित करने से एप्लिकेशन को Biztalk व्यवस्थापक कंसोल में नहीं जोड़ा जाता है। हमें एमएसआई आयात करने की जरूरत है।
  5. एमएसआई का उपयोग करके अनइंस्टॉल करने से जीएसी से असेंबली नहीं निकलती है। यह केवल फाइल सिस्टम में कॉपी की गई फ़ाइलों को हटा देता है। क्या जीएसी असेंबली को हटाने के लिए अनइंस्टॉल करने के लिए भी दूर है?
  6. अगर मैं सिर्फ एमएसआई आयात करता हूं तो मैं अपना बिज़टक एप्लिकेशन शुरू करने में सक्षम हूं और ऐसा लगता है कि यह ठीक चल रहा है। समस्या # 1 और # 2 के साथ संयुक्त एमएसआई की आवश्यकता क्यों है? मैं देख सकता हूं कि आयात सिर्फ जीएसी में नहीं जोड़ता है, इसलिए यदि अन्य अनुप्रयोग इस पर निर्भर करते हैं तो वे काम नहीं करेंगे।

मुझे यकीन है कि मैं सुविधाओं याद कर रहा हूँ/विन्यास कि MSI प्रदान करता हूँ, लेकिन कोई मदद कर सकता है मुझे समझने क्यों MSI दोनों स्थापित और BizTalk में आयात और क्यों किए जाने की आवश्यकता है जब आप uninistall यह नहीं है पूरी तरह से स्थापना रद्द करें सब कुछ स्थापित है?

उत्तर

10

बिज़टॉक समाधान को तैनात करते समय दो संचालन करने की आवश्यकता है।

बिज़टॉक समाधान क्यों तैनात करना एक दो-चरणीय संचालन है?

  1. रजिस्टर BizTalk प्रबंधन डेटाबेस
  2. के लिए BizTalk समाधान BizTalk कलाकृतियों और फाइल सिस्टम के लिए निर्भरता स्थापित

पहले, BizTalk विधानसभाओं कि शामिल अपने समाधान BizTalk प्रबंधन करने के लिए पंजीकृत होना जरूरी है डेटाबेस। यह बिज़टॉक को यह जानने की अनुमति देगा कि स्कीमा, मैप्स, पाइपलाइन और ऑर्केस्ट्रेशंस क्या उपलब्ध हैं।

यह आपके विंडोज इंस्टालर पैकेज को बिज़टॉक में आयात करके किया जाता है।

कृपया याद रखें कि एक विशिष्ट बिज़टॉक प्लेफॉर्म में आमतौर पर कई भौतिक सर्वर होते हैं। हालांकि, BizTalk Group के सभी सर्वर एक एकल BizTalk प्रबंधन डेटाबेस साझा करते हैं।

इसलिए, आयात आपरेशन पूरे BizTalk समूह के लिए एक बार किया जाना चाहिए।

दूसरा, बिज़टॉक असेंबली जो बिज़टॉक में पंजीकृत हैं, कहीं भौतिक रूप से मौजूद होने की आवश्यकता है। इसलिए, उन्हें फ़ाइल सिस्टम में स्थापित किया जाना चाहिए।

यह विंडोज इंस्टालर पैकेज पर डबल-क्लिक करके किया जाता है।

सूचना है कि स्थापित आपरेशन किसी भी शारीरिक सर्वर जो BizTalk समूह का हिस्सा है पर दोहराया जाना चाहिए। और चूंकि, बिज़टॉक प्रबंधन डेटाबेस में केवल एक ही परिभाषा है कि कौन सी असेंबली समाधान का हिस्सा हैं, यह बताती है कि क्यों बिज़टॉक असेंबली ग्लोबल असेंबली कैश (जीएसी) में स्थापित की जानी चाहिए।

सूचना है कि, अब तक, नियम सरल है:

  • BizTalk विधानसभाओं BizTalk समूह
  • BizTalk विधानसभाओं में प्रत्येक सर्वर पर GAC में स्थापित किया जाना चाहिए में आयात किया जाना चाहिए (या पंजीकृत) BizTalk प्रबंधन डेटाबेस एक बार

हालांकि, हमने केवल बिज़टॉक असेंबली के साथ निपटाया है। अन्य सभी असेंबली या अन्य निर्भरताओं (बिजनेस नियम परिभाषाएं, COM ऑब्जेक्ट्स, बाइंडिंग्स, कॉन्फ़िगरेशन फाइल इत्यादि) कि रनटाइम पर बिज़टॉक समाधान की आवश्यकता इस दो-चरणीय ऑपरेशन से ढकी नहीं है।

इंटर पर्यावरण तैनाती

हालांकि, जब समाधान चलाता है, उन निर्भरता भी उचित रूप में प्रत्येक BizTalk सर्वर पर मौजूद होना चाहिए।

यही कारण है कि उनमें से अधिकतर कलाकृतियों को बिज़टॉक प्रबंधन डेटाबेस में भी पंजीकृत किया गया है। लेकिन इस बार, यह केवल तभी किया जाता है जब निर्भरताएं लाई जाती हैं जब बिज़टॉक समाधान के लिए Windows इंस्टालर पैकेज बनाया जाता है, और इसलिए कि उन निर्भरताओं को लक्षित सर्वर पर उचित रूप से स्थापित किया जा सकता है।

बिज़टॉक असेंबली को अनइंस्टॉल करने पर जीएसी से क्यों नहीं हटाया जाता है?

अंगूठे के सामान्य नियम के रूप में, assemblies that are registered to the Global Assembly Cache are considered shared resources। इसलिए, सुरक्षा कारणों से, BizTalk असेंबली को अनइंस्टॉल करने पर जीएसी से हटाया नहीं जाता है। गौर करें कि क्या होगा जब एक कस्टम बिज़टॉक पाइपलाइन का उपयोग एक से अधिक अनुप्रयोगों द्वारा किया जाता है। उस स्थिति में, बिज़टॉक पाइपलाइन एक अलग, सामान्य, बिज़टॉक एप्लिकेशन का हिस्सा होना चाहिए। इस साझा BizTalk अनुप्रयोग अन्य सभी अनुप्रयोगों है कि इस पाइप लाइन पर निर्भर टूट जाएगा ... की स्थापना रद्द

adding resources to the BizTalk Management Database, आप विधानसभाओं आयात पर GAC के लिए स्थापित किया या पर समय स्थापित करने के लिए विकल्प नहीं है जब। मैं दृढ़ता से "GacOnImport" सुविधा का उपयोग करने की सलाह देता हूं, जो कि अधिकांश सामान्य बहु-सर्वर BizTalk समूह में समझ में नहीं आता है।

हालांकि, विंडोज इंस्टालर पैकेज के संबंध में बिज़टॉक असेंबली या अन्य निर्भरताओं के साथ क्या किया जा सकता है इसे अनुकूलित करने के लिए एक आसान और सबसे लचीला तरीका है। यह Pre Processing and Post Processing Scripts के साथ किया जाता है।

उन स्क्रिप्ट आयात/स्थापना संचालन के दौरान चार विशिष्ट समय पर मनमाने ढंग से अनुप्रयोग चलाने की अनुमति देते हैं।

  • आयात कर रहा है
  • आयात कर रहा है
  • स्थापित कर रहा है

intalling के बाद से पहले के बाद यदि आप चाहते हैं विधानसभाओं की स्थापना रद्द करें पर GAC से निकाले जाने का पहले, यह समय निर्धारण का एक सरल बात है ऑपरेशन के "स्थापित करने से पहले" चरण के दौरान उपयुक्त कमांड लाइन।

8

एमएसआई फ़ाइल आयात करना एमएसआई से बिज़टॉक डेटाबेस में असेंबली जोड़ता है। जैसा कि आपने कहा है, एमएसआई चलाने से असेंबली जीएसी में जोड़ती है। BizTalk एप्लिकेशन को "इंस्टॉल" होने के लिए दोनों की आवश्यकता है। केवल BizTalk असेंबली को BizTalk प्रबंधन डेटाबेस पर आयात किया जाना है। बिज़टॉक द्वारा उपयोग किए जाने वाले सभी डीएलएल जीएसी में होना चाहिए।

यह देखने के लिए कि आप अपने बिज़टॉक एप्लिकेशन में प्रत्येक संसाधन के लिए इंस्टॉल और आयात के लिए व्यवहार को कस्टमाइज़ कर सकते हैं, http://msdn.microsoft.com/en-us/library/aa578463(v=BTS.10).aspx पर एक लायक हो सकता है। यह आपको केवल एमएसआई आयात करने की अनुमति देगा और यह है कि दोनों डेटाबेस में असेंबली जोड़ते हैं और उन्हें जीएसी में भी इंस्टॉल करते हैं, जिससे आप अपने ऐड/निकालें प्रोग्राम में अतिरिक्त अव्यवस्था के बिना छोड़ देते हैं।

जब आप एक स्थापित एमएसआई को अनइंस्टॉल करते हैं तो डीएलएल को जीएसी से हटाया नहीं जाता है, इसलिए मैं आपको बता सकता हूं कि यह डिज़ाइन द्वारा था। यदि आप इस पृष्ठ को एमएसडीएन http://msdn.microsoft.com/en-us/library/aa562001(v=bts.10).aspx पर देखते हैं तो आप देख सकते हैं कि इस व्यवहार को अपेक्षित के रूप में वर्णित किया गया है। उस एमएसडीएन आलेख में जीएसी से असेंबली को कैसे हटाया जाए, इसके तहत लिंक भी शामिल है, जो बताता है कि एमएसआई की अनइंस्टॉल करने पर एमएसआई वास्तव में जीएसी से आपकी असेंबली को हटाने के लिए पोस्ट प्रोसेसिंग स्क्रिप्ट का उपयोग कैसे करें।

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