2012-04-11 11 views
9

क्लिकऑन के माध्यम से वितरित हमारे ऐप, 10.8 सेकंड शुरू करने के लिए औसत पर लेता है। .exe पर ngen चलाने के बाद (उस निर्देशिका में जिसे क्लिकऑन इसे इंस्टॉल किया गया है) में, यह औसत पर 6.4 सेकंड में शुरू होता है। यह स्पष्ट रूप से एक विशाल गति (40%) है और यदि संभव हो तो मैं ngen-ification का उपयोग करना चाहता हूं।क्या एनजीएन छवियों को पूर्व-उत्पन्न करना संभव है ताकि ग्राहकों को यह नहीं करना पड़े?

Is it possible to use NGen with ClickOnce deployment? को रॉन का जवाब से पता चलता है कि यह कैसे ग्राहक की मशीन पर किया जा सकता है, यह मानते हुए मुझे लगता है कि वह Windows XP चलाता है, के रूप में यह चाहता है व्यवस्थापक अधिकार मेरी विंडोज 7 बॉक्स पर है, तो इस तरह प्रतीत नहीं होता एक सामान्य समाधान।

इसके अलावा, उस ऐप से संबंधित सभी असेंबली संकलित करने के लिए मेरे बॉक्स पर 40 सेकंड लेता है।

तो आदर्श, मैं चाहते हैं, उसके पूर्व NGEN निर्माण प्रक्रिया के हिस्से के रूप में सभी (प्रमुख) आर्किटेक्चर के लिए हमारे एप्लिकेशन, तो यह उपयोगकर्ता के लिए एक "ठीक है स्वीकार करने के लिए बिना ग्राहक को भेजे जा सकता है व्यवस्थापक के रूप में निष्पादित करें? " पॉपअप और फिर 40 सेकंड प्रतीक्षा करें।

क्या यह संभव है?

+0

एनजीएन आउटपुट आर्किटेक्चर-विशिष्ट है। और चूंकि यह संभव नहीं है कि आपकी बिल्ड मशीन उत्पादन मशीन से मेल खाती है, यह संभवतः काम नहीं करेगा जैसा आप उम्मीद कर रहे हैं। –

+0

@ कोडीग्रे जैसा कि मेरे प्रश्न में बताया गया है, मैं सभी प्रमुख वास्तुकलाओं के लिए प्री-एनजेन के लिए तैयार रहूंगा। अगर हमने x86 और amd64 किया है तो केवल 9 5% ग्राहकों को कवर करना चाहिए, मुझे लगता है ... –

उत्तर

9

आप Windows 7 पर प्रशासनिक उपयोग के बिना ऐसा नहीं कर सकते

समस्या देशी छवि की वास्तविक NGEN पीढ़ी लेकिन देशी छवि कैश (सी में स्थापना नहीं है: \ windows \ विधानसभा \ nativeImages_v # xxxxxxxxx) जिसके लिए व्यवस्थापकीय अनुमतियों की आवश्यकता होती है। इसलिए यदि आपको सभी लक्षित आर्किटेक्चर के लिए देशी छवियों को पूर्व-उत्पन्न करने का कोई तरीका मिला है, तो आप उन्हें उपयोग करने पर विचार करने के लिए रनटाइम के लिए उचित स्थान पर नहीं पहुंच पाएंगे।

आप उन्हें अपनी नियमित बाइनरी के साथ-साथ उन्हें एक साथ नहीं रख सकते हैं क्योंकि तब उन्हें ठीक से प्रबंधित नहीं किया जाएगा - कुछ सुरक्षा नीति में बदलाव होने पर आपको परेशानी होगी, नेट फ्रेमवर्क अपडेट हैं लागू या अन्य परिवर्तन उन असेंबली को संदर्भित किए जाते हैं जो देशी छवियों को अमान्य करते हैं और उन्हें "ngen update" कमांड चलाने की आवश्यकता होगी। माइक्रोसॉफ्ट इस समय क्लिकऑन परिनियोजन के साथ ngen के उपयोग-मामले का समर्थन करने के लिए प्रतीत नहीं होता है।

+0

कुछ (google) मुझे बताता है कि आप सही हैं, लेकिन थोड़ी देर प्रतीक्षा करें, शायद कुछ बदल जाए। आखिरकार, एमएस के विपरीत के दावों के बावजूद, http://stackoverflow.com/questions/443955 के उत्तर से पता चला कि कम से कम विंडोज एक्सपी के लिए यह संभव है। अनुमोदित, XP कुछ क्लिकऑन-तैनात ऐप इन दिनों पर निर्भर नहीं होना चाहिए ... –

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