2009-03-23 13 views
17

में स्टेटिक संकलन मैं क्लाइंट के लिए एक छोटा डेस्कटॉप ऐप लिखूंगा जिसमें WinXP मशीनें होंगी और वे .NET ढांचे को स्थापित नहीं करेंगे (कम से कम मेरे लिए नहीं)।.NET दुनिया

तो मेरे विकल्प सी ++ या वीबी 6 तक सीमित हैं, जिनमें से कोई भी अच्छा नहीं है। मुझे याद है कि मोनो एक स्थिर कंपाइलर के साथ आया था, लेकिन हाल ही में एकमात्र चीज जो मुझे मिल सकती है वह है आईफोन पर ऐप चलाने के प्रयोजनों के लिए गेम इंजन के लिए स्थिर संकलन पर मिगुएल डी इकाजा की प्रविष्टि - क्या नहीं मेरे दिमाग में था।

क्या वहां कोई उत्पाद है, मुफ्त या वाणिज्यिक है जो मुझे अपने .NET 3.5 Winform ऐप को स्थिर रूप से संकलित करने की अनुमति देगा?

धन्यवाद

+2

मुझे आश्चर्य है कि इस प्रश्न को कौन वोट देगा। रनटाइम सहित स्थिर रूप से बहुत अच्छा होगा। –

+1

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

+0

उनके लिए .NET इंस्टॉल करने में क्या गड़बड़ है? इसे इंस्टॉलर में शामिल करें। –

उत्तर

11

आप Remotesoft Salamander.

यह बिल्कुल क्या आप चाहते हैं उपयोग करने का प्रयास कर सकते हैं।

+3

... बहुत बड़े ओवरप्रिस के लिए ... –

8

मोनो ने उस समय के लिए समय संकलन (एओटी) के लिए अपने समर्थन में काफी सुधार किया है, मानते हैं कि आप नेट रनटाइम की बजाय मोनो को लक्षित करने में सक्षम/सक्षम हैं, यह लगभग किसी भी सीआईएल अनुप्रयोग को स्थिर रूप से संकलित करना संभव होना चाहिए ।

चाहे यह एक अच्छा विचार है या नहीं, पूरी तरह से आवेदन और आपकी बाधाओं पर निर्भर करता है।

उदाहरण के लिए, नोवेल अब एक सीएलआई कार्यान्वयन मोनो टच भेजता है जो पूरी तरह से एओटी संकलित है और कोको टच फ्रेमवर्क के खिलाफ आईफोन पर चलाने के लिए नेट एप्लिकेशन (केवल गेम नहीं) को अनुमति देता है।

उन वही एओटी तकनीकों का उपयोग Winforms एप्लिकेशन को संकलित करने के लिए किया जा सकता है, जिन्हें नेट या मोनो रनटाइम की आवश्यकता नहीं होती है। एओटी से संबंधित कई प्रदर्शन ट्रेडऑफ (सकारात्मक और नकारात्मक दोनों) हैं, इसलिए मैं उचित परिश्रम के बिना आगे नहीं बढ़ूंगा।


संपादित करें:

जॉन सॉन्डर्स 'प्रश्न के उत्तर में "क्यों उनके लिए इसे स्थापित नहीं?" के बारे में। यह वास्तव में एक कारण लाता है कि आपको एओटी संकलन की आवश्यकता क्यों हो सकती है .. बूटस्ट्रैपर्स।

कुछ भी स्थापित करने के लिए, आपको निष्पादन योग्य चलाने की आवश्यकता है। आप या तो एक एमएसआई वितरित कर सकते हैं (जो msiexec.exe को पूरी तरह से लॉन्च करेगा) या आप एक exe वितरित कर सकते हैं। एमएसआई, कार्यात्मक होने पर, एक बहुत ही भयानक डेवलपर अनुभव है। तो आप अपने बूटस्ट्रैपर का निर्माण .NET (AOT संकलित रनटाइम निर्भरता को खत्म कर सकते हैं) का उपयोग कर सकते हैं जो आपके ऐप को इंस्टॉल करने से पहले जो कुछ भी आवश्यक है (जैसे .NET) स्थापित करता है।

इसके अतिरिक्त, कुछ कंपनियों को डाउनलोड करने योग्य निष्पादन योग्य जहाज भेजने की आवश्यकता हो सकती है जिन्हें उपयोगकर्ताओं को कुछ भी इंस्टॉल करने की आवश्यकता नहीं होती है (चुपचाप या अन्यथा)।

फिर भी एक और: .NET को स्थापित करने के लिए व्यवस्थापकीय विशेषाधिकारों की आवश्यकता होती है। एओटी आपको अपने आवेदन के लिए उस आवश्यकता के आसपास पहुंचने की अनुमति दे सकता है।

फिर से, चाहे इनमें से कोई भी अच्छा विचार पूरी तरह से एप्लिकेशन और आपकी बाधाओं पर निर्भर करता है।

+1

+1 आपका उत्तर बहुत रचनात्मक था! –

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