एक आवेदन के लिए उन्नयन (UAC) को रोकें जिसकी उसे आवश्यकता नहीं है [डुप्लिकेट]


34

इस सवाल का पहले से ही यहाँ एक जवाब है:

विस्टा 32bit से विंडोज 7 64 बिट पर हाल ही में माइग्रेट होने के बाद, मेरे कार्यक्रमों में से एक को अब व्यवस्थापक अधिकारों की आवश्यकता है।

मैं एक बल्कि विदेशी पाठ संपादक (क्रिमसन संपादक) का उपयोग करता हूं। हालांकि Vist / Win7 के लिए डिज़ाइन नहीं किया गया है लेकिन इसने विस्टा के साथ अच्छा काम किया है। लेकिन विंडोज 7 के तहत, प्रोग्राम निष्पादन योग्य इस UAC कवच को अपने आइकन में जोड़ा जाता है (भले ही संगतता टैब में "व्यवस्थापक के रूप में चलाएं" ध्वज सेट नहीं है) और जब भी मैं इसे चलाता हूं तो ऊंचाई के लिए संकेत देता है।

Win7 कैसे निर्धारित करता है कि इस नोटपैड जैसे एप्लिकेशन को व्यवस्थापक अधिकारों की आवश्यकता है? मैं इस झूठे विधर्मी को कैसे रोक सकता हूं?

जवाबों:


22

नहीं, कारण क्रिमसन संपादक ऐसा नहीं है क्योंकि यह अहस्ताक्षरित है। (और यह Win7 के लिए नया नहीं है)। ऐसा इसलिए है क्योंकि एप्लिकेशन मेनिफ़ेस्ट, जो संकलन-समय पर एम्बेडेड है, निर्दिष्ट करता है requestedPrivilegeLevel="highestLevel"

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

लंबे समय से तय क्रिमसन संपादक डेवलपर्स के लिए अपने आवेदन प्रकट को सही करने के लिए होगा। उन्हें स्थापित करने के दौरान शेल संदर्भ मेनू में खुद को जोड़ना चाहिए, या कम से कम उपयोगकर्ताओं को यह बताना होगा कि उन्हें मैन्युअल रूप से ऐप को उन्नत करना होगा (जो कि करना आसान है) इसके लिए आवश्यक होने के बजाय।

requestedPrivilegeLevel="highestLevel"अपने मैनिफ़ेस्ट ( एप्लिकेशन मैनिफ़ेस्ट देखने के लिए मैनिफ़ेस्ट व्यू का उपयोग करें ) वाले सभी ऐप्स के लिए, आप RunAsInvoker फिक्स के साथ एप्लिकेशन को शिम करने के लिए Microsoft के अनुप्रयोग संगतता टूलकिट का उपयोग कर सकते हैं , जो ऐप को आपके मानक उपयोगकर्ता टोकन के साथ चलने के लिए मजबूर करता है।

अनुप्रयोग संगतता टूलकिट का उपयोग कैसे करें के बारे में अधिक जानकारी के लिए, इस पोस्ट को क्रिमसन संपादक या सामान्य निर्देशों पर लागू करने के बारे में देखें ।


1
वैकल्पिक रूप से आप कमांड लाइन mt.exe टूल का उपयोग करके मौजूदा मैनिफ़ेस्ट को बदल सकते हैं जिसे आप विज़ुअल स्टूडियो एक्सप्रेस के साथ मुफ़्त प्राप्त कर सकते हैं (यदि आप इस समस्या को बहुत मारते हैं तो इसके लायक हैं)। ध्यान दें कि एम्बेडेड प्रकट होने की जगह .exe फ़ाइल बदल जाएगी) क) सुनिश्चित करें कि आपके पास इसकी एक प्रतिलिपि है यदि आप चीजों को तोड़ते हैं और ख) यदि यह हस्ताक्षरित था तो आप हस्ताक्षर तोड़ देंगे (लेकिन यह इस मामले में लगता है कि आपके पास है पहले से ही निर्धारित है कि यह वैसे भी अहस्ताक्षरित है)।
एडम नोव

The.d.stro, आप एक लाइफसेवर हैं, यह बहुत अच्छा काम कर रहा है।
फलोपी

1
+1 के लिए "उनके आवेदन को ठीक करें " और उनके लिए अपनी बग्स को ठीक करने के लिए AppCompat टूलकिट का उपयोग करना।
इयान बोयड

13

मैंने पाया कि मेरे पास दो आवेदन थे जिनमें यह समस्या थी। एक का फ़ाइल नाम में 'अपडेट' था और दूसरे का 'फाइल डिक्लेरेशन' में 'अपडेट' था। मैंने केवल इन दो एप्लिकेशन से 'अपडेट' शब्द को हटा दिया और कोई और UAC चेतावनी नहीं दी। मुझे 'हाउ यूएसी वर्क्स' के तहत जानकारी मिली - 'इंस्टॉलर डिटेक्शन':

http://msdn.microsoft.com/en-us/library/aa905330.aspx

जो निम्नलिखित बताता है:

इंस्टॉलर डिटेक्शन केवल इसके लिए लागू होता है:

  • 32 बिट निष्पादन योग्य
  • एक RequestExecutionLevel के बिना आवेदन
  • यूएसी सक्षम के साथ एक मानक उपयोगकर्ता के रूप में चलने वाली इंटरएक्टिव प्रक्रियाएं

32 बिट प्रक्रिया बनने से पहले, यह इंस्टॉलर है या नहीं यह निर्धारित करने के लिए निम्न विशेषताओं की जाँच की जाती है:

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

  • नोट: बाइट्स के कीवर्ड और अनुक्रम विभिन्न इंस्टॉलर प्रौद्योगिकियों से देखे गए सामान्य विशेषताओं से प्राप्त किए गए थे।


7

यदि आपके पास विजुअल स्टूडियो है तो आप निम्नलिखित कार्य कर सकते हैं:

  1. प्रशासक के रूप में विजुअल स्टूडियो खोलें।
  2. फ़ाइल खोलने के लिए Ctrl-O दबाएँ
  3. उस फ़ोल्डर में ब्राउज़ करें जहां क्रिमसन संपादक है और cedt.exe खोलें
  4. फ़ाइल को संसाधन संपादक का उपयोग करके खोला गया है और आपको RT_MANIFEST नाम की एक शाखा के साथ एक पेड़ दिखाई देगा, इसे विस्तारित करें और "1 [अंग्रेजी संयुक्त राज्य] नामक एकल बच्चे के प्रवेश पर डबल-क्लिक करें।"
  5. दाहिने कॉलम में नीचे की ओर लगभग तीन तिमाहियों में आपने अनुरोध किया होगा ExLionionLevel स्तर = "उच्चतम उपलब्ध", "उच्चतमअवधि" को "asInvoker" में बदल दें (NB संपादक डिफ़ॉल्ट रूप से ओवर-टाइप मोड में खुलता है।
  6. फ़ाइल सहेजें और आपका काम हो गया।

HTH

Kevan


4

हेयूरिस्टिक्स के बारे में कुछ जानकारी यहाँ है: http://msdn.microsoft.com/en-us/library/aa9053.nx

एक प्रकटन इन चीजों में से कुछ को नियंत्रित करने में मदद कर सकता है।


MSDN मैनिफ़ेस्ट को "एम्बेड" करने की बात करता है। कार्यक्रम को संकलित करते समय ऐसा नहीं किया गया है? क्या मुझे क्रिमसन एडिटर को खुद को संकलित करना है ताकि वहां इस तरह की अभिव्यक्ति मिल सके?
सीलसून

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