2010-10-08 16 views
11

मेरे पास सी # में विकसित एक विंडोज़ सेवा अनुप्रयोग है। एक ही सेवा को विभिन्न विन्यास फाइलों के साथ चलाने की जरूरत है। इन मशीनों पर एक ही मशीन पर चलाने के लिए मुझे सेवा का नाम बदलना होगा। मैं समाधान की कई प्रतियां बना सकता हूं, लेकिन यह सुनिश्चित नहीं करता कि सेवाओं के नाम कैसे बदलें।मैं विंडोज़ सेवा का नाम कैसे बदल सकता हूं?

धन्यवाद

उत्तर

11

ServiceBase से प्राप्त होने वाली आपकी जीत सेवा कक्षा में, ऐसी संपत्ति है जिसे आप ServiceName कहला सकते हैं। आप एक app.config बना सकते हैं, सेवा के नाम के लिए एक सेटिंग जोड़ सकते हैं और अपनी जीत सेवा कक्षा उस संपत्ति को तदनुसार असाइन कर सकती है। इस तरह से प्रत्येक सेवा नाम तब तक अद्वितीय होगा जब तक आप app.config में सेटिंग बदलते हैं।

+1

यह उदाहरण थोड़ा और विस्तार से इसके माध्यम से जाता है, किसी को इसकी आवश्यकता होनी चाहिए: http://www.codeproject.com/Articles/21320/Multiple-Instance-NET-Windows- सेवा –

+1

जोएल के लिंक के लिए, कैसे प्राप्त करें के बारे में विशिष्टताएं इंस्टॉलर के भीतर से app.config से ServiceName मेरे लिए काम नहीं करता है (संभवत: दिनांक से बाहर है क्योंकि यह .NET 2.0 के लिए लिखा गया था), लेकिन यह समाधान ठीक काम करता है: http://stackoverflow.com/questions/8516701/how करने वाली मिलता-windows-सेवा-नाम-से-ऐप-config –

2

विंडोज सेवाओं के लिए विन्यास HKEY_LOCAL_MACHINE \ प्रणाली के तहत, Registy में जमा हो जाती \ CurrentControlSet \ Services ... आप शायद दोनों कुंजी का नाम बदलना चाहते हैं जाएगा ("फ़ोल्डर" , और यहां सेवा का वास्तविक नाम) और मूल्य "प्रदर्शन नाम"।

खराब रजिस्ट्री संपादन के साथ समस्याओं का सामना करने से बचने के लिए use a tool like SC.EXE to configure services बेहतर हो सकता है। हालांकि एससी एक सेवा का नाम बदल नहीं सकता है, यह आपको सेवाओं को हटाने और बनाने की अनुमति देता है (बस सभी सेटिंग्स को सही सुनिश्चित करना सुनिश्चित करें!)।

+0

क्षमा करें अगर मेरा प्रश्न थोड़ा उलझन में था ... मैं समाधान में सेवा का नाम बदलना चाहता था। यह कैसे किया जा सकता है? – Prady

2

सेवा का नाम ProjectInstaller डिज़ाइन मोड के माध्यम से भी संपादित किया जा सकता है। सेवा नामसर्विसइंस्टलर में एक संपत्ति है।

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