2009-03-17 12 views
5

इसलिए मैंने Outlook एड-इन बनाया और इसे तैनात करने के लिए क्लिक-वन सेटअप का उपयोग किया।VSTO Outlook के लिए एक (क्लिकऑन) सेटअप बनाना

उपयोगकर्ता व्यवस्थापक होने पर सेटअप ठीक चलाता है, लेकिन अन्यथा: नहीं जाना।

"रन के रूप में ..." के साथ सेटअप चला रहा है और व्यवस्थापक के रूप में लॉग इन कर रहा है, लेकिन ऐड-इन व्यवस्थापक के तहत स्थापित है, वर्तमान उपयोगकर्ता नहीं। एडिन दृष्टिकोण में दिखाई नहीं देता है। http://blogs.msdn.com/mshneer/archive/2008/04/24/deploying-your-vsto-add-in-to-all-users-part-iii.aspx

लेकिन मैं भाग में अटक रहा: http://blogs.msdn.com/mshneer/archive/2007/09/04/deploying-your-vsto-add-in-to-all-users-part-i.aspx

मैं उदाहरण का पालन करें और शुरू वर्णित के रूप में उत्कृष्टता:

अब एक्सेल आवेदन शुरू

मैं इस गाइड का पालन करने की कोशिश की । एचकेसीयू हाइव में रजिस्ट्री कुंजियों की जांच करें

  • HKCU \ Software \ Microsoft \ Office \ TestKey रजिस्ट्री कुंजी युक्त रजिस्ट्री मान TestValue
  • अब आप भी HKCU \ है: आपको लगता है कि आपके HKCU छत्ता के तहत दिखाई दो दिलचस्प रजिस्ट्री कुंजियों को मिलेगा सॉफ्टवेयर \ Microsoft \ Office \ 12.0 \ उपयोगकर्ता सेटिंग्स \ TestPropagation रजिस्ट्री कुंजी गणना मूल्य के साथ 1
करने के लिए सेट

लेकिन मेरी मशीन पर, चाबियाँ नहीं बनाई गई हैं ... मैं आगे क्या कोशिश कर सकता हूं?

उत्तर

0

मैं इस एक कुछ वर्षों में नहीं किया है, लेकिन स्मृति से कार्यालय addins इस तरह "पंजीकृत" हो: सही जगह में

  1. डाल फ़ाइलों
  2. रजिस्टर नेट COM वस्तु प्रतिनिधित्व करता है जो अपने addin
  3. अपने COM ऑब्जेक्ट को लोड करने के लिए कार्यालय को बताने के लिए Microsoft\Office\Addins के तहत रजिस्ट्री प्रविष्टियों को डालें।

यदि मेरी सोच सही है, तो समस्या यह होगी कि आपको COM ऑब्जेक्ट को पंजीकृत करने की आवश्यकता होगी। COM ऑब्जेक्ट्स को पंजीकृत करना प्रति मशीन कार्रवाई है और इसलिए व्यवस्थापक विशेषाधिकारों की आवश्यकता है।

आप यह देखने में सक्षम होंगे कि यह वास्तव में क्या हो रहा है। कार्यालय एडिन के तहत आपकी रजिस्ट्री कुंजी को MyAddin.Connect जैसे कुछ कहा जाएगा। इसके बाद आप HKEY_CLASSES_ROOT के तहत MyAddin.Connect के लिए खोज सकते हैं और यह तब उपस्थित होना चाहिए जब आप व्यवस्थापक के रूप में इंस्टॉल करते हैं, और प्रति उपयोगकर्ता के रूप में चलते समय मौजूद नहीं होना चाहिए।

यदि यह है, तो आप COM ऑब्जेक्ट के प्रति उपयोगकर्ता पंजीकरण करके इसे प्राप्त कर सकते हैं, लेकिन यह थोड़ा दर्दनाक है।

