मैं एक Windows सेवा स्थापित करने के लिए InstallShield LE प्रोजेक्ट कैसे बनाऊँ?


104

मैंने विजुअल स्टूडियो 2012 को कल डाउनलोड किया जब इसे MSDN पर रिलीज़ किया गया। मैंने देखा है कि 2010 में हमारे पास जो कुछ प्रोजेक्ट प्रकार थे, वे अलग हो गए हैं या अलग हैं। मेरे लिए अभी सबसे बड़ा अंतर विंडोज इंस्टालर प्रोजेक्ट को हटाने का है। अब हमें InstallShield LE (सीमित संस्करण) का उपयोग करने के लिए मजबूर किया जा रहा है। यहाँ समस्या यह है कि मैं एक टन Windows सेवाएँ लिखता हूँ और मैं यह नहीं देख सकता कि कैसे InstallShield LE को सेटअप किया जाए। ऐसा प्रतीत होता है कि हमें (मेरी कंपनी) को पेशेवर संस्करण के लिए लाइसेंस में निवेश करना होगा।

क्या किसी को InstallShield LE में सेवाएँ स्थापित करने का कोई तरीका मिला है? Windows इंस्टालर प्रोजेक्ट का उपयोग करते समय, आप बस कस्टम क्रियाओं को सेट करते हैं।


1
Visual Studio परिनियोजन परियोजनाओं में InstallUtil कस्टम क्रियाओं का उपयोग करना वास्तव में एक बहुत ही खराब अभ्यास था। यह मूल रूप से पहिया को एक नाजुक समाधान के साथ मजबूत कर रहा है क्योंकि अंतर्निहित संलेखन उपकरण ने MSI की मूल क्षमताओं को उजागर नहीं किया है।
क्रिस्टोफर पेंटर

जवाबों:


161

Visual Studio 2012 और InstallShield LE के लिए, निम्नलिखित कार्य करें:

  • इंस्टॉलशील्ड प्रोजेक्ट असिस्टेंट के माध्यम से चलाएं और एप्लिकेशन फाइलों सेक्शन में अपनी सेवा का प्राथमिक आउटपुट जोड़ें।
  • आपके द्वारा प्रोजेक्ट असिस्टेंट के साथ किए जाने के बाद, सेटअप प्रोजेक्ट के चरण दो के तहत "फ़ाइलें" आइटम पर डबल क्लिक करें।

फ़ाइलें अनुभाग

  • अपनी सेवा के प्राथमिक आउटपुट पर राइट क्लिक करें, और गुणों पर जाएं।
  • "COM और .NET सेटिंग्स" टैब पर क्लिक करें, और "इंस्टॉलर क्लास" चेकबॉक्स में एक चेक रखें। यहां छवि विवरण दर्ज करें
  • ओके पर क्लिक करें

अब, एक बार जब आप अपनी स्थापना बना लेते हैं और उसे चला लेते हैं, तो आपकी सेवा विंडोज सेवाओं में दिखाई देगी।

ध्यान दें कि यह आपकी सेवा परियोजना में "प्रोजेक्ट इंस्टॉलर" जोड़ा गया है (सेवा डिज़ाइन शीट पर राइट क्लिक करें और "इंस्टॉलर जोड़ें" पर क्लिक करें)। मैं विंडोज 8 पर विजुअल स्टूडियो 2012 / इंस्टॉलशील्ड ले के साथ इस काम की पुष्टि कर सकता हूं।


ठीक है, यह वीएस 2010 और विन 7 प्रो में भी काम करता है। मुझे अभी तक वीएस 2012 में इसे आजमाना है, लेकिन यह करना चाहिए। धन्यवाद।
फिज़ूल

3
क्या डेटाबेस कनेक्शन स्ट्रिंग (सर्वर, प्रमाणीकरण और डेटाबेस नाम) के लिए उपयोगकर्ता से संवाद करना संभव है और इंस्टालशील्ड ले का उपयोग करके विंडोज़ सेवा कॉन्फ़िगरेशन फ़ाइल को अपडेट करें?
एडेलिया बेनालियस

2
यह एक बहुत अच्छा मार्गदर्शक है: c-sharpcorner.com/uploadfile/cb88b2/…
जोंटी जूल

1
विजुअल स्टूडियो इंस्टॉलर प्रोजेक्ट वीएस 2013 में। डाउनलोड करें: visualstudiogallery.msdn.microsoft.com/… उपयोगकर्ता की आवाज: visualstudio.uservoice.com/forums/121579-visual-studio/… संदर्भ: blogs.msdn -b
2014/04/17

