2008-09-13 10 views
20

मेरे पास एक विजुअल स्टूडियो सेटअप प्रोजेक्ट है जिसका उपयोग मैं काफी सरल WinForms एप्लिकेशन को स्थापित करने के लिए करता हूं। इंस्टॉल के अंत में मेरे पास एक कस्टम यूजर इंटरफेस पेज है जो एक सिंगल चेक बॉक्स दिखाता है जो उपयोगकर्ता से पूछता है कि क्या वे एप्लिकेशन को चलाने के लिए चाहते हैं। मैंने देखा है कि अन्य इंस्टॉलर अक्सर ऐसा करते हैं। लेकिन इंस्टॉलेशन खत्म होने के बाद सेटअप प्रोजेक्ट को निष्पादन योग्य चलाने के लिए मुझे कोई रास्ता नहीं मिल रहा है। एक विचार?सेटअप प्रोजेक्ट के अंत में निष्पादन योग्य कैसे चलाएं?

नोट: आप कस्टम क्रियाओं का उपयोग नहीं कर सकते हैं क्योंकि इन्हें इंस्टॉल प्रक्रिया के हिस्से के रूप में उपयोग किया जाता है, मैं इंस्टॉल के अंत में 'बंद करें' बटन दबाए जाने के बाद अपना इंस्टॉल एप्लीकेशन चला सकता हूं।

उत्तर

8

मुझे विश्वास है कि यह विजुअल स्टूडियो स्थापना प्रोजेक्ट की वास्तविक सीमाओं में से एक है। आपको इंस्टॉलेशन UI के अंतिम पृष्ठ को संशोधित करने में सक्षम होना चाहिए, लेकिन VS.NET आपको ऐसा करने का कोई तरीका नहीं देता है। आप इसे बनाने के बाद .MSI में तालिकाओं को संशोधित कर सकते हैं लेकिन वीएस.NET शायद इन परिवर्तनों को हर बार ओवरराइट कर देगा। आप इंस्टॉलेशन प्रोजेक्ट में शामिल मर्ज मॉड्यूल का उपयोग करके अंतिम पृष्ठ को ओवरराइड करने में सक्षम हो सकते हैं। किसी भी तरह से आपको एक एमएमएसआई में यूआई संवादों के बारे में परिचित होने की आवश्यकता होगी और यह मामूली नहीं है।

आप एक मुफ्त स्क्रिप्ट आधारित इंस्टॉलर पर स्विच करने पर विचार करना चाहेंगे या वाणिज्यिक सेटअप संलेखन एप्लिकेशन खरीद सकते हैं (केवल पीट के प्यार के लिए इंस्टॉलशेल्ड नहीं खरीदें)। InstallAware पर एक नज़र डालें (हालांकि मैंने इसका उपयोग नहीं किया है)।

1

मैंने इसे एक वीबी स्क्रिप्ट दोहन बनाकर आंतरिक ऐप्स के लिए किया है जो सेटअप निष्पादन योग्य लॉन्च करता है, इसे बंद करने की प्रतीक्षा करता है, और फिर दूसरा प्रोग्राम लॉन्च करता है।

आप सी निष्पादन योग्य में कुछ विन एपीआई कॉल का उपयोग करके इसे और अधिक पॉलिश के साथ भी पूरा कर सकते हैं।

1

आप MSILAUNCH का उपयोग कर सकते हैं (हालांकि मुझे इसे केवल MSICREATE के साथ काम करने के लिए मिला है)।

http://www.cornerhouse.ca/en/msi.html

4

तुम भी उपयोग कर सकते हैं कस्टम कार्यों

+0

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

4

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

http://www.codeproject.com/KB/install/Installation.aspx

+0

धन्यवाद लिंक ने मुझे पूरी प्रक्रिया को बहुत बेहतर समझने में मदद की – DeveloperChris

+0

धन्यवाद उपयोगी लिंक – Ahmed

0

मैं विधानसभा लागू मुख्य विधि निम्न पंक्ति का उपयोग कर ऐसा करने से यह कामयाब रहे:

(typeof(ClassWithinAssemblyToExecute)).Assembly.EntryPoint.Invoke(null, new Object[] {}) 
+0

ठीक है, इसलिए यह एक नई प्रक्रिया शुरू नहीं करता है, लेकिन यह मेरी आवश्यकताओं के लिए काम करता है करने के लिए आवश्यक एक छोटा विन्यास फार्म चलाया गया था। – Grub

0

आप कस्टम संस्थापक द्वारा यह कर सकते हैं। बस इंस्टॉलर क्लास जोड़ें और वहां इंस्टॉल करने से पहले, इंस्टॉल करने के बाद आपको कई ईवेंट दिखाई देंगे। बस स्थापित करने के बाद हुक अप करें और वहां से प्रोसेस क्लास द्वारा आपका एक्सई चलाएं। मैं आपको कस्टम इंस्टॉलर के बारे में और जानने के लिए Google का सुझाव दूंगा। यहाँ कि यू http://www.codeproject.com/Articles/19560/Launching-Your-Application-After-Install-using-Vis

धन्यवाद

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