2009-10-13 5 views
45

स्थापित मैं सी # में एक खिड़कियों सेवा बना लिया है, विजुअल स्टूडियो 2008 का उपयोग कर मैं बहुत ज्यादा पीछा इस: के रूप में करने के निर्देश दिए http://www.codeproject.com/KB/dotnet/simplewindowsservice.aspxWindows सेवा सेवाओं की सूची में दिखाई नहीं दे के बाद

मैं एक सेटअप प्रोजेक्ट बनाया, लेख, और इसे चलाया ... यह मेरी सेवा c: \ program files \ product आदि में स्थापित करता है .... हालांकि, यह तब सेवा सूची में दिखाई नहीं देता है ..

मुझे क्या याद आ रही है?

+0

बिना किसी जानकारी के अनुमान लगाना मुश्किल है। यदि आपने लेख में वर्णित सब कुछ किया है और सेवा स्थापित की है तो यह उपलब्ध होना चाहिए। – Foxfire

+0

क्या आपने सेवाओं कंसोल को रीफ्रेश करने का प्रयास किया था? कंसोल में सूची स्वचालित रूप से अपडेट नहीं होती है। यदि आपने अपनी सेवा इंस्टॉल करते समय पहले ही कंसोल खोल दिया था, तो इसे रीफ्रेश करने का प्रयास करें (या इसे फिर से शुरू करें)। –

उत्तर

90

लेख आप लिंक का सबसे महत्वपूर्ण हिस्सा है, यहाँ

है सेटअप परियोजना

1.In समाधान एक्सप्लोरर के लिए एक कस्टम कार्रवाई जोड़ने के लिए, सेटअप प्रोजेक्ट पर राइट-क्लिक करें, देखने के लिए इंगित करें, फिर कस्टम क्रियाएं चुनें। कस्टम क्रिया संपादक प्रकट होता है।

2. कस्टम क्रिया संपादक में, कस्टम क्रिया नोड पर राइट-क्लिक करें और कस्टम एक्शन जोड़ें चुनें। प्रोजेक्ट डायलॉग बॉक्स में आइटम का चयन करें।

3. इसे खोलने के लिए सूची बॉक्स में एप्लिकेशन फ़ोल्डर को डबल-क्लिक करें, MyNewService (सक्रिय) से प्राथमिक आउटपुट का चयन करें, और ठीक क्लिक करें। प्राथमिक आउटपुट के सभी चार नोड्स में कस्टम क्रियाओं को जोड़ा गया है, इंस्टॉल, कमिट, रोलबैक, और अनइंस्टॉल करें।

4. सेटअप प्रोजेक्ट बनाएं।

आप इन चरणों को छोड़ते हैं, अपने स्थापना परियोजना का निर्माण और सही निर्देशिका करने के लिए अपने फ़ाइलों की प्रतिलिपि जाएगा; हालांकि, वे इन चरणों के बिना आपकी बाइनरी को सेवा के रूप में पंजीकृत नहीं करेंगे।


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

मैं WiX Toolset में देख सलाह देते हैं और यहाँ WiX Installation of Windows Services.

+0

क्या इंस्टॉल के हिस्से के रूप में सेवा शुरू करने का कोई तरीका है? मुझे पता है कि आप स्टार्टटाइप को स्वचालित रूप से कॉन्फ़िगर कर सकते हैं, लेकिन यह पुनरारंभ करने के बाद ही सेवा शुरू करता है। –

+0

बहुत बहुत धन्यवाद @ नेट। जैसे ही मैं आपके निर्देशों के माध्यम से जा रहा था, यह मेरे पास वापस आया कि यही वह था जो मुझे पिछली बार करना था। –

+0

स्पॉट पर! धन्यवाद, इससे मुझे – Srini

1

इन निर्देशों का पालन करें, उन्होंने मेरे लिए काम किया। विशेष रूप से सेटअप के लिए, वह हिस्सा लेख के निचले भाग के पास है।

MSDN: Walkthrough: Creating a Windows Service

4

मैं चेहरे में इस एक के स्वामित्व में गया के लिए जाँच होगी अलग सेटअप/तैनाती परियोजनाओं (कुछ की आवश्यकता होती है तीसरे पक्ष के सॉफ्टवेयर।) है इसलिए मैं इसे यहां डाल रहा हूं अगर कोई और इसमें चलता है।

यदि आपने गाइड में निर्देशों का पालन किया है लेकिन अभी भी समस्याएं स्थापित हैं, तो सुनिश्चित करें कि आपका इंस्टॉलर क्लास सार्वजनिक है। आंतरिक काम नहीं करेगा।

