2010-04-08 15 views
25

मुझे पता है कि विंडोज़-सेवा स्थापित करने का एकमात्र तरीका "विजुअल स्टूडियो 2008 कमांड प्रॉम्प्ट" का उपयोग कर रहा है, क्या ऐसी मशीन पर विंडोज़-सर्विस स्थापित करने का कोई तरीका है जिसमें विजुअल स्टूडियो स्थापित नहीं है (मान लें कि नेट संस्करण 2.X स्थापित है।)मैं एक ऐसी मशीन पर एक विंडोज सेवा कैसे स्थापित कर सकता हूं जिसमें विजुअल स्टूडियो स्थापित नहीं है?

उत्तर

41

आप इसे installUtil के साथ कर सकते हैं जो .NET फ्रेमवर्क फ़ोल्डर में रहता है (मेरी मशीन पर यह सी: \ विंडोज \ माइक्रोसॉफ्ट.NET \ Framework \ v2.0.50727) है।

+4

मेरी .NET 4.5 सेवा के लिए मुझे C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 में स्थित InstallUtil.exe का उपयोग करना पड़ा। जब मैंने v2.0.50727 निर्देशिका में किसी का उपयोग करने का प्रयास किया तो मुझे एक त्रुटि मिली कि "असेंबली वर्तमान में लोड किए गए रनटाइम की तुलना में रनटाइम द्वारा बनाई गई है और इसे लोड नहीं किया जा सकता है।" – deadlydog

+0

@deadlydog मूल प्रश्न .Net संस्करण 2 के संबंध में था, लेकिन आप सही हैं कि आपको 'installUtil'' के संस्करण का उपयोग करने की आवश्यकता है जो कि सेवा के लिए बनाए गए ढांचे संस्करण से मेल खाता है। –

+0

@giorgi यह निर्भर करेगा कि नेट फ्रेमवर्क आपने अपनी परियोजना को लक्षित करने के लिए सेट किया है। यदि आपका प्रोजेक्ट .NET 4.0 को लक्षित करता है, लेकिन सर्वर में केवल .Net 3.5 स्थापित है, तो आप इसके लिए installUtil का उपयोग करने में सक्षम नहीं होंगे, और यहां तक ​​कि यदि आप इसे इंस्टॉल कर सकते हैं, तो यह नहीं चलेगा। सर्वर को कम से कम .NET संस्करण (या अधिक) होना चाहिए कि आपकी प्रोजेक्ट को लक्षित करने के लिए सेट किया गया हो। – deadlydog

6

प्रासंगिक MSDN पेज: http://msdn.microsoft.com/en-us/library/sd8zc8ha%28VS.80%29.aspx

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil.exe yourproject.exe 

आप दृश्य स्टूडियो इस के लिए स्थापित काम करना है की जरूरत नहीं है।

1

मुझे लगता है कि आप "installutil.exe" प्रोग्राम की तलाश में हैं, जो .NET विंडोज सेवा स्थापित करने के लिए उपयोग करता है। आप \ Framework \ v2.0.50727

2

खुला एक कमांड प्रॉम्प्ट (cmd)% windir% \ Microsoft.NET में ढूंढ़कर टाइप

मदद अनुसूचित जाति

और

कर सकते हैं

अनुसूचित जाति

बनाने additon में installutil.exe आप समर्थक रहे हैं वास्तव में सिर्फ नेट फ्रेमवर्क निर्देशिका में बात कर रहा है। वीएस का कमांड प्रॉम्प्ट बस एक अच्छा पथ स्थापित करता है, लेकिन आप इसे (मेरे पथ) सी: \ विंडोज \ माइक्रोसॉफ्ट.NET \ Framework \ v2.0.50727 से ठीक से लॉन्च कर सकते हैं।

2

आपको विजुअल स्टूडियो 2008 कमांड प्रॉम्प्ट की आवश्यकता नहीं है। \ Windows \ Microsoft.NET \ Framework \ v2.0.50727

