2011-04-04 8 views
5

क्या होगा जब मैं एक ऐसा एप्लिकेशन लिखूं जिसे "प्रशासक" करने की ज़रूरत है?क्या विंडोज 7 एक संदेश पॉप अप करेगा जब किसी एप्लिकेशन को व्यवस्थापकीय विशेषाधिकारों की आवश्यकता होती है?

C:\Program Files पर फ़ाइलों को लिखने की तरह - तब, जब एप्लिकेशन ऐसा करने का प्रयास करता है, तो क्या होगा? उपयोगकर्ता को पासवर्ड के लिए पूछने के लिए एक संदेश पॉप अप किया जाएगा? क्या एक अपवाद फेंक दिया जाएगा? क्या प्रोग्राम समाप्त हो जाएगा और कंप्यूटर विस्फोट करेगा? ऊपर के सभी? :)

एक तरफ नोट: क्या विंडोज 7 उपयोगकर्ता डिफ़ॉल्ट रूप से व्यवस्थापक के रूप में लॉग इन हैं?

+0

+1 "कार्यक्रम समाप्त हो जाएगा और कंप्यूटर विस्फोट हो जाएगा"। गंभीरता से, हालांकि एक बुरा सवाल नहीं है। –

उत्तर

7

सामान्य रूप से, विंडोज विस्टा और विंडोज 7 स्वचालित रूप से यह नहीं पता लगाएगा कि आपको व्यवस्थापक अधिकारों की आवश्यकता है, और आपके एप्लिकेशन को स्वचालित रूप से ऊपर नहीं बढ़ाएगा। उन्नयन का अनुरोध करने के लिए Microsoft has some guidelines। एक मैनिफेस्ट के बिना पुराने एप्लिकेशन स्वयं को वर्चुअलाइज्ड भी मिल सकते हैं - यानी, प्रोग्राम फ़ाइलों के लिए आपका लेखन उपयोगकर्ता की प्रोफ़ाइल निर्देशिका के तहत निर्देशिका में रीडायरेक्ट किया जा सकता है।

ध्यान रखें कि आपको विशेषाधिकार प्राप्त संचालन को पूर्ण न्यूनतम तक रखना चाहिए। सुरक्षा सुधारने के लिए, यूएसी अनावश्यक प्रशासनिक पहुंच का अनुरोध करने से एप्लिकेशन डेवलपर्स को हतोत्साहित करने के लिए मौजूद है। कार्यक्रम फ़ाइलों के साथ गड़बड़ होना चाहिए केवल एक ही प्रोग्राम इंस्टॉलर हैं।

ध्यान दें कि विंडोज 7/Vista पर व्यवस्थापकीय उपयोगकर्ता बिना किसी अपग्रेड किए अपने अधिकारों का उपयोग नहीं कर सकते हैं - प्रशासक टोकन में डिफ़ॉल्ट रूप से चलने वाली प्रक्रियाओं की तुलना में integrity level अधिक है, और इस तरह तक पहुंचा नहीं जा सकता है। यदि आप ऐसा ऑपरेशन करने का प्रयास करते हैं जिसके लिए ऐसी पहुंच की आवश्यकता है, तो आपको एक एक्सेस अस्वीकार त्रुटि प्राप्त होगी; अंतर्निहित एपीआई किसी भी तरह का अपवाद नहीं फेंकेंगे, वे आम तौर पर असफल हो जाएंगे और GetLastError()ERROR_ACCESS_DENIED पर सेट करेंगे। उच्च स्तर के एपीआई, ज़ाहिर है, इसे किसी फेंकने वाले अपवाद में परिवर्तित करना या हिंसक रूप से समाप्त करना चुन सकते हैं, हालांकि बाद वाला काफी कठोर है, और किसी भी अंतर्निहित विंडोज एपीआई में होने की संभावना नहीं है।

+0

लिंक वास्तव में उपयोगी लगता है, धन्यवाद - मैं ऐप का परीक्षण करने के लिए (उम्मीद है) जा रहा हूं और यह देख सकता हूं कि यूएसी प्रोफाइल किस पर लागू होता है। और 7/विस्टा उपयोगकर्ता डिफ़ॉल्ट रूप से व्यवस्थापक के रूप में लॉग इन हैं जबकि एक पासवर्ड की आवश्यकता नहीं है? उदाहरण के लिए लिनक्स में मैं mandriva में रूट के रूप में लॉग इन कर सकता हूं और सबकुछ कर सकता हूं - जबकि डेबियन में मैं यह नहीं कर सकता हूं, भले ही मैं चाहता हूं - या तो मुझे लगता है। एक्सपी में मैं लगभग हमेशा व्यवस्थापक के रूप में लॉग इन हूं और सबकुछ कर सकता हूं। – johny

+1

नहीं 7/विस्टा में व्यवस्थापक डेबियन या उबंटू पर सूडो अधिकारों के साथ एक प्रशासनिक उपयोगकर्ता के समान है, और यूएसी सुडो ऑपरेशन के समान है। और mandriva पर रूट के रूप में लॉग इन करना बंद करो! :) – bdonlan