इन दिनों चीजें आसान हो सकती हैं, लेकिन जब मुझे ऐसा करना पड़ा, तो आपने COM12 ऑब्जेक्ट से जुड़े रजिस्ट्री प्रविष्टियों को किसी .reg फ़ाइल में कैप्चर करने के लिए RegCap.exe नामक उपयोगिता का उपयोग किया, फिर संशोधित करें। को HKCU के साथ बदलने के लिए टेक्स्ट संपादक के साथ reg फ़ाइल, फिर COM ऑब्जेक्ट को पंजीकृत करने के बजाय, आप यह .reg फ़ाइल लोड करते हैं।

+0

यह अब लागू नहीं है। उन्होंने .NET 3.5 में Office Add-Ins के ClickOnce परिनियोजन को जोड़ा और यह उन्हें इंस्टॉल करने के लिए बहुत आसान है। आपके हिस्से पर कोई COM पंजीकरण आवश्यक नहीं है। – RobinDotNet

0

बस स्पष्ट होना, आप "\ Microsoft \ Office HKEY_LOCAL_MACHINE \ SOFTWARE \ 12.0 \ उपयोगकर्ता सेटिंग" रजिस्ट्री कुंजियों को

और वे अभी भी HKCU \ Software \ Microsoft \ Office \ में दिखाई नहीं दे रहे जोड़ रहे हैं?

मुझे लगता है कि आपको 64 बिट ओएस चलाना चाहिए?

यदि ऐसा है तो ठीक आसान है, यह बजाय

विंडोज रजिस्ट्री संपादक संस्करण 5.00 [HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Wow6432Node \ Microsoft \ Office \ 12.0 \ उपयोगकर्ता सेटिंग्स \ TestPropagation] "गणना" कोशिश = DWORD: 00000001 [HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Wow6432Node \ Microsoft \ Office \ 12.0 \ उपयोगकर्ता सेटिंग्स \ TestPropagation बनाएं \ \ सॉफ्टवेयर \ Microsoft \ Office \ TestKey] "TestValue" = "टेस्ट"

सूचना कुंजी के लिए पथ Wow6432Node कुंजी के तहत है। यह वहां होना चाहिए या यह 64 बिट ओएस पर काम नहीं करेगा।

+0

ठीक है, मैं विस्टा बिजनेस 32 बिट का उपयोग कर रहा हूं। और वास्तव में, जब मैं कार्यालय शुरू करता हूं तो कुंजी HKCU \ Software \ Microsoft \ Office \ में दिखाई नहीं देती है। हालांकि लेख कहता है कि उन्हें चाहिए। कोई अन्य सुझाव? –

+0

आप रजिस्ट्री में कुंजी कैसे जोड़ रहे हैं? यदि आपके पास उपयोगकर्ता खाता नियंत्रण है और आप एक गैर-उन्नत प्रक्रिया से स्थापित कर रहे हैं तो यह कुंजी वर्चुअलाइजिंग हो सकता है। जांचें कि क्या कुंजी है: HKEY_USERS \ _Classes \ VirtualStore \ Machine \ Software \ Microsoft \ Office \ 12.0 \ उपयोगकर्ता सेटिंग्स –

+0

आप CLLOnce परिनियोजन में HKLM को नहीं लिख सकते हैं। इसमें विशेषाधिकार नहीं हैं। – RobinDotNet

0

यदि मैं सही तरीके से प्रश्न समझता हूं, तो मुझे अपने परिदृश्य का वर्णन करने दें: क्लिकऑन ऐप सभी उपयोगकर्ताओं के लिए स्थापित किया जाएगा और इसलिए शुरुआत में एक तैनाती तंत्र के माध्यम से चलाया जाना चाहिए जिसमें HKLM को कुंजी लिखने के लिए व्यवस्थापकीय विशेषाधिकार हैं। उस बिंदु के बाद, मानक उपयोगकर्ता लॉग ऑन करता है, माइक्रोसॉफ्ट ऑफिस एचकेसीएम कुंजी को स्टार्टअप पर HKCU पर कॉपी करता है और उसके बाद उस मशीन पर किसी भी उपयोगकर्ता के लिए ऐड-इन मानक उपयोगकर्ता के संदर्भ में चलाया जाता है।

