2013-04-18 7 views
10

मेरे पास एक इंस्टॉलर (इनो-सेटअप) है जो मेरे एप्लिकेशन को उपयोगकर्ता द्वारा परिभाषित पथ पर स्थापित करता है। इंस्टॉल दिनचर्या के अंत में मैं एक शॉर्टकट बनाना चाहता हूं जो व्यवस्थापक विशेषाधिकारों के साथ एप्लिकेशन शुरू करता है। समाधान WinXP से Win7 तक सभी जीत संस्करण पर काम करना चाहिए।

यह प्राप्त करने के लिए मैं क्या कर सकता हूं?

मुझे पता है कि यह possible with a batch script, that executes a nasty vb-script है। नुकसान यह है कि cmd-window popup और यह केवल Win7 पर काम करता है मुझे लगता है।

मैंने हाइपरलिंक बनाने के लिए mklink कमांड का भी प्रयास किया, लेकिन यह काम नहीं करता है क्योंकि व्यवस्थापक को निजीकृत करने वाले तर्क को पार करना संभव नहीं है।cmd-line से व्यवस्थापकीय विशेषाधिकारों के साथ ऐप लॉन्च करने के लिए शॉर्टकट कैसे बनाएं?

+0

कमांड लाइन से पहले 'runas' जोड़ें। – TLama

+0

आप हाइपरलिंक कहां बनाना चाहते हैं? इनो मानक Win32 नियंत्रण का उपयोग करता है जिसके लिए देशी विधि एक बटन है, या अंतिम पृष्ठ पर एक चेक बॉक्स है। या आप एक शॉर्टकट बनाना चाहते हैं जिसे उपयोगकर्ता बाद में चला सकता है? – Deanna

+0

@TLama 'runas/user: admin' cmd-line पर एक पासवर्ड संकेत देता है कि उपयोगकर्ता को संवाद संकेत नहीं मिलना चाहिए – Chriss

उत्तर

13

आप एक रजिस्ट्री कुंजी है कि विंडोज़ बताता व्यवस्थापक के रूप में अपने कार्यक्रम पर अमल करने जोड़ सकते हैं। जब आप अपना एक्सई लॉन्च करते हैं, तो आपको व्यवस्थापक-पहुंच के लिए संकेत दिया जाएगा।

इसके साथ, आप बस अपने निष्पादन योग्य के लिए एक सामान्य शॉर्टकट बना सकते हैं जैसे आप इनो-सेटअप के साथ ऐसा करेंगे।

आप एक cmd या एक बैच फ़ाइल के माध्यम से ऐसा करना चाहते हैं, तो आप निम्न आदेश का उपयोग कर सकते हैं:

reg add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "<Path to your exe>" /t REG_SZ /d RUNASADMIN 
+0

लेकिन बैच-फ़ाइल का उपयोग करके ऐसा कैसे करें? क्या आप नमूना प्रदान कर सकते हैं? – Chriss

+0

@ क्रिसिस: अद्यतन पोस्ट देखें। – looper

+0

अच्छा और आसान! यह इसे Win7 पर बांध दिया और यह काम करता है। मैं इसे इंस्टॉलर स्क्रिप्ट के अंत में जोड़ दूंगा और किया! प्रत्येक बार जब उपयोगकर्ता ऐप शुरू करता है तो ऐप अनुमति संवाद दिखाता है। – Chriss

1

"व्यवस्थापक के रूप में चलाएं" निष्पादन योग्य की संपत्ति है, शॉर्टकट नहीं। आपको required manifest जोड़ना चाहिए जो उन्नयन के लिए विंडोज प्रॉम्प्ट बनाता है।

Windows XP पर ऐसा करने के लिए, आप एक अन्य उपयोगकर्ता के रूप में चलाने के लिए ShellExecute() साथ runas क्रिया का उपयोग करने की आवश्यकता होगी, लेकिन यह स्थानीय प्रोफ़ाइल तक पहुंचने के लिए किसी भी क्षमता समाप्त हो जाएगी। यह आपके exe से किया जा सकता है जब यह पाता है कि यह पूर्ण व्यवस्थापक पहुंच के साथ नहीं चल रहा है। मूल्य RUNASADMIN साथ,

HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers के तहत सिर्फ एक कुंजी (REG_SZ) जोड़ने <Path to your exe>:

+0

शब्दों को बदल दिया है समस्या यह है कि मैं exe को बदल या पुन: संकलित नहीं कर सकता, यह जावा एप्लिकेशन है, मैंने 'रनस/उपयोगकर्ता: admin' कमांड भी कोशिश की लेकिन यह एक संवाद प्रोमेट नहीं दिखाता है लेकिन कमांड लाइन पासवर्ड प्रोम – Chriss

+0

हां, एक्सपी में यूएसी या ऊंचाई की कोई अवधारणा नहीं है। यदि उपयोगकर्ता के पास व्यवस्थापकीय पहुंच नहीं है, तो आपका एकमात्र विकल्प दूसरे उपयोगकर्ता के रूप में चलाने के लिए है। – Deanna

+0

मैंने अपना जवाब भी समायोजित किया है, रनस केवल सीएलआई है, आपको 'runas' क्रिया को 'ShellExecute()' के बजाय – Deanna

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