वास्तव में एक इंस्टॉलर क्या करता है और मुझे इसकी आवश्यकता क्यों हो सकती है?


34

यह शायद दिन का शोर-सवाल है:

इसलिए मैंने यह खेल लिखा है।

अब .exe फ़ाइल है जो काम करती है, मेरी सुंदर, सुंदर संपत्ति और .dll फ़ाइलों और अन्य सामान का एक फ़ोल्डर जो मुझे शायद स्पर्श नहीं करना चाहिए। खेल को चलाने के लिए, मैं पूरे कंप्यूटर को वांछित कंप्यूटर पर कॉपी करता हूं, .exe फ़ाइल को डबल-क्लिक करता हूं और कुछ दोस्तों की शूटिंग शुरू करता हूं। वाह!

लेकिन क्या वास्तव में उस और एक इंस्टॉलर का उपयोग करने के बीच अंतर है? फ़ाइलों को कॉपी करने और .zip-file की तुलना में अधिक पेशेवर दिखने के अलावा एक और इंस्टॉलर क्या करता है? क्या एक अलग कंप्यूटर पर गेम चलाने की कोशिश करते समय आमतौर पर बहुत सारे पैचिंग / कॉन्फ़िगरेशन शामिल होते हैं? मैंने अपने गेम का परीक्षण सभी विंडोज़ कंप्यूटरों पर किया जिसमें मुझे अपनी लालची उंगलियां मिल सकती थीं और यह बहुत अच्छा काम करता है।


1
उदाहरण के लिए XNA में, आपको XNA रनटाइम की आवश्यकता है। या SlimDX के साथ आपको अपने खेल निर्देशिका के अंदर या GAC में SlimDX.dll की आवश्यकता है।
काकीमारु

हम्म, मैं समझता हूं कि। लेकिन जिन .dll फ़ाइलों की मुझे आवश्यकता होती है (मेरे मामले में sdl.dll और उसके minions) पहले से ही .exe फ़ाइल के रूप में एक ही निर्देशिका में हैं और वे बाकी की प्रतिलिपि बनाते समय प्रतिलिपि हो जाती हैं। इंस्टॉलर अलग से क्या करेगा?
HumanCatfood

2
@ उपयोगकर्ता अंतिम उपयोगकर्ता को फ़ाइलें रखने और क्या नहीं करने के बारे में चिंता करने की ज़रूरत नहीं है। यह कुछ ऐसा है जो उनके लिए हो जाता है।
सिदार

1
कुछ सोचने के लिए - आपका गेम कितना 'बड़ा' है? Ie यह एक छोटी इंडी-शैली की एक्सई फ़ाइल, एक या दो DLL और कुछ छवियां है, या यह कुछ बड़े पैमाने पर चीज़ है जिसे सभी प्रकार के रनटाइम इंस्टॉल करने की आवश्यकता है। यदि यह कुछ अपेक्षाकृत छोटा है, तो एक ज़िप में एक exe फ़ाइल पर्याप्त रूप से अच्छी हो सकती है और यादृच्छिक गेम को स्थापित करने के लिए उपयोगकर्ता की अनिच्छा पर मदद कर सकती है जिसे वे पांच मिनट के खेलने के बाद हटाना चाहते हैं।
पीकू

1
इंस्टॉलरों के बारे में बात कर रहे हैं ... अक्सर अनदेखी की गई एक अच्छी डे- / अनइंस्टालर है। मैंने गणना खो दी है कि मुझे कितनी बार बाईं फ़ाइलों और / या रजिस्ट्री कुंजियों को हटाना पड़ा। जब कहा जाता है कि खेल को फिर से स्थापित करने पर समस्या उत्पन्न होती है, जो विशेष रूप से घुसपैठ है।
एक्सिलेंट

जवाबों:


34