1
यह विकल्प स्थापना के बाद सेवा शुरू नहीं करता है। सेवा को स्थापित करने और इसे शुरू करने के लिए, समाधान खोजकर्ता में, 3. लक्ष्य प्रणाली कॉन्फ़िगर करें सेवाओं का चयन करें ।
राजीव

24

मैंने हाल ही में स्थापित शील्ड ले के साथ वीएस 2012 स्थापित किया है। सबसे पहले मैं एक निर्माण के बाद ISEXP -5036 आंतरिक सर्वर त्रुटि प्राप्त करता रहा (यह एक ISLE परियोजना स्थापित करने और स्थापित शील्ड परियोजना सहायक के माध्यम से चलने के बाद) था। आखिरकार मुझे पता चला कि यह डीवीडी -5 मीडिया प्रकार में एमएसआई बनाने की कोशिश कर रहा था जो कि विफल हो रहा था। किसी कारण से, स्क्रैच से फिर से समाधान बनाना किसी तरह से केवल CD_ROM और SingleImage मीडिया प्रकारों के निर्माण को मान्यता देता है जो काम करता है।

वैसे भी 5036 त्रुटि को सुधारने के लिए, वी.एस. 2012 (शीर्ष मेनू) में बिल्ड टैब पर क्लिक करें, कॉन्फ़िगरेशन प्रबंधक चुनें और आपको यह देखना चाहिए कि आपकी आईएस सेटअप फ़ाइल डीवीडी -5 कॉन्फ़िगरेशन पर चुनी गई है। इसे CD_ROM में बदलें और पास पर क्लिक करें। एक बार जब आप निर्माण / पुनर्निर्माण करते हैं तो यह IS 5036 त्रुटि के साथ पूरा होगा।

यहां छवि विवरण दर्ज करें


2
यह उसकी समस्या से कोई लेना-देना नहीं है, लेकिन यह मेरा हल हो गया। धन्यवाद! +1
डेविड

मेरे लिए एक ही मुद्दा शुरू से ही सही है, डिफॉल्ट इंस्टॉलेशन में कॉन्फ़िगरेशन के रूप में डीवीडी -5 था और सेटअप बनाने में विफल रहा। आपकी टिप के साथ मैंने इसे सिंगल इमेज में बदल दिया और बिना इश्यू के बनाया!
निक बोर्क

डीवीडी -5 का चयन किया गया था। सरल लेकिन शानदार जवाब
बीयूमंडो

6

इंस्टॉलर वर्ग का उपयोग करते समय चेकबॉक्स कुछ उदाहरणों के लिए काम कर सकता है, आपको निम्न त्रुटि का अनुभव हो सकता है:

त्रुटि 1001। निर्दिष्ट सेवा पहले से मौजूद है

इस मुद्दे को हल करने के बारे में इस लिंक का एक अंश यहां दिया गया है :

त्रुटि के लिए: त्रुटि 1001। निर्दिष्ट सेवा पहले से मौजूद है

यह त्रुटि तब होगी जब कोई .NET सेवा स्थापित करने वाला घटक गलत तरीके से ".NET इंस्टालर वर्ग" के साथ हां में सेट किया गया हो। .NET सेवा स्थापित करने की विधि ".NET इंस्टालर वर्ग" सेटिंग नहीं, घटक \ उन्नत सेटिंग्स \ सेवाओं का उपयोग करने के लिए है। घटक \ उन्नत सेटिंग्स \ सेवा दृश्य में परिभाषाएँ बनाना Windows इंस्टालर ServiceControl और ServiceInstall टेबल्स में प्रविष्टियाँ बनाता है। इन प्रविष्टियों का उपयोग सेवा स्थापित करने के लिए विंडोज इंस्टॉलर "इंस्टॉर्सेज" कार्रवाई द्वारा किया जाता है।


क्या आप इसकी सहायता और व्याख्या कर सकते हैं .... घटक \ उन्नत सेटिंग्स \ "दृश्य" पाया जा सकता है?
pithhelmet

यह इंस्टॉलर के प्रमुख संस्करण में है (ffs! microsoft आपने सेटअप प्रोजेक्ट प्रकार क्यों निकाला है!) .. यदि आपके पास प्रीमियर संस्करण है। Community.flexerasoftware.com/…
पॉल हचिंसन

मैंने पाया कि यह सेटअप प्रोजेक्ट नाम की लंबाई से संबंधित है यानी "सेटअप" या "सेटअप" जैसी छोटी चीज़ के लिए अपना सेटअप प्रोजेक्ट नाम बदलें।
जोंटी जूल

4

