2010-03-10 19 views
7

से एक सामान्य उपयोगकर्ता के रूप में एक प्रोग्राम लॉन्च करने के लिए कैसे मैं एक एनएसआईएस इंस्टॉलर लिख रहा हूं और सेटअप प्रोग्राम विंडोज 7/विस्टा पर आवश्यकतानुसार "व्यवस्थापक के रूप में" बढ़ाता है। मुझे इंस्टॉल के अंत में स्थापित प्रोग्राम चलाने की आवश्यकता है और इंस्टॉलर के समान विशेषाधिकारों के साथ इसे लॉन्च नहीं करना चाहते हैं।एक यूएसी उन्नत इंस्टॉलर

नियमित एनएसआईएस निष्पादन आदेश बाल प्रक्रिया को इंस्टॉलर के समान अनुमतियों के साथ चलाते हैं।

एनएसआईएस के लिए एक यूएसी प्लगइन है, लेकिन इस पर प्रलेखन बहुत अच्छा नहीं है और ऐसा लगता है v। नया; मैं उस प्लगइन का उपयोग नहीं करना पसंद करूंगा।

आदर्श रूप से, मैं एक छोटा सा खोज रहा हूं .exe मैं इसमें शामिल कर सकता हूं जो यूएसी ऊंचाई के बिना लक्षित कार्यक्रम लॉन्च करेगा। क्या यह अस्तित्व में है?

कोई अन्य सुझाव?

धन्यवाद!

उत्तर

4

आप केवल दो विकल्प हैं:

  • सही का निशान हटाएँ और रन करें चेकबॉक्स को निकाल (जब पर NT6 + चल)
  • उपयोग यूएसी प्लगइन (ऐसा नहीं है कि कोई नई बात नहीं है, लेकिन यह लिए एक दर्द है उपयोग करें, इसलिए मैं सुझाव दूंगा कि आप पहले विकल्प के लिए जाएं)

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

+2

विकल्प 1 वह है जिसे हमने चुना था लेकिन यह "आदर्श" नहीं है। क्या माइक्रोसॉफ्ट ने "डी-एलिवेटेड" प्रक्रिया को चलाने के लिए असंभव बना दिया है? ऐसा लगता है कि इसके लिए एपीआई नहीं है। मैं एनएसआईएस के लिए नया हूं और इसे बहुत अच्छी तरह से नहीं जानता इसलिए मैं पूरी तरह से सुनिश्चित नहीं हूं कि कैसे यूएसी MultiUser.nsh स्क्रिप्ट के साथ बातचीत करेगा। तो, यह एक और जटिलता है जिसे मैं सौदा नहीं करना चाहता। –

+3

@ केजेड: हां, एक ऊंचे से एक अपरिवर्तित प्रक्रिया को लॉन्च करना असंभव है। एकमात्र कामकाज एक ऊंचा प्रक्रिया के साथ शुरू करना है, इसे अपनी उन्नत प्रक्रिया शुरू करनी है, और उन्नत प्रक्रिया को वापस गैर- जब आप कुछ लॉन्च करना चाहते हैं तो ऊंचा हो गया। यही यूएसी प्लगइन करता है। मैं बिना किसी समस्या के कई महीनों तक इसका उपयोग कर रहा हूं। –

+0

ठीक है, तो विकल्प 1 और 2 पर वापस। मुझे लगता है कि मैं एकीकृत करने के लिए चारों ओर मिल जाऊंगा बाद में निर्माण के लिए यूएसी प्लगइन। मदद के लिए धन्यवाद! –

0

मैंने पाया निम्नलिखित है, जो आ सरल कमांड लाइन उपयोगिता में wrappered जा सकता है:

http://brandonlive.com/2008/04/27/getting-the-shell-to-run-an-application-for-you-part-2-how/

यह केवल कि कोड के लिए काम पाने के लिए एक घंटे के बारे में ले लिया मेरी प्रोजेक्ट, और यह अब तक बेकार ढंग से काम करता है। ;)

+0

और यदि उपयोगकर्ता इंस्टॉलर (रनए/माध्यमिक लॉगऑन) चला रहा है तो लॉगिन उपयोगकर्ता/एक्सप्लोरर खोल के समान नहीं है? सभी मामलों में काम करने के लिए बस कोई रास्ता नहीं है! – Anders

+0

ओह क्यों ऐसा करने के लिए एमएस ने सीधी विधि नहीं दी ?! विचित्र! चूंकि यह सामान्य मामले में काम करेगा (अंतिम उपयोगकर्ता हमारे इंस्टॉलर को उन्नत विशेषाधिकार मोड में चला रहा है), यह हमारे लिए काम करेगा। लेकिन, श्वास ... – Mordachai

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