रिलीज के लिए आप विजुअल स्टूडियो सी ++ प्रोजेक्ट कैसे पैक करते हैं?

मैं सोच रहा हूं कि रिहाई बनाने के लिए कैसे सभी आवश्यक डीएलएल फाइलों को .exe में शामिल किया गया है ताकि प्रोग्राम को गैर-विकास मशीन पर चलाया जा सके, बिना लक्ष्य मशीन पर माइक्रोसॉफ्ट पुनर्वितरण योग्य स्थापित किया जा सके।

ऐसा करने के बिना आपको त्रुटि संदेश मिलता है कि अनुप्रयोग कॉन्फ़िगरेशन सही नहीं है और पुनर्स्थापित करने के लिए।

0
जोड़ा
विचारों: 1
बस इनो सेटअप जैसे सेटअप विज़ार्ड का उपयोग करें। विशेष रूप से इनो सेटअप का उपयोग करना वास्तव में आसान है यदि आपको केवल फाइलों का एक गुच्छा पैक करना है।
जोड़ा लेखक sashoalm, स्रोत

4 उत्तर

  1. Choose Project -> Properties
  2. Select Configuration -> General
  3. In the box for how you should link MFC, choose to statically link it.
  4. Choose Linker -> Input. Under Additional Dependencies, add any libraries you need your app to statically link in.
0
जोड़ा
@BruceConnor। पुस्तकालयों को जोड़ने से उन्हें स्थाई रूप से निष्पादन योग्य फ़ाइल में शामिल किया जाता है। इसके विपरीत गतिशील लिंकिंग कहा जाता है जो स्टार्टअप पर dll s (= डुनामी लिंक लाइब्रेरी) के निष्पादन योग्य दिखने देगा।
जोड़ा लेखक danijar, स्रोत
मुझे कुछ याद आ रहा है (मैं एक विशेषज्ञ के कुछ भी नहीं हूं) लेकिन आपके चरणों का पालन करने के बाद भी मुझे exe फ़ोल्डर में सभी dll को पैकेज करना होगा। क्या यह ओपी का इरादा exe फ़ाइल में पैक करने के लिए नहीं था?
जोड़ा लेखक Malabarba, स्रोत

आप स्थैतिक लिंक की तलाश करेंगे (गतिशील रूप से लिंक के विपरीत)

मुझे यकीन नहीं है कि एमएस पुनर्वितरण में से कितने स्थिर रूप से लिंक करते हैं।

0
जोड़ा

यदि आप यह पता लगाना चाहते हैं कि आपकी लक्षित मशीन कौन सी डीएल गुम है तो निर्भर करता है .exe जो MSDev के साथ आता था, लेकिन यह भी पाया जा सकता है >। कुछ लक्ष्य मशीनों पर इसका परीक्षण करना आपको बताएगा कि आपको अपने आवेदन के साथ कौन सा डीएलएल पैकेज करना होगा।

0
जोड़ा

ध्यान रखें कि माइक्रोसॉफ्ट अनुशंसा नहीं करता है कि आप रनटाइम को स्थिर लिंक करें आपकी प्रोजेक्ट , क्योंकि यह महत्वपूर्ण सुरक्षा बग को ठीक करने के लिए विंडोज अपडेट द्वारा सर्विस किए जाने से रोकती है। यदि आप अपनी मुख्य .exe और .dll फ़ाइलों के बीच मेमोरी पास कर रहे हैं तो संभावित समस्याएं भी हैं जैसे कि इनमें से प्रत्येक स्थिर रनटाइम लिंक करता है जिसे आप मॉलोक / फ्री मिस्चैच समस्याओं के साथ समाप्त कर सकते हैं।

आप डीएलएल को निष्पादन योग्य के साथ शामिल कर सकते हैं, उन्हें .exe में संकलित किए बिना और रेडिस्ट टूल चलाने के बिना - यह वही है जो मैं करता हूं और ऐसा लगता है कि यह ठीक काम करता है।

मलम में एकमात्र फ्लाई यह है कि यदि आप Windows संस्करणों की विस्तृत श्रृंखला के लिए वितरित कर रहे हैं तो आपको फ़ाइलों को दो बार शामिल करने की आवश्यकता है - नए ओएस को मैनिफेस्ट-परिभाषित निर्देशिकाओं में फ़ाइलों की आवश्यकता होती है, और पुराने प्रोग्राम प्रोग्राम में सभी फाइलें चाहते हैं ।

0
जोड़ा