visual studio कौन से winform प्रोजेक्ट फाइल को इंस्टॉलर में पैक किया जाना चाहिए




visual-studio winforms (2)

एप्लिकेशन को चलाने के लिए आवश्यक सभी फाइलें /bin/release फ़ोल्डर में DLL और निष्पादन योग्य सहित मिल सकती हैं।

हालाँकि, यह मान लेता है कि आपने Visual Studio में अंतर्निहित टूल का उपयोग करके उन पुस्तकालयों को अपनी परियोजना में जोड़ा है

संपादित करें (धन्यवाद ली ली): यदि आपने पहले से रनटाइम फाइलें स्थापित नहीं की हैं (ये सामान्य रूप से .NET के साथ इंस्टॉल की जाती हैं), तो आपको उन्हें https://www.microsoft.com/net से इंस्टॉल करना होगा

https://code.i-harness.com

मैं अपनी जीत परियोजना को इनो सेटअप द्वारा पैक करना चाहता हूं। लेकिन मुख्य निष्पादन योग्य के अलावा, इसे अन्य आवश्यक फ़ाइलों को निर्दिष्ट करना होगा और प्रोजेक्ट फ़ोल्डर में कई फाइलें हैं।

तो किन फाइलों की आवश्यकता है? .Cs स्क्रिप्ट महत्वपूर्ण है? या सिर्फ / बिन / रिलीज / में फाइलें?


कुल मिलाकर : मुझे टॉम ब्लोडगेट की निर्भरता और रनटाइम्स खोजने की सलाह यहाँ पसंद है। समस्या अनुप्रयोगों के साथ क्या हो रहा है, यह निर्धारित करने के लिए नीचे कुछ विस्तृत, तकनीकी विकल्प दिए गए हैं। जल्दी में इकट्ठे हुए।

क्लीन वर्चुअल : और स्पष्ट रूप से अपने आवेदन को मैन्युअल रूप से QA और परीक्षण के लिए एक क्लीन वर्चुअल पर सेट करने के लिए और "पुनरावृत्त फैशन" में तैनाती आवश्यकताओं को निर्धारित करने के लिए लेक्स ली की सलाह (अपने सवाल के ऊपर टिप्पणी) लें।

चेक-लिस्ट : और सिर्फ रिकॉर्ड के लिए: एप्लिकेशन लॉन्च समस्याओं के लिए एक सामान्य-उद्देश्य चेक-लिस्ट (जो किसी कारण से किसी व्यक्ति द्वारा अस्वीकृत कर दिया गया है, मुझे बताएं कि आपको वहां क्या त्रुटियां मिल सकती हैं? मैं एक तैनाती विशेषज्ञ हूं एक कोडर नहीं - यह? एक "चेकलिस्ट" सूची की एक सच्ची सूची से अधिक है)।

अद्यतन - सितंबर 2018 :

डीबग बायनेरिज़ - लॉन्च सीक्वेंस डीबगिंग : आप अपने एप्लिकेशन लॉन्च सीक्वेंस में जल्दी से एक मैसेज बॉक्स डाल सकते हैं और डीबग बायनेरिज़ को अपने सेटअप में स्लिपस्ट्रीम कर सकते हैं, इसे इंस्टॉल कर सकते हैं, और लॉन्च के बाद कदम बढ़ाने के लिए डीबगर को एप्लिकेशन के मैसेज बॉक्स में लॉन्च कर सकते हैं। कोड? (एक ब्रेकपॉइंट सेट करें)। अब आप डिबग कर सकते हैं, बशर्ते आपका EXE मैदान से बिल्कुल दूर हो जाए

  • शायद इस "डीबगर दृष्टिकोण संलग्न करें" के लिए यह अच्छा उन्नत इंस्टॉलर वीडियो ट्यूटोरियल जांचें। यह कस्टम एक्शन कोड के लिए समान दृष्टिकोण दिखाता है। एप्लिकेशन लॉन्च करने के लिए प्रक्रिया समान है। बस संदेश बॉक्स में संलग्न करें और ब्रेकप्वाइंट सेट करें।

  • ध्यान दें : स्पष्ट रूप से याद है कि एक बार जब आप जानते हैं कि समस्या क्या है - रिलीज बायनेरिज़ के साथ फिर से मिलाना और फिर से लॉन्च करना। डिबग बायनेरिज़ पुनर्वितरण योग्य नहीं हैं - वे केवल एमएस एसडीके द्वारा स्थापित डीएलजी डीबग के लिए बाध्य होते हैं। सामान्य पीसी (डीबग) में ये डिबग डीएल नहीं होंगे।

