2009-11-08 22 views
5

मेरा मानना ​​है कि परंपरागत तरीके से शर्त का उपयोग कर एक .NET कार्यक्रम के साथ क्रिस्टल रिपोर्ट को तैनात करने के बिना ClickOnce का उपयोग कर DLLs प्रकाशित सेटिंग में एक शर्त के रूप में सेट करने के लिए है और फिर एक .msi के साथ पैक किया जाएगा वेब/नेटवर्क/सीडी/wtv पर क्लिकऑन फ़ाइलें। जब उपयोगकर्ता setup.exe चलाता है, तो यह जांच करेगा कि क्रिस्टल रिपोर्ट क्लाइंट कंप्यूटर पर है या नहीं। यदि नहीं, तो यह क्रिस्टल रिपोर्ट .msi चलाता है। लेकिन उसे हमेशा प्रशासन अधिकारों की आवश्यकता होगी।तैनात क्रिस्टल रिपोर्ट केवल .msi

मेरा सवाल है, क्या क्रिस्टल रिपोर्ट के डीएलएस को अन्य एप्लिकेशन के आउटपुट असेंबली के साथ पैकेज करना संभव है ताकि कोई स्पष्ट इंस्टॉल आवश्यक न हो? मेरा आवेदन कई घटकों का उपयोग करता है और उनमें से अधिकांश के लिए इंस्टॉल के साथ एक डीएल सहित पर्याप्त है। क्या मैं क्रिस्टल रिपोर्ट के साथ ऐसा ही कर सकता हूं?

+0

हाय, मुझे एक ही समस्या का सामना करना पड़ रहा है, क्या आपने कभी ऐसा करने का तरीका निकाला है? – matao

उत्तर

2

यदि आप इसे स्वयं करने पर मृत-सेट हैं, तो आप क्रिस्टल रिपोर्ट रनटाइम की स्थापना की निगरानी कर सकते हैं यह देखने के लिए कि कौन सी फाइलें/रजिस्ट्री प्रविष्टियां/सेटिंग्स इसे बनाता/संशोधित करती हैं। वैकल्पिक रूप से, आप एमएसआई को डीकंपाइल कर सकते हैं या क्रिस्टल रिपोर्ट्स से एमएसटी ट्रांसफॉर्म फ़ाइल को डाउनलोड और डिकंपाइल कर सकते हैं। एक बार जब आप जानते हैं कि यह क्या कर रहा है, तो इसे स्वयं करने के लिए कुछ लिखें।

4

मुझे बुरी खबरों के वाहक होने से नफरत है, लेकिन विजुअल स्टूडियो .NET के लिए क्रिस्टल रिपोर्ट्स को एक बार तैनाती के लिए डिज़ाइन नहीं किया गया है। क्रिस्टल रिपोर्ट्स एक मूल आवेदन है, और रिपोर्ट के साथ निपटने के लिए उपयोग की जाने वाली असेंबली कई गैर-.NET पुस्तकालयों पर निर्भर करती है।

पंजीकरण की आवश्यकता वाले बहुत सी COM ऑब्जेक्ट्स, डीएलएल का समर्थन करने के लिए समर्थन करते हैं ... लाइसेंसिंग जानकारी जो कहीं भी रखी जानी चाहिए (क्रिस्टल रिपोर्ट हमेशा लाइसेंसिंग पर बड़ी होती है)।

सिद्धांत रूप में, यदि आपका एप्लिकेशन पूर्ण-विश्वास चला रहा है तो आप .NET रनटाइम के लिए क्रिस्टल रिपोर्ट की स्थापना की निगरानी कर सकते हैं और इसे सी # में डुप्लिकेट कर सकते हैं, लेकिन यह बहुत काम है, और सबसे अच्छा अविश्वसनीय होगा।

अफसोस की बात है कि अंतिम जवाब यह नहीं है कि आप नहीं कर सकते हैं।

आप सक्रिय रिपोर्ट, या कुछ अन्य शुद्ध .NET रिपोर्टिंग समाधान देख सकते हैं।

+0

उत्तर के लिए धन्यवाद। बस सोच रहा है। मेरा आवेदन क्लिकऑन के माध्यम से वर्तमान में डीएलएस का एक गुच्छा तैनात करता है। उनमें से ज्यादातर बहुत सुंदर नहीं हैं। बहुत सी चीजें हैं, उनमें से कुछ बहुत भारी वजन है। क्रिस्टल रिपोर्ट को छोड़कर बाकी सबकुछ ठीक काम करता प्रतीत होता है। मेरे अन्य तीसरे पक्ष के उत्पादों में से 3 को भी लाइसेंसिंग की आवश्यकता है (डॉटनेटबार, डेवएक्सप्रेस और फरपॉइंट)। क्या मैं सैद्धांतिक रूप से क्रिस्टल रिपोर्ट के साथ वही काम कर सकता हूं और क्या इसे क्लिकऑन्स के माध्यम से डीएलएस के माध्यम से किया जा सकता है? – xster

0

मुझे लगभग यकीन है कि पुस्तकालयों का एक पुनर्वितरण योग्य पैकेज है जो क्रिस्टल रिपोर्ट के अंतिम संस्करण के साथ जहाजों को खरीदते समय जहाज (यह सुनिश्चित नहीं है कि यह पैकेज विजुअल स्टूडियो संस्करण के साथ जहाज़ है)।

+0

हाय, लेकिन मुझे लगता है कि पुनर्वितरण योग्य एक। एमएसआई है जिसके लिए व्यवस्थापक अधिकार स्थापित करने की आवश्यकता है। मेरा इरादा है कि उपयोगकर्ता को एक क्लिकऑन पैकेज पर अपना सॉफ़्टवेयर प्राप्त करने दें और व्यवस्थापक के बिना स्थानीय रूप से आवश्यक सब कुछ इंस्टॉल करें – xster

+0

@Xster - "बिना किसी व्यवस्थापक के" का मतलब यह है कि आपका क्लिकऑन ऐप ** बहुत सीमित ** है जो यह कर सकता है और नहीं कर सकता (जैसे नेटवर्क का उपयोग, फ़ाइल का उपयोग)। –

0

मैं स्थापना साइट पर क्रिस्टल पुनर्वितरण योग्य के लिए एक अलग लिंक प्रदान करता हूं और क्रिस्टल फ़ाइलों की उपस्थिति के लिए ClickOnce ऐप में एक चेक बनाता हूं।

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