यदि आपकी परियोजना .NET है, तो कोशिश करें कि आप InstallShield LE के साथ ServiceProcessInstaller वर्ग का उपयोग कर सकते हैं।

InstallShield के साथ काम करने के लिए, आपको InstallShield "फाइल" ट्री में जाना होगा और अपनी फाइल पर राइट क्लिक करना होगा। फिर "COM और .NET सेटिंग्स" टैब पर "इंस्टॉलर वर्ग" के लिए चेकबॉक्स की जांच करें।

मैंने इसे काम करने के लिए पा लिया है, लेकिन मुझे कुछ ओएस जैसे विंडोज 2008 आर 2 पर समस्या है। आपकी माइलेज भिन्न हो सकती है।

यहाँ एक उदाहरण है: http://www.codeproject.com/Articles/14353/Creating-a-Basic-Windows-Service-in-C


1
माफ़ करना। मैंने आज तक यह नहीं देखा। ऐसा लगता है कि यह बहुत ही एक ही जवाब है जैसा मैंने स्वीकार किया है। मैं इसे +1 करूंगा।
फिच

4

मुझे इससे हर तरह की समस्या थी।

निम्नलिखित नुसार।

  1. InstallShield डाउनलोड करने के लिए उम्र लेता है
  2. पंजीकरण प्रक्रिया एक दर्द है।
  3. कॉन्फ़िगरेशन विकल्प भ्रामक और अत्यधिक जटिल हैं।
  4. इस धागे पर स्वीकृत समाधान एक हैक है और यह हमेशा काम नहीं करता है - प्रलेखन में 1001 देखें - अनिवार्य रूप से आपको विंडोज़ सेवा को स्थापित करने के लिए सही कॉन्फ़िगरेशन विकल्पों को प्राप्त करने के लिए भुगतानकर्ता के माध्यम से प्राप्त करना होगा।

मेरे लिए कहीं और के रूप में समाधान - InstallShield छोड़ देना था

यहां छवि विवरण दर्ज करें

उस बिंदु से बहुत आसान है।

संपादित करें: अद्यतन - यहाँ से नवीनतम संस्करण स्थापित करें https://wix.codeplex.com/releases/view/115492 बनाम 2013/2015


3

विजुअल स्टूडियो सेटअप प्रोजेक्ट्स विज़ुअल स्टूडियो एक्सटेंशन के रूप में वीएस 2013 में वापस आ गए हैं।

https://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d

कृपया अपने समाधान और परियोजनाओं को वीएस 2013 में अपडेट करें। यदि आप अभी भी वीएस 2010 में हैं, तो आप सीधे वीएस 2013 में सीधे अपग्रेड करके बेहतर हैं।

Installheild LE के साथ मेरा अनुभव यह है कि यह बहुत ही विचित्र है लेकिन एक बार जब आप ट्रिक का पता लगा लेते हैं, तो इसका उपयोग करना आसान होता है। हालांकि, मुझे लगता है कि सीमित संस्करण Microsoft और फ्लेक्सरा द्वारा पूरी तरह से चित्रित संस्करण को बेचने का एक तरीका है। दूसरे शब्दों में, पहले हम Microsoft को विजुअल स्टूडियो के लिए बहुत अधिक पैसा देते हैं और फिर उनके साथी (अपराध में) किठिल्ड के लिए अधिक। खराब रणनीति जो वर्कआउट नहीं करती थी क्योंकि उन्हें वीएस 2013 में सेटअप प्रोजेक्ट्स को वापस लाना था।


2

मैंने इस विषय के बारे में लिखा है:

विंडोज इंस्टालर का उपयोग कर इंस्टॉलमेंटशीट को संवर्धित करना - विंडोज सर्विसेज

मूल रूप से आप वाईएक्स का उपयोग करके मर्ज मॉड्यूल बनाते हैं ताकि यह सेवा समाप्त हो जाए और फिर इसे अपने इंस्टाशील्ड प्रोजेक्ट में जोड़ दें। (यह सुनिश्चित करने के लिए INSTALLDIR निर्देशिका के साथ संबद्ध रहें कि आपकी फ़ाइल जहाँ आप उम्मीद करती है, यह सुनिश्चित करने के लिए)। वीएम पर निर्माण और परीक्षण करें। केक का टुकड़ा।


सीखने के लिए एक और तकनीक? कल तक, मैंने आगंतुक के बारे में नहीं सुना था। मुझे अभी भी इसके बारे में कुछ नहीं पता है। ऐसा लगता है कि यह पूरी प्रक्रिया उस चीज के लिए तेजी से कठिन होती जा रही है जो केवल कुछ क्लिकों के लिए इस्तेमाल होती है।
फिज़ा

