मैं अपने एप्लिकेशन को व्यवस्थापक के रूप में चलाने के लिए कैसे कॉन्फ़िगर करूं?


9

मैंने Winrar SFX सुविधा का उपयोग करके इसके अंदर एक निष्पादन योग्य के साथ एक पैच फ़ाइल बनाई है।
SFX फ़ाइल निष्पादित करने और निष्कर्षण समाप्त होने के बाद, मेरी निष्पादन योग्य फ़ाइल कभी नहीं चलेगी क्योंकि इसमें व्यवस्थापक विशेषाधिकार नहीं हैं। मैं सोच रहा हूं कि कैसे मैं किसी प्रोग्रामिंग तरीके से (बैच फ़ाइल की तरह) उस व्यवस्थापक को उस फ़ाइल तक पहुंच प्रदान कर सकता हूं।

मुझे पता है कि मैं इसे ठीक से क्लिक कर सकता हूं, "गुण" पर जा सकता हूं, "संगतता" टैब चुन सकता हूं और फिर बॉक्स "व्यवस्थापक के रूप में निष्पादित करें" पर टिक कर दें।

समस्या यह है कि जो उपयोगकर्ता उस पैच को डाउनलोड करेंगे, उन्हें यह पता नहीं है (और मेरा एक्सई केवल तभी चलता है जब आप इसे राइट क्लिक करते हैं और "Open as एडमिनिस्ट्रेटर" चुनते हैं, दूसरे यह ना तो कभी खुलेगा और ना ही UAC पॉपअप प्रदर्शित करेगा)।

मैंने कुछ तरीकों की कोशिश की है, जैसे "एलेवेटर रनर (मुझे ऊंचा करो)", आदि, लेकिन मैं वास्तव में कुछ सरल चीजों की तलाश कर रहा हूं।
मैं सिर्फ exe हमेशा व्यवस्थापक के रूप में चलाने की जरूरत है।


2
नोट करने के लिए mods: यहाँ SO के लिए कोई माइग्रेशन आवश्यक नहीं है।
करण

जवाबों:


15

आपको जो करने की ज़रूरत है वह EXE में एक एप्लिकेशन मैनिफ़ेस्ट को एम्बेड करता है ।

  1. App.exe.manifest नामक एक पाठ फ़ाइल के रूप में निम्न सहेजें :

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
        <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
            <security>
                <requestedPrivileges>
                    <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
                </requestedPrivileges>
            </security>
        </trustInfo>
    </assembly>
    
  2. विंडोज एसडीके डाउनलोड करें।

  3. अंदर आपको mt.exe यानी मेनीफेस्ट टूल मिलेगा । इसे निम्नानुसार लागू करें:

    mt.exe -manifest "App.exe.manifest" -outputresource:"App.exe";#1
    
  4. यदि कोई त्रुटि नहीं है तो आप कर रहे हैं। आप मैनिफ़ेस्ट फ़ाइल को हटा सकते हैं और सिर्फ EXE वितरित कर सकते हैं। इसे चलाने से इसे हर बार व्यवस्थापक एक्सेस का अनुरोध करना चाहिए।

स्रोत


मैं इसका परीक्षण करूंगा। वैसे, क्या इस "मैनिफेस्ट" को थोड़ा बेहतर बनाना संभव है? व्यवस्थापक पहुँच के अनुरोध के बिना इसे प्रशासक के रूप में निष्पादित करना पसंद है? साभार
राफेल विडाल

आप इसे चुपचाप ऊपर उठाना और व्यवस्थापक पहुँच प्राप्त करना चाहते हैं? जब तक आप यूएसी को बंद नहीं करते हैं, यह संभव नहीं है, अन्यथा यूएसी की बात क्या होगी और आपको नहीं लगता कि हर मैलवेयर ऐसा कर रहा होगा?
करण

मैं आपकी बात समझता हूं, लेकिन मुझे पता है कि ऐसे तरीके हैं ... निश्चित रूप से आसान नहीं हैं, लेकिन "एलीवेट मी" प्रोग्राम की तरह हैं ... वैसे भी, एक्सई रन को व्यवस्थापक बनाना अब के लिए पर्याप्त है। वास्तव में अग्रिम धन्यवाद
राफेल विडाल