+0

ओह मैन, धन्यवाद। मुझे लगता है कि यह सिर्फ पागल है! मुझे मुर्गा हो गया और सोचा "मेह, यह सिर्फ एक इंस्टॉलर है - क्लास रैपर सार्वजनिक क्यों परेशान करते हैं?" और बिना सोच के इसे हटा दिया - उछाल, मुद्दा आया। – Alexandru

5

मेरे पास यह वही समस्या थी और फिर मुझे एहसास हुआ कि मैंने कभी भी सर्विस इंस्टालर के लिए अभिभावक को सेट नहीं किया है।

अपने प्रोजेक्ट इंस्टॉलर पर डबल-क्लिक करें। डिजाइनर को एक सेवा इंस्टॉलर और प्रक्रिया इंस्टॉलर दिखाना चाहिए। जब आप किसी भी पर क्लिक करते हैं और गुणों को देखते हैं तो आपको अभिभावक विशेषता को नोट करना चाहिए जो दोनों को प्रोजेक्ट इंस्टॉलर के वर्ग नाम पर सेट किया जाना चाहिए।

या, यदि आप कोड में यह कर सुनिश्चित करें कि आप सेट करना:

serviceInstaller.Parent = this; 

और

serviceProcessInstaller.Parent = this; 
+0

धन्यवाद! इसने मुझे बहुत मदद की – amaters

3

जब सेवाओं को स्थापित करने से, मैं अत्यधिक NSSM, जिसके लिए मेरे लिए अच्छी तरह से काम का उपयोग कर की सिफारिश करेंगे मेरे सभी WinService की जरूरत है। यह किसी भी निष्पादन योग्य (भले ही .bat, .cmd) को सेवा के रूप में स्थापित कर सके, और गारंटी देता है कि आपकी सेवा हमेशा चल रही है और चल रही है।

इस उपकरण का उपयोग करने के लिए:

  1. here

  2. से डाउनलोड और निर्देश here

का पालन करें तो सेवाओं सूची की जांच, तो वह वहां होना चाहिए, और चल रहा है।

0

विजुअल स्टूडियो 2013 में मैं सेवा अनुप्रयोग के लिए InstallShield टेम्पलेट का उपयोग कर एक ही समस्या में भाग गया। लेकिन यह सेटअप प्रोजेक्ट टेम्पलेट का उपयोग करते समय आकर्षण की तरह काम करता है https://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d

इसलिए सेटअप प्रोजेक्ट टेम्पलेट को अपने स्टूडियो को बंद करें, इस इंस्टॉलेशन को चलाएं और अपना स्टूडियो शुरू करें, यह काम करेगा।

डुन।

0

यहां CodeProject.com से tgeek001 से एक अच्छा ट्यूटोरियल है जिसने मेरी मदद की। इसमें उपरोक्त पदों में कई चीजें शामिल नहीं हैं: 1. इवेंट हैंडलर कोड इसे अनइंस्टॉल करने से पहले सेवा को रोकने के लिए 2. असफलताओं को रोकने के लिए कस्टम क्रिया कोड में विशिष्ट स्थितियां और गुण (इन्हें तय किया गया है स्वीकार किए जाते हैं जवाब ऊपर निर्देश) 3. जीत सेवा संपत्ति "पिछले संस्करण निकालें" निम्नलिखित करते समय त्रुटि 1001 है कि मैं अनुभव लटकती सच

http://www.codeproject.com/Tips/575177/Window-Service-Deployment-using-VS

निम्नलिखित (कस्टम क्रिया सेटिंग के लिए ट्यूटोरियल से है करने के लिए सेट मामला मायने रखता है):

  • स्थापित करें, निम्न के स्थिति गुण सेट: "नहीं UPGRADINGPRODUCTCODE"
  • प्रतिबद्ध: सेट "कस्टम क्रिया डाटा" क्षेत्र के लिए: "नहीं (स्थापित या PREVIOUSVERSIONSINSTALLED)"
  • स्थापना रद्द करें, करने के लिए स्थिति गुण सेट/OldProductCode = "[PREVIOUSVERSIONSINSTALLED]"

अन्त में, WinService परियोजना में, लटकती सेट सच करने के लिए "पिछले संस्करणों निकालें" सुनिश्चित करें।

चियर्स

0

मुझे पता चला कि अपने संस्थापक वर्ग ज्यादा सेवा के रूप में एक ही परियोजना में हो। इंस्टॉलर सेवा द्वारा संदर्भित लाइब्रेरी प्रोजेक्ट में मौजूद नहीं हो सकता है।

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