विजुअल स्टूडियो मॉड्यूल्स देखें : मैंने इसे विजुअल स्टूडियो में डीबग मोड में चलाने के लिए अनुशंसित देखा है। सहभागी प्रोजेक्ट को अंतःक्रियात्मक रूप से चलाएं: Debug => Start Debugging , और फिर जाएं: Debug => Windows => Modules क्रम में एक सूची प्राप्त करने के लिए कि एप्लिकेशन को चलाने के लिए क्या लोड किया गया है। मुझे यकीन नहीं है, स्पष्ट रूप से, अगर यह आपको सभी प्रकार की निर्भरता देता है। डिपेंडेंसी वॉकर हेल्प फाइल में कई अलग-अलग प्रकार बताए जा सकते हैं। मैंने इस मुद्दे पर हमारे हंस पसंत के मस्तिष्क को लेने की कोशिश की :-) , लेकिन यह शायद बहुत विस्तृत है।

निर्भरता वॉकर : यह एक पुराना विंडोज एसडीके टूल है। यह अब तक बहुत पुराना है - 10 साल से अधिक समय से मैं आखिरी अपडेट के बारे में सोचता हूं। यह भरोसा करने के लिए पुराना युद्ध था, लेकिन नए बायनेरिज़ के लिए महान काम नहीं करता है। यह WinSxS निर्भरता (साइड-बाय-साइड win32 असेंबली) या API-Sets समर्थन नहीं API-Sets

  • मैं अभी भी " मॉड्यूल खोज क्रम " की याद दिलाने के लिए इसका उपयोग करता हूं। टूल ओपन के साथ: Options => Configure Module Search Order... विंडोज एक खोज क्रम में फ़ाइलों / मॉड्यूल को उस तरह से ढूँढता है - और विभिन्न ओएस संस्करणों के बीच अंतर के साथ।
  • यह निश्चित रूप से पुराना है, लेकिन यह कम से कम एक अनुस्मारक है कि विंडोज़ में फ़ोल्डर्स कैसे स्कैन किए जाते हैं - और प्रत्येक विंडोज संस्करण अलग-अलग है - विशेष रूप से मैनिफ़ेस्ट्स में।

dumpbin : विंडोज एसडीके से एक और पुराना काम-घोड़ा (विज़ुअल स्टूडियो के साथ एक सिस्टम पर %ProgramFiles(x86)% तहत खोज)। यह एक कमांड लाइन टूल है। मालकिनों के लिए :-)। मैं ईमानदारी से नहीं जानता कि क्या यह नवीनतम बायनेरिज़ के लिए उचित समर्थन प्रदान करता है, लेकिन यह बनाए रखा जाता है (निर्भरता वॉकर के विपरीत)।

ProcMon (Sysinternals): यह वह उपकरण है जिसे लोग तब निर्भर करते हैं जब यह कठिन निर्भरता के मुद्दों को हल करने की बात करता है। त्वरित मॉक-अप नमूना । असली सौदा - जो कुछ भी वास्तव में हुड के नीचे हो रहा है, उसके लिए एक चश्मा। मैं इसके उपयोग में विशेषज्ञ नहीं हूं, लेकिन विचारों के लिए आउटपुट को देखना हमेशा ज्ञानवर्धक होता है। COM सर्वर पंजीकरण गुम है ...

ProcessExplorer (Sysinternals): कृपया इस उत्तर की जाँच करें ।

Fuslogvw.exe : क्या Fuslogvw.exe आपको कुछ बताता है? (.NET असेंबली बाइंडिंग विफलताओं)।

Dependencies.exe : हो सकता है कि आप इस नए, ओपन सोर्स डिपेंडेंसी वॉकर (जो पुराने एसडीके टूल का उल्लेख किया गया हो) को आंशिक रूप से C #: " Dependencies.exe " में किया गया हो। यह टूल काफी अधूरा है और इसमें डिपेंडेंसी वॉकर से सभी कार्यक्षमता नहीं है (मैं एक्साई फ़ाइलों के लिए कोई रूपरेखा विशेषताएं नहीं देख सकता हूं), लेकिन इसमें API-Sets और WinSxS निर्भरता के लिए समर्थन है - या साइड-बाय Win32x टॉर्च जो डिपेंडेंसी वॉकर से गायब है)। मैंने इसे वास्तव में इसकी सिफारिश करने के लिए पर्याप्त परीक्षण नहीं किया है - लेकिन यह खुला स्रोत है और इसलिए निरीक्षण योग्य है। I have contacted the author about an issue where the bundled peview.exe is identified as malware लेखक जल्दी से समझाने के लिए वापस आया । आप अनुप्रयोग का उपयोग शुरू करने से पहले सिर्फ peview.exe को हटाने की सलाह देते हैं।

NDepend ( wikipedia ): एक उपकरण जो मुझे डर है कि मैं उपयोग नहीं करता हूं, लेकिन कृपया इस उत्तर की जांच करें (चेक करें)।

परिनियोजन उपकरण : विभिन्न तैनाती उपकरण इनो सेटअप ( सूची दृश्य, केवल मुख्य उपकरण ) के अलावा।

कुछ लिंक :

नेट





inno-setup