2015-10-05 10 views
20

स्थापित करते समय त्रुटि 1001 मैंने एक विंडोज सेवा लिखा जो फ्रेमवर्क 4.0 पर चलता है और वीएस 2015 में चल रहा है। मैंने एक सेटअप प्रोजेक्ट (मुफ्त इंस्टॉलशील्ड संस्करण) भी बनाया है।कस्टम विंडोज सेवा

मेरी सेवा ने इसे स्थापित करने के बाद services.msc के तहत नहीं दिखाया, इसलिए कुछ अन्य पदों के अनुसार मुझे इंस्टालशिप में प्राथमिक आउटपुट को 'इंस्टालर क्लास' के रूप में चिह्नित करना पड़ा, लेकिन जब मैं ऐसा करता हूं तो मुझे त्रुटि 1001 मिलती है I setup.exe चलाएं।

यह post बताता है कि "त्रुटि कोड 1001 हमेशा इंस्टॉलर वर्ग कस्टम कार्रवाई में विफलता का अर्थ है।" और मुझे कस्टम क्रियाओं का उपयोग नहीं करना चाहिए। मैं इस समय किसी भी कस्टम कार्रवाई का उपयोग नहीं कर रहा हूँ।

इस साइट पर समाधान के अधिकांश Installshield 2010 के लिए निर्देश है, और चरणों के लिए 2015

त्रुटि दोनों मेरे देव मशीन के साथ ही सभी क्लाइंट मशीन पर दिखाई देता है काम नहीं करता। कोई सुझाव?

संपादित करें:

घटना दर्शक को प्रदर्शित करता है "पुनर्स्थापना बिंदु बनाने में विफल (प्रक्रिया = C: \ Windows \ system32 \ msiexec.exe/वी; विवरण = स्थापित मेरे एप्लिकेशन का नाम .; त्रुटि = 0x80070422)।

उत्तर

0

मुझे समस्या से छुटकारा पाने के लिए कुछ मिला, लेकिन यह एक बहुत ही सरल और कम महत्वपूर्ण है, हालांकि यह एक नया प्रश्न बनाता है।

क्या मेरी समस्या का कारण है कि मैं अपने ServiceInstaller के AfterInstall से निम्नलिखित कोड को दूर करने के लिए किया था है:

new ServiceController(ServiceInstaller.ServiceName).Start(); 

यह ऑटो को जोड़ा गया है मेरी सेवा शुरू एक बार यह स्थापित किया गया है। अभी के लिए मैं सिर्फ सेवा शुरू कर दूंगा।

7

आप नेट 4.6 अपने निर्माण मशीन पर स्थापित है, तो आप इंस्टालर वर्ग के लिए InstallShield के समर्थन के साथ एक संस्करण बग से बचने के लिए सीमित संस्करण के 2015 संस्करण की आवश्यकता होगी। (एक 1001 त्रुटि के लिए कई कारण हैं, तो यह गारंटीकृत फिक्स नहीं है।) ध्यान दें कि इंस्टॉलशील्ड 2015 सीमित संस्करण विजुअल स्टूडियो के सामुदायिक संस्करण का समर्थन नहीं करता है।

+0

धन्यवाद। मैंने अब 2015 तक अपग्रेड कर दिया है, लेकिन मुझे अभी भी त्रुटि मिल रही है। –

0

यह त्रुटि होती है जब लक्षित .NET Framework स्थापित नहीं है।

आप एक ही विकास मशीन को लक्षित कर रहे हैं तो कृपया जांच करें कि क्या है कि सेवा (EXE) पहले से ही है या नहीं है कि मशीन पर चल रहा है (यह नहीं चल रहा होना चाहिए)।

+0

मैं फ्रेमवर्क 4 को लक्षित कर रहा हूं और यह स्थापित है। काम नहीं कर रहा। –

1

