Ngen का उपयोग करके स्थापित तेजी से कार्यक्रम शुरू करें.exe

पेज निर्माण की तारीख :

पर्यावरण

विजुअल स्टूडियो
  • विजुअल स्टूडियो कम्युनिटी 2017
  • विजुअल स्टूडियो कम्युनिटी 2019
विक्स टूलसेट
3.11.2

※ यह अन्य संस्करणों में काम करता है, लेकिन यह अपुष्ट है

पहले

.NET फ्रेमवर्क एप्लिकेशन Ngen.exe का उपयोग करके देशी छवियों को बनाता और स्थापित करता है। आप स्टार्टअप और निष्पादन को गति कर सकते हैं।

हालांकि, एक देशी छवि बनाने के लिए, आपको उस वातावरण में Ngen.exe का उपयोग करना होगा जहां आप आवेदन चलाते हैं। आप एक पूर्व-छवि वाली छवि वितरित नहीं कर सकते हैं। इसलिए, क्या आप चाहते हैं कि उपयोगकर्ता एनजेन.exe मैन्युअल रूप से चलाएं? इसे स्थापना के दौरान चलाया जाना चाहिए।

यह अनुभाग स्थापना के दौरान wiX सेटिंग्स में लक्ष्य exe या dll पर Ngen.exe प्रदर्शन करने के चरणों का वर्णन करता है।

ध्यान दें कि Ngen.exe केवल .NET फ्रेमवर्क अनुप्रयोगों के लिए मान्य है और मूल रूप से मूल विधानसभा है। .NET कोर अनुप्रयोगों के लिए इसका उपयोग करने का कोई मतलब नहीं है।

पहले से तैयारी

  • मान लें कि आपने WiX के साथ एक इंस्टॉलर बनाया है।

पुस्तकालय संदर्भ जोड़ें

अपने संदर्भ में विक्सनेटएफएक्सएक्सएक्सटेंशनेशन.dll जोड़ें। फ़ोल्डर पथ सी है: \ प्रोग्राम फ़ाइलें (x86) \ WiX टूलसेट v3.11 \ बिन ।

image

image

image

उत्पाद को संपादित करें.wxs

Ngen.exe चलाने वाली फ़ाइलों में सेटिंग्स जोड़ें।

विक्स/@xmlns

नेटएफएक्सएक्सटेंशन नेमस्पेस जोड़ें।

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
		 xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">

देशी छवियां बनाने वाले घटकों (फ़ाइलों) में पैरामीटर जोड़ना

नेटएफएक्स जोड़ें: लक्ष्य फ़ाइल के बाल तत्वों में मूल रूप सेइमेज।

<Component Win64="yes" Id="OGGVORBISPROJECT.DLL" DiskId="1" Guid="6A1D2FD8-9FA7-40D5-A0EA-356268B3C0B4">
  <File Id="OGGVORBISPROJECT.DLL" Name="OggVorbisProject.dll" Source="LittleSaviorTrial\Dll\OggVorbisProject.dll">
    <netfx:NativeImage Id="NGEN_OGGVORBISPROJECT.DLL" Platform="64bit" Priority="0"/>
  </File>
</Component>

यदि एनजेन.exe की प्रकृति के कारण अन्य डीएल पर एक्स या डीएल का उल्लेख (निर्भर करता है) है, तो आप केवल उस एक्स या डीएल को निर्दिष्ट कर सकते हैं जिससे आप इसका उल्लेख करना चाहते हैं। उदाहरण के लिए, यदि A.exe B.dll को संदर्भित करता है, तो मूल निवासी का संबंध A.exe पर केवल स्वचालित रूप से बी.dll पर लागू होता है।

हालांकि, अगर A.exe गतिशील रूप से Assembly.load का उपयोग करके बी.dll लोड करता है और निष्पादन के बाद की तरह, बी .dll निर्भरता नहीं है। A.exe के लिए Ngen.exe का उपयोग बी.dll संकलित नहीं करता है । इस मामले में, बी.dll के लिए मूल निवासी के रूप में अच्छी तरह से सेट ।

@Id

देशी छवि का पहचान नाम। अन्य विज्ञापनों को ओवरलैप न करें।

@Platform

या तो "32bit", "64bit" या "सभी" निर्दिष्ट करें । आपके द्वारा इंस्टॉल किए जा रहे आवेदन के लिए 32बिट या 64बिट पर सेटिंग्स बदलें। सभी दोनों देशी छवियों बनाता है, तो पुस्तकालयों निर्दिष्ट है कि इस तरह के "किसी भी सीपीयू" के रूप में निष्पादन राज्य के अनुसार स्विच ।

@Priority

स्थापना के दौरान Ngen .exe कब चलाएं। आप 0-3 निर्दिष्ट कर सकते हैं, लेकिन अधिक जानकारी के लिए, कृपया आधिकारिक वेबसाइट का उल्लेख करें।

सारांश

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

image