Vista

2008-10-12 15 views
7

में व्यवस्थापक के रूप में संकलित पायथन (py2exe) चला रहा है क्या Vista में व्यवस्थापक के रूप में प्रोग्राम किए गए पाइथन (py2exe के माध्यम से comiled) प्रोग्राम करना संभव है?Vista

कुछ और स्पष्टीकरण:
मैं एक प्रोग्राम है जो खिड़कियां मेजबान फ़ाइल को संशोधित करता है लिखा है (ग: \ Windows \ system32 \ drivers \ \ मेजबान आदि) Vista में प्रोग्राम नहीं चलेंगे और जब तक आप एक अपवाद के साथ असफल हो जायेगी राइट-क्लिक करें और व्यवस्थापक के रूप में चलाएं, भले ही उपयोगकर्ता के पास व्यवस्थापकीय विशेषाधिकार हों, XP में विपरीत जहां उपयोगकर्ता के पास प्रशासनिक अधिकार हैं, तो मुझे इसे सही विशेषाधिकारों के लिए उन्नत करने के लिए एक तरीका चाहिए।

उत्तर

5

क्या आपका मतलब है कि आप चाहते हैं कि विंडोज़ आपके प्रोग्राम को चलाने पर उन्नयन के लिए संकेत दे? यह EXE के संसाधनों में यूएसी मैनिफेस्ट जोड़कर नियंत्रित होता है। This blog entry बताता है कि मैनिफेस्ट कैसे बनाएं और इसे एक .RES फ़ाइल में कैसे संकलित करें।

मुझे नहीं पता कि py2exe को कस्टम .RES फ़ाइलों को एम्बेड करने के लिए क्या सुविधाएं हैं, इसलिए आपको अपने प्रोग्राम में मैनिफेस्ट एम्बेड करने के लिए प्लेटफ़ॉर्म एसडीके से MT.EXE टूल का उपयोग करने की आवश्यकता हो सकती है। MT.EXE को .RES फ़ाइलों की आवश्यकता नहीं है; यह सीधे .manifest फ़ाइल मर्ज कर सकते हैं।

3

रोजर लिप्सकोबे की टिप्पणी के बाद, मैंने py2exe में एक मैनिफेस्ट फ़ाइल का उपयोग किए बिना किसी भी वास्तविक ज्ञान के किसी भी वास्तविक ज्ञान के उपयोग किया है। तो यह पराक्रम काम:

# in setup.py 
# manifest copied from http://blogs.msdn.com/shawnfa/archive/2006/04/06/568563.aspx 
manifest = ''' 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
     <asmv3:trustInfo xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> 
     <asmv3:security> 
      <asmv3:requestedPrivileges> 
      <asmv3:requestedExecutionLevel 
       level="asInvoker" 
       uiAccess="false" /> 
      </asmv3:requestedPrivileges> 
     </asmv3:security> 
     </asmv3:trustInfo> 
    </assembly> 
''' 

setup(name='MyApp', 
     #... 
     windows=[ { #... 
        'other_resources':[(24, 1, manifest)], 
       }] 
    ) 

आप हालांकि कुछ नगण्य करने के लिए आवश्यकता हो सकती है ..

35

Python2x\Lib\site-packages\py2exe\samples\user_access_control से उदाहरण के बाद सिर्फ uac_info="requireAdministrator" जोड़ने सांत्वना या विंडोज़ dict के लिए:

windows = [{ 
    'script': "admin.py", 
    'uac_info': "requireAdministrator", 
},] 
+1

पवित्र बकवास , यह काम किया! बहुत बहुत धन्यवाद lvaylo, यह वही था जो मुझे अपने कार्यक्रम के लिए जरूरी था। बहुत आसान है। – rocketmonkeys

+0

क्या किसी को पता है कि मैक ओएस एक्स में अनुमति के लिए संकेत देने के लिए py2app के साथ इसके बराबर है या नहीं? – Parker

+0

यह py2exe + UAC के लिए उच्चतम रैंकिंग Google खोज होना आवश्यक है। सही जवाब – Crbreingan

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