चूंकि मैं अभी तक टिप्पणी नहीं कर सकता क्योंकि मैं आपके अपने स्वीकृत उत्तर के उत्तर के साथ जवाब दूंगा। मुझे पता है कि यह थोड़ी देर हो गया है क्योंकि आपने सवाल पूछा लेकिन यहां जाता है।

यदि आप इंस्टॉल करने के बाद ऑटो स्टार्ट चाहते हैं तो आप चरण 3 पर जा सकते हैं। लक्ष्य प्रणाली को कॉन्फ़िगर करें। सेवा टैब चुनें। राइट क्लिक करें सेवाएं और सेवा जोड़ें। आपको अपने प्राथमिक आउटपुट में किसी भी सेवा का पता लगाने में सक्षम होना चाहिए। एक बार जोड़ा जाने पर आप ऑटो स्टार्ट से संबंधित विभिन्न सेटिंग्स का चयन कर सकते हैं और इसी तरह। उम्मीद है कि यह आपकी मदद करता है।

एक तरफ ध्यान दें पर, मैं अभी भी अपने 1001

38

मैं इस में ठीक उसी मुद्दा था के जवाब के लिए देख रहा हूँ। अचानक VisualStudio 2013 और नए InstallShield LE को अपग्रेड करने और मेरे इंस्टॉलेशन पैकेज बनाने के बाद वे क्रिप्टिक 1001 त्रुटि से असफल हो जाएंगे।

निश्चित जवाब

मैं निश्चित जवाब मिल गया। आपके पास InstallShieldLE में चयनित "इंस्टॉलर क्लास" के लिए अब चेकबॉक्स नहीं हो सकता है। आपको उस आइटम को अनचेक करना होगा

इस संवाद बॉक्स खोलने के लिए, करने के लिए अपने प्राथमिक आउटपुट पर>फ़ाइलें और दाएँ क्लिक जाना अनुप्रयोग डेटा निर्दिष्ट करें और गुण चुनें।

uncheck Installer Class

इससे पहले, आपने इसे चुना है पड़ा: अब यह