यदि कोई उपयोगकर्ता कार्यालय शुरू करता है तो HKCU पर प्रतिलिपि बनाने के लिए Office को HKLM कुंजी का उपयोग करने के लिए Office प्राप्त करने पर सभी प्रयास समाप्त हो जाते हैं, तो मैं एक vbs स्क्रिप्ट और reg फ़ाइल को एक साथ फेंक दूंगा, सभी उपयोगकर्ताओं स्टार्टअप फ़ाइल में vbs स्क्रिप्ट डालें कुछ व्यवस्थापक स्तर परिनियोजन उपकरण) और कार्यालय की सहायता के बिना एचकेसीयू में विशेष कुंजी के निर्माण का प्रबंधन करते हैं। वीबीएस स्क्रिप्ट फ़ाइल चुपचाप एचकेसीयू में उपयुक्त कुंजी रखने के लिए regedit चलाएगी जब उपयोगकर्ता लॉग इन करता है।

यह इसी तरह है कि हम अपने कार्यालय में वर्डफेक्ट का प्रबंधन कैसे करते हैं।

अद्यतन: समस्या का समाधान करने के लिए हॉटफिक्स KB976477 का उपयोग करें।

+0

चूंकि हम एक इंस्टॉलर बनाना चाहते हैं, हम अपने ग्राहकों को दे सकते हैं, वीबीएस समाधान –

+0

करने के लिए सही चीज़ की तरह नहीं दिखता है, यह पूरी तरह से पीछे की तरफ है। क्लिकऑन एप्लिकेशन केवल प्रति उपयोगकर्ता आधार पर स्थापित होते हैं। – RobinDotNet

+0

रॉबिनडॉटनेट - पहला पैराग्राफ मेरा प्रश्न और उसके इरादे को स्पष्ट करने का प्रयास है (और मेरे उत्तर का हिस्सा नहीं)। हां, धन्यवाद, मैं क्लिकऑन और प्रति-उपयोगकर्ता इंस्टॉल को समझता हूं। –

0

यदि आप अपने Outlook एड-इन को सभी उपयोगकर्ताओं को इंस्टॉल करना चाहते हैं तो आपको VSTO ऐड-इन के बजाय साझा ऐड-इन का उपयोग करने की आवश्यकता है। वीएसटीओ ऐड-इन प्रति-मशीन के बजाए प्रति उपयोगकर्ता आधार है, इसलिए मानक उपयोगकर्ताओं के लिए आपको अस्थायी रूप से उपयोगकर्ता को स्थानीय प्रशासक प्राधिकरण को इंस्टॉल करने के लिए देना होगा।

0

ऐड-इन के साथ आप किस संस्करण का लक्ष्यीकरण कर रहे हैं, और .NET Framework का कौन सा संस्करण आप लक्षित कर रहे हैं? इसके अलावा, आप विजुअल स्टूडियो का किस संस्करण का उपयोग कर रहे हैं?

यह काम करना चाहिए; मेरे पास अब उत्पादन में दो कार्यालय ऐड-इन्स हैं जो क्लिकऑन के साथ तैनात किए गए हैं।

आपके द्वारा सूचीबद्ध आलेख सभी उपयोगकर्ताओं के लिए स्थापित करने के बारे में है। यह ClickOnce का उपयोग नहीं करता है, और यह आपके मामले के लिए अप्रासंगिक है।

मैं यह पता लगाने के बाद आपको तैनाती के लिए कुछ कदम दे सकता हूं कि आप कौन से संस्करण/लक्ष्यीकरण का उपयोग कर रहे हैं। :-)

0
  1. एक स्थानीय व्यवस्थापक खाता बनाएं TESTAccount कहें।
  2. उस उपयोगकर्ता के लिए एक बार क्लिक करके एडिन इंस्टॉल करें।
  3. व्यवस्थापक के रूप में पुनः लॉगिन करें और डिफ़ॉल्ट उपयोगकर्ता में TESTAccount कॉपी करें।

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

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