2011-06-22 20 views
12

मैंने बस installSil.exe का उपयोग कर वीएस 2010 का उपयोग कर एक विंडोज़ सेवा स्थापित की है, cmd प्रॉम्प्ट विंडो ने कहा कि प्रतिबद्ध चरण सफलतापूर्वक पूरा हो गया है, लेकिन मुझे स्थानीय सेवा फ़ोल्डर में विंडोज़ सेवा नहीं दिखाई दे रही है ।विंडोज सेवा नहीं ढूंढ सका (बस स्थापित)

मुझे यहां क्या याद आया?

मैं विंडोज 7 और वी.एस. उपयोग कर रहा हूँ 2010

अद्यतन:
मैं सेवा अनइंस्टॉल करने वाले, सेवा (जो Service1 नामित किया गया था) कुछ है कि समझ में बनाया करने के लिए नाम बदल दिया है स्थापित (के रूप में एक ही प्रक्रिया ऊपर), अभी भी इसे सेवा ब्राउज़र में नहीं मिल रहा है।

FWIW ... मैंने अपनी सेवा 1.cs को गुण विंडो (फ़ाइल नाम मान) में बदल दिया .. लेकिन यह अभी भी सेवा ब्राउज़र में सेवा 1 दिखा रहा था। मैंने इस कोड के मूल्यों को भी बदल दिया (ऑटो जेनरेट कोड) this.serviceInstaller1.ServiceName = "service1";

अद्यतन (2) मैं एक डमी खिड़कियों सेवा बनाया है, और सफलतापूर्वक कि स्थापित करने में सक्षम था (यह मेरे लिए डोमेन लॉगिन आईडी & पासवर्ड के लिए कहा जाए) और मैं सेवाओं ब्राउज़र में यह देखने के लिए सक्षम था।

हालांकि, मैं सेवा ब्राउज़र में वास्तविक विंडोज सेवा (मेरे प्रोजेक्ट से संबंधित) को देखने में सक्षम नहीं हूं। जाहिर है, मुझे अनुमति है, क्योंकि मैं डमी सेवा स्थापित करने में सक्षम था।

इस इस साइट Can't see windows service after installation

मैं "HKLM \ System \ CurrentControlSet \ Services" राह में रजिस्ट्री में सेवा नहीं देख सकते हैं अनुसार।

अद्यतन (3)
लॉग फ़ाइल का कहना है

RunInstallerAttribute.Yes साथ कोई सार्वजनिक संस्थापक विशेषता सी में पाया जा सकता है: ..

हालांकि, मेरे पास प्रोजेक्ट समाधान में ProjectInstaller.cs फ़ाइल है।

मैं

[RunInstaller (सही)]

ProjectInstaller.cs फाइल करने के लिए

, फिर भी प्रयास विफल

किसी भी suggesstions जोड़ा?

+0

क्या आपने सेवाओं के फ़ोल्डर दृश्य को रीफ्रेश किया है? कभी-कभी यह तुरंत दिखाई नहीं देता है। –

+0

हाँ मेरे पास है ... कोई भाग्य – user788487

+0

@ user788487: आपने ServiceInstaller की ServiceName प्रॉपर्टी को क्या सेट किया? यही वह है जिसे इसे सूचीबद्ध किया जाना चाहिए। –

उत्तर

2

वह कक्षा बनाएं जहां आपने जोड़ा [RunInstaller (true)] सार्वजनिक।

+0

यह सार्वजनिक है ... – user788487

+0

मुझे लगता है कि "RunInstallerAttribute के साथ कोई सार्वजनिक इंस्टॉलर" के कारणों का एक बहुत ही सीमित सेट है। क्या आपने इंस्टॉलर को हटा दिया है और उस प्रक्रिया के माध्यम से फिर से चला गया है? ऐसा लगता है जैसे पहली बार कुछ याद किया गया था। –

4

चेक, अगर आप [RunInstaller (सही)] विशेषता के साथ इंस्टालर derivated वर्ग के निर्माता में कुछ इस तरह है:

public ServiceSetup() 
{ 
    Installers.Clear(); 

    ServiceInstaller serviceInstaller = new ServiceInstaller(); 
    // serviceInstaller.Description = // FIXME: 
    // serviceInstaller.ServiceName = // FIXME: 
    // serviceInstaller.DisplayName = // FIXME: 
    serviceInstaller.StartType = ServiceStartMode.Automatic; 
    Installers.Add(serviceInstaller); 

    ServiceProcessInstaller serviceProcessInstaller = new ServiceProcessInstaller(); 
    serviceProcessInstaller.Account = ServiceAccount.LocalSystem; 
    serviceProcessInstaller.Username = null; 
    serviceProcessInstaller.Password = null; 
    Installers.Add(serviceProcessInstaller); 
} 
+0

बिल्कुल सही! सेवा सूची में सेवा को न देखे हुए मेरी समस्याओं का समाधान :) – nover

1

मैं सिर्फ इस मुद्दे में आए तो आप इसे में वर्णन बिल्कुल के रूप में।

मैं बेवकूफ रूप से जेनरेट की गई myservice.vshost.exe फ़ाइल के विरुद्ध installutil चला रहा था।

यह संभवतः आपकी समस्या नहीं थी, लेकिन कमांड प्रॉम्प्ट में, मैंने निर्देशिका में ब्राउज़ किया जहां .exe रहता है, टाइप किया गया installutil एक स्पेस के बाद टैब का उपयोग करके साइक्ड सेवा exeomple को स्वतः पूर्ण करने के लिए साइकिल चलाता है।

मुझे मिली फ़ाइल "myservice" के साथ शुरू हुई और ".exe" के साथ समाप्त हुई और मैंने इसे चलाने दिया।

मूर्खतापूर्ण, लेकिन यही हुआ।

भावी पीढ़ी के लिए और आशा है कि यह किसी और मदद मिल सकती है :-)

0

के साथ यह सबसे अच्छा अर्द्ध समाधान है इस संदेश को छोड़कर।

मुझे एक ही समस्या थी और मैंने ऊपर वर्णित सभी उपचारों और अन्य प्रोग्रामर के हवेलों पर कोशिश की है।

मैंने अकाउंट टाइप को लोकल सर्विस में बदल दिया है और अब यह ठीक काम करता है। यह अंतरिम समाधान हो सकता है।

8

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

serviceInstaller.DisplayName = "Example service" 

रवींद्र!

0

मैं एक फ़ाइल के खिलाफ installutil.exe चला रहा था, जिसमें मैंने सोचा था कि .exe एक्सटेंशन नहीं था। जब मैं fileexplorer में फ़ाइलों को देखता हूं, तो एक्सटेंशन दिखाई नहीं दे रहे हैं। जब मैंने सेवा फ़ाइल नाम में .exe एक्सटेंशन जोड़ा, तो यह आसानी से चला गया :-)। निराशाजनक।

+0

स्टैकओवरफ्लो में आपका स्वागत है। उत्तर देने से पहले एफएक्यू पढ़ें। कृपया उत्तर देने से पहले क्वेशियन सावधानी से पढ़ें .. – coder

0

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

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

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

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

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

0

यह अजीब लगता है लेकिन सुनिश्चित करें कि service.exe फ़ाइल जिसे आप इंस्टॉल करने का प्रयास कर रहे हैं वह नवीनतम निर्माण है। मुझे डर है कि आप डीबग फ़ोल्डर में फ़ाइलों को तैनात करने का प्रयास कर रहे हैं लेकिन आपने रिलीज मोड में सेवा प्रोजेक्ट को बदल दिया है और पुनर्निर्माण किया है।

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