मैं इस स्थिति में क्या सामान्य है के लिए एक सामान्य समझ बनाने की कोशिश कर रहा हूं ताकि मैं यह तय कर सकूं कि क्या इसे आगे बढ़ाने के लिए समझ में आता है।
- क्या इंस्टॉलर निम्नलिखित के साथ एक विशिष्ट कॉर्पोरेट वातावरण में स्वागत करते हैं?
- नियंत्रण प्रक्रिया बदलें
- देव / क्यूए / उत्पादन वातावरण
- विभिन्न क्षेत्रों (फ़ायरवॉल, डेटाबेस, विंडोज़, आदि) के लिए नामित तैनाती टीमें।
- क्या एक "लिटमस टेस्ट" है जिसे एक एप्लिकेशन पर लागू किया जा सकता है यह देखने के लिए कि क्या यह एक इंस्टॉलर बनाने के लिए एक अच्छा उम्मीदवार है? *
- क्या इंस्टॉलर काफी सरल हैं कि हर एप्लिकेशन में एक होना चाहिए?
- क्या इंस्टॉलर भी सही उपकरण हैं?
- क्या यह उचित है कि डेवलपर्स को इंस्टॉलरों का समर्थन करने के लिए वाईएक्स जैसे कुछ सीखने की उम्मीद है?
- सामान्य रूप से स्थिरता एक चिंता का विषय है, एक इंस्टॉलर एक आला कौशल बना रहा है?
*
उदाहरण के लिए, मेरे पास winform अनुप्रयोगों का एक सेट है जो एक उत्पादन सर्वर पर एक साझा निर्देशिका में हैं। विशिष्ट समूह इस निर्देशिका से एप्लिकेशन चला सकते हैं लेकिन केवल सिस्टम व्यवस्थापक ही निष्पादन योग्य को संशोधित कर सकते हैं। वर्तमान परिनियोजन प्रक्रिया में एक व्यवस्थापक कॉपी और निष्पादन निर्देशिका और लाइब्रेरीज़ को साझा निर्देशिका में कॉपी / पेस्ट करना शामिल है।
चूंकि एप्लिकेशन व्यक्तिगत उपयोगकर्ताओं की मशीन पर इंस्टॉल नहीं किए जाते हैं, क्या इन अनुप्रयोगों के नए संस्करणों को साझा निर्देशिका में तैनात करने के लिए एक इंस्टॉलर बनाने के लिए समझ में आता है?
Edit--
मुझे लगा कि यहाँ के जवाबों ने कुछ ठोस सलाह दी है, इसलिए मैं अपनी वर्तमान परियोजना के लिए जो कुछ भी करना चाहता था उसे साझा करना चाहता था जहाँ मुझे बड़ी संख्या में अनुप्रयोगों का निर्माण करने और उन्हें व्यक्तिगत फ़ोल्डर में तैनात करने की आवश्यकता थी।
मुझे _PublishedApplications नामक एक NuGet पैकेज मिला है जो वेब परियोजनाओं के लिए _PublishedWebsites के व्यवहार की नकल करता है। विचार यह है कि आप अपनी परियोजनाओं के लिए NuGet पैकेज स्थापित करते हैं और यह एक लक्ष्य जोड़ता है जो बिल्ड कलाकृतियों को आउटपुट पथ में _PublishedApplications निर्देशिका में कॉपी करेगा। कमांड लाइन से MSBuild चलाकर और एक outdir
संपत्ति निर्दिष्ट करके इस व्यवहार को सक्रिय किया जाता है:
msbuild /p:Configuration=Release /p:outdir=C:\path\to\outdir MySolution.sln
यह आपको निम्नलिखित के समान एक निर्देशिका संरचना देगा:
- C: \ पथ \ के लिए \ OutDir
- _PublishedApplications \
- प्रोजेक्ट 1\
dlls, exes, etc.
- Project2 \
...
- प्रोजेक्ट 1\
- _PublishedApplications \
वहां से, विभिन्न वातावरणों में निकाले जा सकने वाले जिप का निर्माण काफी दर्द रहित होता है।
.msi
इंस्टॉलर प्रदान कर सकते हैं ? वे, कम से कम, कम से कम दर्द से पूरी तरह से स्वचालित हो सकते हैं। (सामयिक उपयोगकर्ता के लिए अभी भी समझ में नहीं आता है कि अपने स्वयं के अपडेट करने की आवश्यकता है)