2011-08-17 6 views
6

मेरे पास एक इंस्टॉलर है जिसे मैं एक स्क्रिप्ट से चलाने के लिए चाहता हूं। इंस्टॉलर यूएसी उन्नयन का अनुरोध करता है लेकिन इसे ऊंचाई की आवश्यकता नहीं है क्योंकि मैं उपयोगकर्ता निर्देशिका में स्थापित कर रहा हूं। क्या इंस्टॉलर को चलाने का कोई तरीका है ताकि वह यूएसी ऊंचाई का अनुरोध न करे?क्या मैं निष्पादन योग्य यूएसी ऊंचाई का अनुरोध करने से रोक सकता हूं?

स्क्रिप्ट पाइथन में लिखा गया है, इसलिए मैं विंडोज एपीआई को ctypes के माध्यम से एक्सेस कर सकता हूं।

इंस्टॉलर बदलना एक विकल्प नहीं है।

+0

यह इंस्टॉलर क्या है? यह एक डुप्लिकेट हो सकता है: http://stackoverflow.com/questions/252871/make-uac-optional-in-windows-installer-on-vista –

+0

@ जॉन यह इनो सेटअप द्वारा बनाई गई एक exe है। –

+2

[यह सुपरसियर प्रश्न] (http://superuser.com/questions/24631/prevent-elevation-uac-for-an-plplication-that-doesnt-need-it) प्रासंगिकता प्रतीत होता है। –

उत्तर

4

आप RunAsInvoker को enviromnet चर __compat_layer अपनी प्रक्रिया के लिए सेट करना होगा। फिर आप किसी भी यूएसी प्रॉम्प्ट के बिना निष्पादन योग्य चला सकते हैं।

आप इस उद्देश्य के लिए विंडोज एपीआई फ़ंक्शन SetEnvironmentVariable का उपयोग कर सकते हैं।

+0

नॉरबर्ट, क्या आप मुझे एक पक्ष कर सकते हैं और मेरे प्रश्न का उत्तर दे सकते हैं: http://stackoverflow.com/questions/7004310/bypassing-elevation-when-launching-a-new-process सिस्टम शिकायत कर रहा है क्योंकि मैं हेवन एक उत्तर स्वीकार नहीं किया :-) –

+0

मैंने आपके प्रश्न का उत्तर दिया। –

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