यह केवल एक इंस्टॉलर को चलाने के लिए कुछ क्लिक लेता है । उन्हें संलेखन हमेशा अधिक प्रयास रहा है।
क्रिस्टोफर पेंटर

इंस्टॉलर को सेटअप करने के लिए भी कुछ ही क्लिक हुए। आपको शीर्षक, निर्माता और आदि लिखना है, लेकिन आपको संपूर्ण xml दस्तावेज़ को लेखक के पास नहीं रखना है। आप मुझे क्या बता सकते हैं मैं बता सकता हूं कि आप स्पष्ट रूप से इसके बारे में बहुत कुछ जानते हैं। यह क्या है? मुझे वह कहाँ मिलेगा? मैं इसे कैसे इस्तेमाल करूं? आदि ...
fizch

मैं 16 वर्षों के लिए इंस्टॉलर लिख रहा हूं और केवल एक ही EXE के साथ सरल इंस्टाल करता हूं और शॉर्टकट मुझे लेखक को 'बस कुछ ही क्लिक' लेता है। या तो आप कोडप्लेक्स पर वाईएक्स पा सकते हैं और विषय पर एक पुस्तक प्रकाशित की गई है। अंतर्निहित तकनीक विंडोज इंस्टालर है और यह प्रलेखन प्लेटफ़ॉर्म एसडीके और एमएसडीएन में पाया जा सकता है।
क्रिस्टोफर पेंटर

5
गंभीरता से "इस विषय पर प्रकाशित एक पुस्तक है ... डॉक्स ऑन एसडीके"। " क्रिस, हम सिर्फ २०१० के हमारे २०१० के समाधानों को स्थापित करने की कोशिश कर रहे हैं और स्थापित / सेटअप हमें अपने ट्रैक में रोक रहा है। एमएस, लाने वापस वी.एस. सेटअप / इंस्टालर visualstudio.uservoice.com/forums/121579-visual-studio/...
JimSTAT

2

मैं VS2012 और इंस्टॉलहील्ड ले स्प्रिंग एडिशन का उपयोग कर रहा हूं। मुझे विक्स का इस्तेमाल नहीं करना था।

यदि आप त्रुटि "InstallUtilLib.dll के साथ उपयोग के लिए _isconfig.xml नहीं बना सके", तो कृपया अपने सेटअप प्रोजेक्ट और सेटअप प्रोजेक्ट फ़ोल्डर के अंदर समान नाम वाला एक फ़ोल्डर बनाएं।

क्रेडिट्स को http://community.flexerasoftware.com/showthread.php?165929-Could-not-create-_isconfig-xml-for-use-with-InstallUtitLib-dll


2

मुझे सिर्फ कुछ समस्याओं का पता लगा जहां जवाब में संदर्भित इंस्टॉलर को जोड़ना है। तो यहाँ यह कैसे है।

अपने विंडोज सर्विस प्रोजेक्ट के भीतर अपनी सर्विस क्लास पर डबल क्लिक करें। प्रोजेक्ट के साथ एक रिक्त स्क्रीन "अपनी कक्षा में घटकों को जोड़ने के लिए, उन्हें टूलबॉक्स से खींचें और उनके गुणों को सेट करने के लिए गुण विंडो का उपयोग करें ..." लिंक पर कहीं भी राइट क्लिक करें और "इंस्टॉलर जोड़ें" चुनें

फिर मिलेंगे


0

ध्यान रखें कि यदि आप बाद में उस सेटअप को अपग्रेड करने की योजना बनाते हैं तो उपरोक्त सभी स्पष्टीकरण आपकी मदद नहीं करेंगे। जब आप नवीनीकरण करते हैं तो InstallShiled LE चल रही सेवा को रोक नहीं सकता है। आप इसे या तो विंडो सर्विस इंस्टॉलर से नहीं कर सकते -> पहले की घटना।


0

इसे यहाँ रखना चाहते थे;

वीएस 2015 पर, ऐसा करते समय, मैं बार-बार स्थापना पर 1001 त्रुटि में भाग गया।

इस पृष्ठ पर उत्तर में बताया गया है कि नए संस्करणों पर (2012 के कुछ भी पिछले) , जाहिर है आपको स्पष्ट रूप से इंस्टॉलर वर्ग विकल्प को अनचेक करने की आवश्यकता है , और फिर इंस्टॉलर प्रोजेक्ट के चरण 3 के तहत सेवा अनुभाग के तहत अपनी विंडोज़ सेवा जोड़ें:

कस्टम Windows सेवा स्थापित करते समय त्रुटि 1001

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.