इंस्टॉलर आमतौर पर अंतिम उपयोगकर्ता के लिए चीजों को आसान बनाने के लिए होता है। यह निम्नलिखित में से कुछ संयोजन करता है:

  • अनज़िप
  • निर्देशिकाओं का निर्माण
  • आवश्यक रनटाइम की स्थापना (जैसे पुनर्वितरण:। नेट, विज़ुअल सी ++, डायरेक्ट एक्स)
  • ओएस के साथ पंजीकरण (बाद में साफ स्थापना रद्द करने के लिए)
  • अपने काम के लिए खिलाड़ी को तैयार करने के लिए सुंदर, सुंदर स्क्रीनशॉट दिखाएं।
  • उपयोगकर्ता को अपने खेल को पंजीकृत करने का मौका देना
  • खेल के लिए संपत्ति या पैच के लिए अपडेट डाउनलोड करना
  • प्रारंभ मेनू या डेस्कटॉप पर आइकन जोड़ें
  • विभिन्न खेल निर्देशिकाओं (अस्थायी फ़ोल्डर, निर्देशिका सहेजें आदि) के लिए सही अनुमतियाँ सेट करें
  • बस इसे पहले से ही इंस्टॉल करें, उपयोगकर्ता को माइंडलेस रूप से अगला क्लिक करने और गेम खेलने के लिए अनुमति दें!

ओह ठीक है, मैंने इस बारे में नहीं सोचा था कि इसे रनटाइम स्थापित करने की आवश्यकता हो सकती है। धन्यवाद!
हयूमैनकूटफ़ूड

2
इसके अलावा, फ़ाइल एक्सेस राइट्स सेट करना न भूलें! जब तक कोई इंस्टॉलर इसे सेट नहीं करता, आपके गेम को उसके फ़ोल्डर (savegames और ऐसे) के लिए लिखने की गारंटी नहीं है।
बात नहीं

10
+1 अधिकांश एंड-यूज़र किसी फ़ाइल को अनज़िप करने में भी सहज नहीं होते हैं, इसलिए इंस्टॉलर को एक डिफ़ॉल्ट डिफ़ॉल्ट इंस्टॉलेशन पथ प्रस्तावित करना चाहिए और उनके लिए "बस करना चाहिए"। कई एंड-यूजर्स को यह नहीं पता होता है कि फाइल-सिस्टम क्या है, या उनके सामने प्रस्तुत किए गए डिफॉल्ट डॉक्यूमेंट पथ के बाहर फाइलें कैसे खोजें। और स्पष्ट रूप से, क्यों बिल्ली को भी जानना चाहिए? इंस्टॉलर के बारे में सोचें कि एक गरीब-आदमी ऐप स्टोर है, इसे खेलने के लिए एक क्लिक होना चाहिए, और नहीं।
ओस्कर डुवॉर्न

खैर, यह वास्तव में आपके लक्षित दर्शकों पर निर्भर करता है।
एपीआई-जानवर

3
मैं भी कारणों की सूची में संगति जोड़ूंगा। एक इंस्टॉलर प्रदान करके आप यह सुनिश्चित करते हैं कि उपयोगकर्ता को एक सेटअप मिलता है जो अन्य उपयोगकर्ताओं के अनुरूप है, अन्यथा आप पागल चीजों के साथ समाप्त होते हैं जैसे कि कोई व्यक्ति अपने डेस्कटॉप पर गेम को अनज़िप कर रहा है और इसे वहां से चला रहा है (हाँ, मैंने ऐसा होता देखा है)। एक सुसंगत और ज्ञात-अच्छे सेटअप का उपयोग करने से बहुत सी चीजें दूर हो जाती हैं जो गलत हो सकती हैं, और जब चीजें गलत हो जाती हैं तो समस्या निवारण के कार्य को आसान बनाती हैं।
मैक्सिमस मिनिमस

3

एक इंस्टॉलर सॉफ्टवेयर इन्फ्रास्ट्रक्चर के जटिल टुकड़ों को तैनात करने की प्रक्रिया को अमूर्त करता है , जो आमतौर पर एक सुविधाजनक, आत्मनिर्भर उपयोगकर्ता इंटरफ़ेस के माध्यम से एक संग्रह के भीतर निहित होता है ।