64 मशीनों पर भी है एक 64-बिट संस्करण: आप InstallUtil.exe कार्यक्रम में

सी पाया जा सकता है की जरूरत है में

C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727

ये directorie एस स्पष्ट रूप से केवल तभी उपलब्ध होते हैं जब .NET स्थापित होता है।

2

जो कुछ भी कर रहा है वह नेट फ्रेमवर्क टूल को पैथ पर डाल रहा है; आप अभी भी जाना उपयोग कर सकते हैं: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe एक सामान्य कमांड प्रॉम्प्ट पर पूरा पथ निर्दिष्ट करने के द्वारा (स्पष्ट रूप से अपने ढांचे/CPU वास्तुकला के लिए समायोजित)

1
दृश्य स्टूडियो कमांड प्रॉम्प्ट के साथ

:

installutil /i fullfilepathtoservice.exe 

दृश्य स्टूडियो कमांड प्रॉम्प्ट के बिना :

C:\WINNT\Microsoft.NET\Framework\v1.1.4322 installutil /i fullfilepathtoservice.exe 

एचटीएच।

3

हाँ, installutil.exe अच्छी तरह से काम करता है, लेकिन मैं इसका उपयोग करने के लिए विजुअल स्टूडियो 2008 कमांड प्रॉम्प्ट शुरू करने के लिए याद रखने के थक गया था। अनिवार्य रूप से, मैं केवल यह समझने के लिए एक सामान्य कंसोल खोलूंगा कि installutil.exe स्थान पथ का हिस्सा नहीं था।

सौभाग्य से, installutil.exe प्रतिबिंब कॉल के एक सेट के आसपास एक रैपर है। MSDN,

से

Installutil.exe लिए प्रतिबिंब का उपयोग करता है निर्दिष्ट विधानसभा और सत्य पर RunInstallerAttribute सेट के साथ सभी Installer प्रकार खोजने के निरीक्षण करें। टूल या तो Installer प्रकार के प्रत्येक उदाहरण पर विधि विधि या अनइंस्टॉल विधि को निष्पादित करता है।

इसका क्या अर्थ है कि विंडोज सेवा में कोड स्थापित करना और इसे अनइंस्टॉल करना संभव है। ऐसा करके, मुझे अब इसे चलाने के लिए installutil.exe या विजुअल स्टूडियो 2008 कमांड प्रॉम्प्ट की आवश्यकता नहीं है।

मैंने here को कैसे करें इसके लिए एक चरण-दर-चरण मार्गदर्शिका प्रदान की है। -install विकल्प विंडोज सेवा स्थापित करता है और इसे शुरू करता है। इसके विपरीत, -uninstall विकल्प सेवा को रोकता है और इसे अनइंस्टॉल करता है।

7

आप विंडोज सेवा को एमएसआई के रूप में स्थापित कर सकते हैं। अपनी सेवा परियोजना से जुड़ी एक सामान्य परियोजना के रूप में एमएसआई बनाएं।

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

एमएसआई प्रोजेक्ट को वांछित किसी अन्य तरीके से बदलें, एमएसआई बनाएं, फिर आप वीएसएनईटी के बिना किसी भी विंडोज मशीन पर या इंस्टालयूटिल यूटिलिटी एप्लिकेशन का उपयोग करके अपनी सर्विस इंस्टॉल कर पाएंगे। एमएसआई अनइंस्टॉल इत्यादि को भी संभाल देगा।

सेवा के गुण हैं प्रोसेसर इंस्टालर घटक जिसे आप सेवा के लिए सेवा चलाने के लिए सेट कर सकते हैं, सेवा इंस्टालर में गुण हैं जो सेवा नाम जैसे सेट किए जा सकते हैं। आपको सर्विसनाम और उसके माता-पिता को सेट करना होगा, एमएसडीएन इन दोनों घटकों का उपयोग करने के तरीके पर अच्छी जानकारी प्रदान करेगा।

उम्मीद है कि इससे मदद मिलती है।

चीयर्स।

+0

कस्टम क्रियाएं "सेट करें"? – doug65536

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