1
ऊंचाई बढ़ाने के लिए ऐसे सभी कार्यक्रमों में प्रसिद्ध टास्क शेड्यूलर ट्रिक का उपयोग किया जाता है जिसके लिए व्यवस्थापक पहुंच की आवश्यकता होती है। चूंकि आप ऐसा किसी भी मनमाने पीसी पर करना चाहते हैं, जहां आपका SFX निष्पादित होता है, आप चुपचाप मानक कार्य की सहमति के बिना निर्धारित कार्य नहीं कर सकते। वास्तव में, अगर किसी भी प्रोग्राम ने मेरे पीसी पर किया (चुपचाप यूएसी को बायपास करने के लिए एक निर्धारित कार्य करें), मैं तुरंत इसे मैलवेयर के रूप में वर्गीकृत कर दूंगा और इसे हटा दूंगा ।
करण

बहुत अच्छा करण, पूरी तरह से काम किया। मैं आपको केवल ADMIN के रूप में CMD चलाने की आवश्यकता के उत्तर में जोड़ने के लिए सुझाव दूंगा, अन्यथा यह काम नहीं करेगा ... धन्यवाद फिर से
राफेल विडाल

2

अपना संग्रह बनाते समय, प्रशासनिक पहुँच का अनुरोध करेंयहाँ छवि विवरण दर्ज करें


MDMoore313 आपके समय के लिए धन्यवाद, लेकिन मुझे लगता है कि मैंने खुद को अच्छी तरह से नहीं समझाया। मुझे SFX को व्यवस्थापक के रूप में चलाने की आवश्यकता नहीं है। मुझे व्यवस्थापक ("my_app.exe") के रूप में एक विशिष्ट फ़ाइल चलाने की आवश्यकता है, जो एसएफएक्स फ़ाइल के अंदर स्थित है। मुद्दा यह है कि उस फ़ाइल को डबल क्लिक करना, उसे चलाना नहीं होगा। इसे चलाने का एकमात्र तरीका इसे क्लिक करना है और "Run as Administrator" चुनें
राफेल विडाल

@ RafaelVidal SFX आपके आवेदन को लॉन्च करता है? यदि ऐसा है, तो आपके ऐप में व्यवस्थापक अधिकार होंगे। यदि नहीं, तो मैं अपने उत्तर को अपडेट करूंगा।
MDMoore313

नहीं, यह एप्लिकेशन लॉन्च नहीं करता है। उपयोगकर्ता को इसे मैन्युअल रूप से करना होता है, इसलिए वह "संगतता" टैब पर "रन के रूप में एडमिंसट्रेटर" बॉक्स पर टिक कर सकता है या राइट-क्लिक करें "रन ऐज़ एडमिनिस्ट्रेटर" संदर्भ मेनू
राफेल विडाल

@RafaelVidal एक ऐसा कारण है जो आप नहीं चाहते कि WinRAR को एक्सई लॉन्च करें, और सिर्फ उपयोगकर्ता ही SFX चलाएं? ऐसा लगता है कि यह एक ही लक्ष्य को पूरा करेगा और आपके व्यवस्थापक मुद्दे को हल करेगा। यदि आप अभी भी व्यवस्थापक के रूप में चलने के लिए अपने कार्यक्रम को फ़्लैग करने पर ध्यान केंद्रित कर रहे हैं, तो आपको स्टैक ओवरफ़्लो पर एक उत्तर की बेहतर संभावना होगी (प्रवास के लिए अपना प्रश्न चिह्नित करें)
MDMoore313

SFX फ़ाइल लॉन्च करता है, लेकिन उपयोगकर्ता उस फ़ाइल को बाद में स्वयं चला सकते हैं और फिर उसके बाद इसे चलाने के लिए कोई SFX नहीं होगा। इसलिए, निर्वासन को "व्यवस्थापक के रूप में चलाने" के रूप में चिह्नित किया जाना चाहिए
राफेल विडाल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.