2010-05-06 6 views
7

मेरे पास एक ऐसा एप्लिकेशन है जो एमएसआई पैकेज (वाईएक्स में लिखा गया) के रूप में तैनात किया जाएगा।सीमित विशेषाधिकारों के साथ प्रोग्राम फ़ाइलों में स्थापित करना संभव है?

मैं यह तय कर रहा हूं कि इंस्टॉलर के लिए आवश्यक elevated या limited विशेषाधिकार निर्दिष्ट करना है या नहीं।

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

अब समस्या:

  • अगर मैं ऊंचा विशेषाधिकारों निर्दिष्ट करते हैं, तो उपयोगकर्ता यूएसी द्वारा स्थापना के दौरान व्यवस्थापक पासवर्ड के लिए संकेत है। यह आवश्यक नहीं है और गैर-व्यवस्थापक उपयोगकर्ताओं को इंस्टॉल करने से रोकता है।

  • अगर मैं सीमित विशेषाधिकार निर्दिष्ट करते हैं, तो उपयोगकर्ता एक संवाद के साथ Program Files डिफ़ॉल्ट होने के साथ स्थापना स्थान का चयन करने के प्रस्तुत किया है। यदि वे इंस्टॉल स्थान नहीं बदलते हैं (अंतिम उपयोगकर्ताओं का 9 5% शायद नहीं होगा), तो इंस्टॉलर एक संदेश के साथ विफल हो जाएगा कि उन्हें व्यवस्थापक से संपर्क करना चाहिए या एप्लिकेशन को व्यवस्थापक के रूप में चलाया जाना चाहिए। अगर वे इंस्टॉलर को व्यवस्थापक के रूप में लॉन्च करते हैं तो वे बिना किसी समस्या के प्रोग्राम प्रोग्राम में इंस्टॉल कर सकते हैं - लेकिन अधिकांश उपयोगकर्ताओं को शायद यह नहीं पता होगा कि इंस्टॉलर को व्यवस्थापक के रूप में कैसे लॉन्च किया जाए।

मैं संभावित रूप से डिफ़ॉल्ट इंस्टॉल स्थान को सेट कर सकता हूं उदा। सी: \ कंपनी का नाम \ प्रोग्राम \, लेकिन यह मेरे लिए गैर-मानक लगता है और अधिकांश उपयोगकर्ताओं को शायद यह पसंद नहीं होगा (वे शायद प्रोग्राम फ़ाइलों में स्थापित करने के लिए उपयोग किए जाते हैं)।

सीमित उपयोगकर्ता खातों के तहत एप्लिकेशन इंस्टॉल करने के साथ आप इस समस्या को कैसे हल करते हैं?

उत्तर

6

आपके द्वारा प्रस्तावित वैकल्पिक स्थान, सीधे सी ड्राइव से बाहर, उच्च विशेषाधिकारों की भी आवश्यकता है। विंडोज 7 से पहले, मैं सीमित स्थापनाओं के लिए अपना डिफ़ॉल्ट स्थान बदलने के लिए प्रारंभिक कस्टम कार्रवाई का उपयोग करने का सुझाव दूंगा। Privileged (या संभवतः AdminUser) संपत्ति से इसे हालत दें, सत्यापित करें कि आपको अपने मामले के लिए MSIUSEREALADMINDETECTION सेट करने की आवश्यकता है, और [LocalAppDataFolder]Company\Product जैसे कुछ का उपयोग करें। दुर्भाग्यवश इस दृष्टिकोण के परिणामस्वरूप एक पैकेज होगा जो सभी उपयोगकर्ताओं के लिए स्थापित करना मुश्किल है क्योंकि आपको पूर्व-उन्नयन करना होगा, और सीमित मामले में वे अभी भी एक लक्षित स्थान का चयन कर सकते हैं जिसके लिए ऊंचाई की आवश्यकता है। उन्हें पूर्व-उन्नयन करना चाहिए क्योंकि पैकेज को ऊपर उठाने के लिए चिह्नित नहीं किया जाना चाहिए।

यदि आप पूरी तरह से विंडोज 7 और बाद में लक्षित कर सकते हैं, तो आप स्थापित स्थान और ऊंचाई आवश्यकता को ओवरराइड करने के लिए सशर्त रूप से MSIINSTALLPERUSER सेट कर सकते हैं और इसके बजाय प्रति-उपयोगकर्ता इंस्टॉल कर सकते हैं। इस परिदृश्य में, उपयोगकर्ता से पूछा जा सकता है कि सभी उपयोगकर्ताओं के लिए इंस्टॉल करना है (उन्नयन की आवश्यकता है) या सिर्फ खुद के लिए। पैकेज को ऊंचाई के लिए चिह्नित किया जा सकता है, और MSIINSTALLPERUSER सेटिंग को ओवरराइड कर देगा और यूएसी प्रॉम्प्ट को छोड़ देगा।

+1

नहीं, वैकल्पिक स्थान को उच्च विशेषाधिकारों की आवश्यकता नहीं है। मैं वर्तमान में डिफ़ॉल्ट रूप से सी: \ कंपनी नाम \ उत्पाद में स्थापित कर रहा हूं और एमएसआई इंस्टॉलर सीमित विशेषाधिकारों के साथ बनाया गया है और कोई यूएसी नहीं आता है, न ही कोई त्रुटि संवाद। – Marek

+0

यह एक कस्टम वातावरण की तरह लगता है, लेकिन यह ठीक है अगर आपको पता है कि यह कहीं भी आपके उत्पाद को स्थापित किया जाएगा। बाकी का जवाब लागू होता है; केवल सीमित विशेषाधिकार स्थान सुझाव को अनदेखा करें। –

-2

व्यवस्थापक के रूप में रन कमांड प्रॉम्प्ट (cmd) चलाएं।

फिर msi फ़ाइल निष्पादित करने के लिए msiexec आदेश का उपयोग करें।

+0

मैं अंतिम उपयोगकर्ता से यह – Marek

+0

करने के लिए नहीं कह सकता हूं, आप उपयोगकर्ता से ऐसा करने के लिए कह सकते हैं ... किसी भी एस/डब्ल्यू को स्थापित करने के लिए व्यवस्थापक विशेषाधिकार होना चाहिए। तो उन्हें ऐसा करने के लिए कहने में कुछ भी गलत नहीं है। या आप उपयोगकर्ता को व्यवस्थापक क्रेडेंशियल के साथ लॉगिन करने के लिए और फिर एस/डब्ल्यू स्थापित कर सकते हैं –

3

यह संभवतः अधिक महत्वपूर्ण है कि आपका सॉफ़्टवेयर सामान्य उपयोगकर्ता विशेषाधिकारों के साथ चलता है - जो मैंने देखा है कि आपने उल्लेख किया है कोई मुद्दा नहीं है।

कुछ स्थापित करने के लिए व्यवस्थापक अधिकारों के लिए पूछने में कुछ भी गलत नहीं है।

या तो, उपयोगकर्ता के पास विवरण होंगे क्योंकि वे सुरक्षा कारणों के लिए सीमित खाता चला रहे हैं या सॉफ्टवेयर को उनकी कंपनी के आईटी विभाग द्वारा वैसे भी स्थापित किया जाएगा।

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