पहले (Visual Studio 2012 नहीं चयनित किया जाना चाहिए इससे पहले कि आप कि आइटम का चयन किया या सेवा स्थापना करवाना पड़ा हैं असफल रहा। यह काफी भयानक है।

अब, आपको इंस्टालशिल ली प्रोजेक्ट में पेड़ आइटम का पालन करना होगा और सेवा नोड पर डबल-क्लिक करना होगा: services node

उसके बाद सेवा आइटम बाईं ओर दिखाई देता है (क्या मैंने उल्लेख किया है कि यह भयानक यूएक्स और यूआई क्या यह पूरी बात है?) और राइट क्लिक करें ताकि आप सेवा जोड़ सकें।

add service

मेनू आइटम सेवा जोड़ने के लिए प्रकट होता है जो चुनें और आप एक रूप है जिसमें आप संस्थापक विवरण सेट करने की अनुमति देता है मिलेगा।

installation details

एक बार ऐसा कर और पुनर्निर्माण अपने एमएसआई काम करेंगे और इस 1001 त्रुटि को हल करेंगे।

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

+1

प्राथमिक आउटपुट के लिए गुण संवाद बॉक्स में "इंस्टॉलर क्लास" चेकबॉक्स को अनचेक करना मेरे लिए काम करता है। – badikumar

+0

@ बादिकुमार ने खुशी की है कि आपने उत्तर में जोड़े गए एडटेल जानकारी के लिए धन्यवाद और धन्यवाद। – raddevus

+0

@ डेलाइट धन्यवाद। मैंने त्रुटि 1001 हल की, लेकिन मुझे त्रुटि मिली 1920 – GSP

3

उम्मीद है कि यह इंस्टालर के रूप में प्राथमिक आउटपुट सेट के साथ InstallShield 2015 LE इंस्टॉलर प्रोजेक्ट का उपयोग करते हुए .NET Windows सेवा स्थापित करने का प्रयास करते समय त्रुटि 1001 का सामना करने में आपकी सहायता करेगा।

यह एक ज्ञात बग जब नेट 4,6 10.

https://flexeracommunity.force.com/customer/articles/en_US/ISSUE/HOTFIX-Install-Fails-With-Error-1001-When-a-NET-Installer-Class-Component-is-Present-in-InstallShield-2015-SP1

+2

कृपया एक ही प्रश्न को कई प्रश्नों पर पोस्ट न करें। यदि वही जानकारी वास्तव में दोनों प्रश्नों का उत्तर देती है, तो एक प्रश्न (आमतौर पर नया) दूसरे के डुप्लिकेट के रूप में बंद होना चाहिए। आप इसे [डुप्लिकेट के रूप में बंद करने के लिए वोटिंग] द्वारा इंगित कर सकते हैं (https://stackoverflow.com/help/privileges/close-questions) या, यदि आपके पास इसके लिए पर्याप्त प्रतिष्ठा नहीं है, [ध्वज उठाएं] (https://stackoverflow.com/help/privileges/flag-posts) यह इंगित करने के लिए कि यह एक डुप्लिकेट है। अन्यथा इस सवाल का जवाब दें और एक ही जवाब को कई स्थानों पर पेस्ट न करें। – DavidPostill

+0

इसने एक त्रुटि बनाई: कक्षा पंजीकृत नहीं है। मुझे यकीन नहीं है कि लिंक किया गया समाधान InstallShield LE 2015 के साथ संगत है। –

0

मैं वी.एस. 2012 का उपयोग कर रहा InstallShield ले 2015 को लक्षित .NET 4.5 के साथ और मैं "इंस्टालर वर्ग" सही का निशान हटाएँ करने के लिए है विंडोज पर स्थापित किया गया है इसके लिए काम करने के लिए।

0

कुछ खुदाई के बाद मुझे पता चला कि इंस्टॉलर उस त्रुटि को विफल करता है जब यह सेवा को हटाने की कोशिश करता है (जो कुछ भी आप इंस्टॉल कर रहे हैं) - और (सेवा) अब और नहीं है। मेरा उपयोग केस परिदृश्य - एक जटिल समाधान के एमवीएस2015 से स्थापित करना प्रारंभ करें जिसमें विंडोज़ सेवा भी शामिल है। जब आप समाधान के संस्करण को बदलते हैं, तो इंस्टॉलर अपने ट्रैक में बंद हो जाता है यह पता लगाता है कि आपका ऐप पहले स्थापित किया गया था और इसे अनइंस्टॉल नहीं कर सकता क्योंकि यह एक अलग संस्करण है। यह बताते हुए एक संवाद बॉक्स पॉप अप करता है और बाहर निकलता है .... लेकिन यह सेवा को अनसुलझा कर रहा है। अब स्थापित करने या अनइंस्टॉल करने का प्रयास त्रुटि 1001 के साथ विफल रहता है क्योंकि विंडोज़ को इसे अनइंस्टॉल करने के लिए सेवा नहीं मिलती है।

अगर किसी के पास बेहतर समाधान है तो कृपया इसे पोस्ट करें, लेकिन मेरा समाधान एससी कमांड लाइन उपयोगिता का उपयोग करना है। एससी एक उपयोगिता है जिसका उपयोग कमांड लाइन से सेवाओं में हेरफेर करने के लिए किया जा सकता है (मदद के लिए टाइप एससी)। तो मैं सेवा (नाम से) जोड़ने के लिए एससी का उपयोग करता हूं, और फिर मैं अनइंस्टॉल कर सकता हूं, या सामान्य रूप से इंस्टॉल कर सकता हूं। कमांड में वैध बिन पथ होना अनिवार्य है - लेकिन कोई वैध पथ स्वीकार किया जाएगा।

sc <server> create [service name] [binPath= ] <option1> <option2>... 

उदाहरण:

sc create MyService binPath= C:\Windows\explorer.exe 
[SC] CreateService SUCCESS