2012-06-17 12 views
5

मैं एक प्रोग्राम है जो अन्य प्रोग्राम बना सकते हैं और * .cs स्रोत फ़ाइल से यह संकलन करने के लिए इस्तेमाल किया जाता है

            using System.CodeDom.Compiler;एमएसआई इंस्टॉलर प्रोग्रामेटिक रूप से कैसे बनाएं?

मैं संकलित कार्यक्रम के लिए भी एक इंस्टॉलर बनाना चाहेंगे, लेकिन मैं मैं सोच रहा हूं कि क्या मैं प्रोग्रामेटिक रूप से ऐसा कर सकता हूं, इसलिए जब मैं अपने मुख्य एप्लिकेशन में बिल्ड अब बटन पर क्लिक करता हूं, तो एक नया इंस्टॉलर किसी चुने हुए गंतव्य पर दिखाई देगा।

क्या बटन क्लिक के साथ संकलित प्रोग्राम (प्रोग्राम जिसे मैंने बनाया है) के लिए एक एमएसआई इंस्टॉलर बनाने के लिए कुछ है।

मैं अपने संकलित प्रोग्राम के लिए हर बार इंस्टॉलरफ़ाइल का उपयोग नहीं करना चाहता हूं।

किसी भी मदद अत्यधिक सराहना की जाएगी

+0

यदि आपके पास इंस्टॉलशील्ड के साथ काम करने वाली चीजें हैं, तो हमेशा इसका ऑटोमेशन इंटरफ़ेस और/या कमांड-लाइन बिल्ड समर्थन होता है। –

उत्तर

9

मैं तुम्हें WiX का उपयोग करें। यह एक बहुत शक्तिशाली इंस्टॉलर निर्माण उपकरण है। आप कमांड लाइन टूल्स का उपयोग कर इंस्टॉल फाइल बनाने के लिए इसका इस्तेमाल कर सकते हैं, जिसका उपयोग आपके बिल्ड प्रोग्राम से किया जा सकता है।

+0

@Amirshk के साथ सहमत हैं। WIX निश्चित रूप से जाने का रास्ता है। वाइज़ जैसे बाइनरी प्रयासों को खत्म करता है। –

+0

कुछ और जानकारी। पेशेवर और विपक्ष: [किस इंस्टॉलेशन उत्पाद का उपयोग करना है? ** InstallShield **, ** WIX **, ** बुद्धिमान **, ** उन्नत इंस्टॉलर **, आदि] (http://stackoverflow.com/questions/1544292/what-installation-product-to-use- InstallShield-wix-वार-उन्नत-संस्थापक/1546941 # 1546941)। –

3

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

वीएसप्रोज सेटअप परियोजनाओं को वीएस 11 में बंद कर दिया जा रहा है, सीखना वाईएक्स कुछ अन्य विकल्पों के साथ पकड़ने के बजाय समय में काफी बेहतर निवेश है वीएस आपको आगे बढ़ने की कोशिश करता है।

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