यह UI आलेखीय या पाठ पर आधारित हो सकता है जो कि एक कमांड लाइन पर होता है जैसे कि यूनिक्स शेल (जैसे bash)। ग्राफिकल इंस्टॉलर के मामले में, सबसे अधिक बार एक तथाकथित इंस्टॉलेशन-बूटस्ट्रैपर का उपयोग किया जाता है, बाद के मामले में, इंस्टॉलेशन स्क्रिप्ट जो बैश-स्क्रिप्ट, माइक्रोसॉफ्ट बैच स्क्रिप्ट या अन्य कोई स्क्रिप्टिंग भाषा हो सकती है जो कमांड लाइन पर चलती है।

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

जटिल सॉफ़्टवेयर के लिए , संपूर्ण सॉफ़्टवेयर प्लेटफ़ॉर्म और अंतर्निहित ऑपरेटिंग सिस्टम इंफ्रास्ट्रक्चर के साथ तंग एकीकरण वांछनीय हो सकता है, उदाहरण के लिए किसी सॉफ़्टवेयर उत्पाद के कॉपीराइट को लागू करना।

विंडोज पर कई इंस्टॉलर एक /eया /extractध्वज प्रदान करते हैं । जैसे setup.exe /eइसकी स्थापना स्क्रिप्ट चलाने संस्थापक के बिना संग्रह की सामग्री की निकासी की अनुमति के लिए। मुझे हाल ही में ऐसा करने की जरूरत है

पोर्टेबिलिटी की ओर

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

( मुझे नहीं पता कि कुल मिलाकर मैंने इंस्टालर्स पर कितना समय बिताया है, लेकिन यह निश्चित रूप से दिनों के क्रम पर है। )

टास्क इंस्टॉलर संभाल सकता है, हैं:

  • अनपैकिंग (अक्सर विदेशी, उच्च संपीड़न अभिलेखागार का उपयोग करके)
  • सिस्टम हार्डवेयर आवश्यकताओं को सुनिश्चित करना
  • पर्याप्त हार्ड-डिस्क स्थान सुनिश्चित करना
  • सॉफ्टवेयर प्लेटफॉर्म रनटाइम आवश्यकताओं को सुनिश्चित करना (जैसे 'पुनर्वितरण')
  • नए सॉफ्टवेयर अपडेट के लिए जाँच
  • दूरस्थ रिपॉजिटरी से सॉफ्टवेयर डाउनलोड करना
  • प्रोग्राम फ़ाइलों और फ़ोल्डरों को बनाना और / या अपडेट करना
  • कॉन्फ़िगरेशन फ़ाइलें, रजिस्ट्री प्रविष्टियाँ या पर्यावरण चर बनाएँ
  • सोफवेयर ड्राइवर, माउंट या अनमाउंट डिवाइस स्थापित करें
  • स्थापना चरणों की व्याख्या करके, लिंक, शॉर्टकट बनाकर, हर रोज़ उपयोगकर्ताओं के लिए पहुंच में वृद्धि
  • बुकमार्क, आदि के माध्यम से खुद के सोफवेयर को बढ़ावा देना ...
  • स्थापना के दौरान सॉफ़्टवेयर के कीपॉइंट्स को स्लाइड करके स्लाइड द्वारा उपयोगकर्ता को वास्तव में सॉफ़्टवेयर के लिए प्रोत्साहन बनाएँ
  • सॉफ़्टवेयर-बंडलिंग के माध्यम से अतिरिक्त आय बनाएँ
  • कर्नेल-मॉड्यूल कॉन्फ़िगर करें और स्वचालित रूप से चलने वाले घटक (जैसे डेमॉन, विंडोज़-सेवाएं)
  • सोफ़वेयर का स्वचालित पैचिंग
  • फ़ोल्डर, फ़ाइल और उपयोगकर्ता अनुमतियाँ सेट करना
  • किसी विशिष्ट इंस्टॉलेशन-इंस्टेंस के लिए सॉफ़्टवेयर को बनाने के लिए GUIDs बनाना और उदाहरण के लिए, पोर्टेबिलिटी को रोकना

... यदि आप अन्य बिंदुओं के बारे में सोच सकते हैं, तो मुझे बताएं और मैं उन्हें शामिल करूंगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.