2010-08-05 12 views
8

से निपटने में सक्षम हैं यदि आप D2010 में एक प्रोग्राम संकलित करते हैं तो एक manifest.res फ़ाइल स्वचालित रूप से जेनरेट की जाती है। क्या यह डिफ़ॉल्ट रूप से आपके प्रोग्राम में शामिल है? या आपको इसे स्वयं शामिल करना होगा? यदि हां, तो आपको किस स्तर का निजीकरण दिया गया है? मेरा प्रोग्राम एक रजिस्टर कुंजी को संशोधित करता है, क्या यह .res फ़ाइल में किसी भी संशोधन के साथ ऐसा करने में सक्षम होगा? अगर मुझे कोई संशोधन करने की आवश्यकता नहीं है?
एक साइड प्रश्न: क्या कोई घटक/विशेषज्ञ (प्रीफैक्सेबल फ्री) है जो मेरी डेल्फी 7 और डेल्फी 2007 परियोजनाओं में स्वचालित रूप से डेल्फी 2010 की तरह .res फ़ाइल उत्पन्न/शामिल कर सकता है?
संपादित: मैं निम्नलिखित this tutorial सिर्फ मामले में एक मैनिफ़ेस्ट फ़ाइल लेकिन ट्यूटोरियल केवल Windows Vista के बारे में और नहीं 7 वार्ता में शामिल हैं: मैं Win7 या विस्टा की जरूरत नहीं है और न ही मैं कभी इस्तेमाल किया है उन्हें
EDIT2 उल्लेख करना भूल गया क्या इस ट्यूटोरियल में .xml (manifest) फ़ाइल Win7 UAC से भी निपटने में सक्षम है,
एडिट 3 अगर मैं अपनी खुद की मेनिफेस्ट फ़ाइल शामिल करता हूं और डेल्फी डिफ़ॉल्ट रूप से इसे भी शामिल करता है तो यह 2 मेनिफेस्ट फाइलें (1 व्यवस्थापक प्रीविलेज और बिना 2 के) क्या इससे कोई समस्या/अप्रत्याशित व्यवहारडेल्फी 2010 प्रोग्राम विस्टा/win7 यूएसी को डिफ़ॉल्ट रूप से

+1

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

+0

@rob kennedy: स्थिति वह नहीं है जो आपको लगता है कि वास्तव में मुझे इंटर्नशिप ऑफ़र मिला है, मेरा पहला साक्षात्कार अच्छी तरह से चला गया लेकिन उन्होंने मुझे एक डेमो प्रोग्राम सबमिट करने के लिए कहा जो उन्होंने मांगी थी, यह है कि मेरा कार्यक्रम हर किसी को चलाने में सक्षम होना चाहिए टाइम विंडो विंडोज़ स्टार्टअप पर इसे शुरू करने के लिए 'सॉफ़्टवेयर \ माइक्रोसॉफ्ट \ विंडोज \ CurrentVersion \ Run' को संशोधित करने के लिए मेरा समाधान शुरू करना है, मुझे डर है कि अगर वे सामान्य उपयोगकर्ता खाते के तहत windows7 पर इसका परीक्षण करते हैं तो मेरा सॉफ़्टवेयर विफल हो जाएगा :( –

+0

यदि आप ** 'HKey_Current_User' ** में उस रजिस्ट्री सेटिंग को संशोधित करते हैं, आपको कोई समस्या नहीं होनी चाहिए। या यदि आप स्टार्ट मेनू के स्टार्टअप फ़ोल्डर में अपने प्रोग्राम में शॉर्टकट डालते हैं, तो उसे भी काम करना चाहिए। मुझे लगता है कि यह होगा यदि आपके शेष कर्तव्यों की आवश्यकता नहीं है तो आपके कार्यक्रम के लिए व्यवस्थापक विशेषाधिकारों की आवश्यकता के लिए * बदतर * हो। इसके अलावा, मुझे यकीन है कि आप उन्हें बता सकते हैं कि जब आप अपना प्रोग्राम सबमिट करते हैं तो आपके पास Windows तक पहुंच नहीं है 7 और इसलिए आप वहां इसका परीक्षण नहीं कर सके; वह ' एक छात्र के लिए पूरी तरह से समझने योग्य स्थिति है। वे इसके बजाय विंडोज एक्सपी पर परीक्षण करेंगे। –

उत्तर

8

डेल्फी द्वारा उत्पन्न मेनिफेस्ट आपकी प्रक्रिया को सबसे कम विशेषाधिकार देता है (जो कि वैसे डिफ़ॉल्ट है)।

प्रशासनिक अधिकारों (कॉलेड एलिवेशन) के तहत चलाने की अनुमति के लिए आपको ASK पर मेनिफेस्ट फ़ाइल को संशोधित करना होगा।

मानक विशेषाधिकारों के साथ आपका आवेदन HKEY_CURRENT_USER पर ऊंचाई के बिना पढ़ना/लिखना चाहिए।

%programfiles% और HKEY_LOCAL_MACHINE तक पहुंच की आवश्यकता है। (अन्य रजिस्ट्री हाइव्स के बारे में इतना निश्चित नहीं है)

यह एक पीडीएफ है जो आपको जो कुछ भी कर रहा है उसके साथ बहुत मदद करेगा।

http://pascalfonteneau.developpez.com/articles/delphi/vista/uac/VistaUACandDelphi.pdf

+0

धन्यवाद XP, विस्टा पर रन और आल्डो चाहिए, यही कारण है कि यह भी सात के लिए काम करेंगे मेरी EDIT2 –

+0

देखना , हाँ। – zz1433

+0

धन्यवाद फिर से, अब कृपया edit3 देखने :-) –

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