2013-02-11 11 views
5

आप एक सामान्य COM सर्वर को एक सामान्य खाते के अंतर्गत चलाने के लिए कैसे मजबूर करते हैं (स्थानीय सिस्टम अच्छा होगा)? RunAs दस्तावेज़ केवल DCOM के लिए ही लगता है और स्थानीय रूप से काम नहीं करता है।प्रक्रिया सर्वर से बाहर COM कई उदाहरण शुरू करता है

समस्या मैं का सामना करना पड़ता है कि मेरे CoCreateInstance कि विभिन्न डेस्कटॉप में चल रहे हैं प्रक्रियाओं से बुलाया जा रहा है और इस परिदृश्य के तहत एससीएम प्रत्येक डेस्कटॉप के लिए एक नया सर्वर शुरू करना चाहता है है, मैं केवल एक ही instanse चाहते हैं - तैयार किया गया है के रूप में!

+0

क्या यह [सर्वरफॉल्ट?] (Http://serverfault.com/) पर बेहतर फिट होगा – Piccolo

+0

डीसीओएम स्थानीय सर्वरों के लिए भी उपयोग किया जाता है। क्या आपने 'DCOM Config' का उपयोग करके और 'पहचान' को बदलने का प्रयास किया है? – sharptooth

+0

निश्चित रूप से, कोई फर्क नहीं पड़ता है। मैं टास्क मैनेजर में सिस्टम देखने की अपेक्षा करता हूं लेकिन जब मैं कमांड लाइन से चलता हूं तो यह अभी भी मेरे आईडी – user1371314

उत्तर

0

जो आप वर्णन कर रहे हैं वह एक सिस्टम सेवा है, न कि COM सर्वर। एक COM सर्वर को "सत्र 0" (सेवाओं) या किसी एकल सत्र के तहत नहीं, जो भी सत्र चलता है, के तहत चलाने के लिए डिज़ाइन किया गया है। अगर आपको ऐसा कुछ चाहिए जो केवल 1 सत्र के तहत चलता है और बाकी सब कुछ के लिए वैश्विक पहुंच है, तो आपको एक विंडोज सर्वर का उपयोग करना चाहिए, न कि COM सर्वर।

यदि आपको अन्य कारणों से COM सर्वर पहलू की आवश्यकता है, लेकिन वैश्विक स्तर पर संसाधनों को साझा करना चाहते हैं या फिर भी "एक प्रक्रिया" है जो आपको जो कुछ भी करने की आवश्यकता है उसे नियंत्रित करती है ... आप अपने COM सर्वर को जो कुछ भी कर सकते हैं, उसका उपयोग कर सकते हैं आईपीसी विधि आप पसंद करते हैं।

इसके अलावा, आपकी टिप्पणियों में आप कहते हैं कि "जब मैं कमांड लाइन से चलाता हूं" - यदि आप कमांड लाइन से EXE चलाते हैं, तो इससे कोई फ़र्क नहीं पड़ता कि यह COM सर्वर के रूप में पंजीकृत है या नहीं, बस किसी भी अन्य EXE/ऐप की तरह चलता है - जिसका अर्थ यह है कि आप जिस भी उपयोगकर्ता को चलाते हैं, उसमें आप जो भी सत्र चलाते हैं, उसमें चलता है। एक COM सर्वर के रूप में EXE पंजीकृत करना बस अन्य प्रक्रियाओं को EXE चलाने और ओएलई के माध्यम से इसके साथ संवाद करने की अनुमति देता है/COM, लेकिन EXE अभी भी एक सामान्य ऐप के रूप में भी चलाया जा सकता है। उदाहरण के लिए, माइक्रोसॉफ्ट वर्ड और आउटलुक दोनों COM सर्वर हैं। यही है, outlook.exe एक COM सर्वर है, लेकिन निश्चित रूप से आप इसे सामान्य एप्लिकेशन के रूप में भी चला सकते हैं।

+0

के तहत चलता है धन्यवाद, समझा जाता है। मैं पहले ही एक विंडोज सेवा में परिवर्तित हो चुका हूं और यह पूरी तरह से काम कर रहा है। – user1371314

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

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