deployment - एक्सेल एक्सएलएल ऐड-इन की तैनाती कैसे करें और Excel में एड-इन स्वचालित रूप से रजिस्टर करें




xll (2)

मैंने ExcelDNA और C # का उपयोग करते हुए एक्सेल एक्सएलएल विकसित किया है। मैं उस बिंदु पर हूं जहां मैं तैनाती का परीक्षण करना शुरू करना चाहता हूं, लेकिन अधिक जानकारी नहीं मिल पाती है जो वास्तव में कदम उठाती है

मेरी परियोजना ExcelDna संदर्भों के साथ कक्षा पुस्तकालय के रूप में विकसित की गई थी .dna फ़ाइल में, मेरे पास निम्न कोड है जो सभी संसाधनों को एक्सएलएल (यानी पैक = "सच" विशेषता) के पैक संस्करण में पैक करेगा।

<DnaLibrary Name="ExcelXLL" RuntimeVersion="v4.0" Language="C#">
  <ExternalLibrary Path="ExcelXLL.dll" LoadFromBytes="false" Pack="true" />

मैं पथ में लक्षित मशीन को पैक किया हुआ एक्सएलएल तैनात करना चाहूंगा:

%APPDATA%\Microsoft\AddIns

Excel के साथ स्वचालित रूप से XLL को पंजीकृत करने के लिए, मुझे एक रजिस्ट्री कुंजी जोड़नी होगी जो उपयोगकर्ता के एक्सेल के संस्करण पर निर्भर करता है।

उदाहरण के लिए, मेरे कंप्यूटर पर (विंडोज 7 64 बिट एक्सेल 2007 32-बिट चल रहा है), मुझे निम्न पथ में एक रजिस्ट्री कुंजी जोड़ने की आवश्यकता होगी:

HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\Options\

कुंजी ओपन (या OPEN1, OPEN2, आदि) के साथ प्रकार REG_SZ होगी और मान / आर "ExcelXLL- पैक.क्ल"

मेरे पास 2 समस्याएं हैं हालांकि सबसे पहले यह निर्धारित करने में है कि किस प्रकार Excel का उपयोगकर्ता सही पथ प्राप्त करना है और दूसरा, सही ओपन संस्करण का निर्धारण करना है जिसे मुझे बनाने की आवश्यकता है (उदाहरण के लिए, यदि उपयोगकर्ता पहले से ओपन, ओपेन 1 और ओपन 2 है तो I एक OPEN3 कुंजी बनाएगा)।

मैं सेटअप या परिनियोजन प्रोजेक्ट या एक InstallShield LE प्रोजेक्ट का उपयोग करके स्थापना करने का प्रयास कर रहा हूं और इस बारे में कैसे जाना है यह निर्धारित नहीं कर सकता। क्या किसी को पता है कि यह कैसे करना है या इसे करने का एक बेहतर तरीका है?

1 संपादित करें:

मैंने इसके बारे में बहुत कुछ शोध किया है और कई खिड़कियों के संस्थापकों को देखा है।

पैकेज और परिनियोजन और InstallShield LE में, मैं इंस्टॉलर वर्ग को मेरी कक्षा पुस्तकालय में स्थापित करके और स्थापना के साथ परियोजना आउटपुट को बंडल करके स्थापित / अनइंस्टॉल कर सकता हूं। इस दृष्टिकोण में, मैं इंस्टॉलर वर्ग का उपयोग करके रजिस्ट्री कुंजी को डालने / निकालने का प्रबंधन करता हूं। मेरे पास जो समस्या है वह है कि उपयोगकर्ता को एक नया इंस्टॉल (कोई अद्यतन क्षमता) चलाने से पहले पहले की स्थापना रद्द करनी चाहिए।

मैंने सेटअप फ़ैक्टरी डेमो संस्करण डाउनलोड किया है और काम करने के लिए इंस्टॉल / अद्यतन प्राप्त कर सकते हैं, लेकिन ढांचे की जांच नहीं कर सकते (डेमो के साथ नहीं भेजा गया)। इसके अलावा, स्थापना रद्द करने में विफल (हालांकि मैं इसे कुछ और जांच के साथ काम करने में सक्षम हो सकता है)।

मैं वाईएक्स इंस्टॉलर का उपयोग करने में दिलचस्पी ले रहा हूं, लेकिन जानना चाहूंगा कि किसी का भी नमूना है कि वाईएक्स का उपयोग करके तैनाती कैसे करें। मैं यह भी जानना चाहूंगा कि मुझे इंस्टॉलर वर्ग का उपयोग करने की आवश्यकता है या अगर HKCU \ Software \ Microsoft \ Office [Version] .0 \ Excel \ Options के अंतर्गत OPEN [n] कुंजी के लिए खोज को संभालने के लिए एक अलग तरीका है। अगर मैं इंस्टॉलर वर्ग को सक्षम करने के लिए प्रोजेक्ट आउटपुट का उपयोग कर रहा था, तो मुझे 2 अलग-अलग लक्ष्य निर्देशिकाएं (बुनियादी परियोजना आउटपुट के लिए प्रोग्राम फ़ाइलें के तहत एक और% appdata% under \ Microsoft Packed XLL के लिए AddIns) की आवश्यकता है।

कोई भी मदद बहुत ही सराहनीय होगी।

धन्यवाद,

ली


IsWix और Wix 3.7 का उपयोग कर, मैं इसे हल करने में सक्षम था।

घटकों को कैसे पंजीकृत करें के लिए उपयोगी लिंक्स निम्नानुसार हैं:

विंडोज इंस्टालर कस्टम एक्शन से निपटने के लिए सी # क्लास का निर्माण करने के लिए: http://www.codeproject.com/Articles/132918/Creating-Custom-Action-for-Wix-Written-in-Managed?fid=1599130&df=90&mpp=25&noise= 3 और प्रोफेसर = झूठी और प्रकार = स्थिति और दृश्य = त्वरित और छठे वेतन आयोग = आराम और चयन = 4,131,367 और fr = 1 # xx0xx

http://blogs.msdn.com/b/jschaffe/archive/2012/10/23/creating-wix-custom-actions-in-c-and-passing-parameters.aspx

CustomAction.config फ़ाइल की सामग्री को सेट करने के लिए सामग्री WIX कस्टम कार्यों .Net Framework 4.0 के लिए निर्मित नहीं है? हल करने के तरीके?

1 संपादित करें:

वाईएक्स पर सामान्य ज्ञान के लिए (बहुत महत्वपूर्ण) http://channel9.msdn.com/blogs/scobleizer/wix-team-the-most-used-piece-of-software-at-microsoft-and-its-open-source # पृष्ठ = 2


एक्सेल 32-बिट बनाम 64-बिट का पता लगाने के लिए, आप रजिस्ट्री की जांच कर सकते हैं: पता लगाएँ कि क्या कार्यालय 32 बिट या 64 बिट रजिस्ट्री के माध्यम से है

OPEN, OPEN1, OPEN2 आदि के लिए आपको इंस्टॉल स्क्रिप्ट में एक कस्टम एक्शन की आवश्यकता होती है जो कि कुंजी को दर्शाती है।