يتطلب التطبيق المترجم حديثًا UAC/الارتفاع؟
-
27-09-2019 - |
سؤال
لديّ نظام ، لقد قمت بإعداده كالمعتاد مع UAC ، وفي بيئة Delphi الخاصة بي ، أقوم بتجميع مشروعي المسماة ka.exe ، أقوم بإنشاء مشروع InstallShield لذلك.
الإعداد وكل شيء يكمل موافق! ولكن كلما بدأت برنامجي ، فإنه يتطلب الارتفاع وليس لدي أي فكرة عن سبب.
فقط للتأكد من أن InstallShield لا يلعب Mindgames علي ، قمت بتجميع .exe جديد ، ونسخه يدويًا إلى جهاز الكمبيوتر الخاص بي الشبكي.
يبدو الرمز كما هو ، كما أنه يحتوي على درع UAC عليه.
يحتوي مشروعي على بعض الوظائف الموجودة في الداخل والتي قد تتحدث مع اسم مشترك على شبكة ، والتحدث مع قاعدة بيانات SQL ...
فلماذا يحتاج تطبيقي إلى الارتفاع؟
المحلول
أولاً ، إذا كنت قادرًا على Delphi ، فأضف بيانًا مضمنًا مع asInvoker
. إذا لم تتمكن من ذلك ، فقم بإجراء خارجي ووضعه في نفس المجلد مثل EXE. إذا اختفى الدرع ، عظيم.
إذا لم يكن الأمر كذلك ، فإن الأمور تصبح أكثر هدوءًا. في بعض الأحيان عندما تقوم بتشغيل تطبيق ، يأتي Windows بعد ذلك ويقول "ربما لم ينجح ذلك ؛ هل ترغب في المحاولة مرة أخرى مع الإعدادات الموصى بها؟". إذا قلت موافق ، فهناك سياسة جماعية مخزنة ترفع هذا التطبيق لبقية الوقت. يبدو أنه إذا قمت بإعادة تسمية EXE ، يتوقف تأثير سياسة المجموعة. يمكنك تجربة ذلك.
نصائح أخرى
حتى إذا كان اسم الملف لا يحتوي على سلسلة "الإعداد" أو "تثبيت" ، فقد يعتقد Windows أنه يحتاج إلى ارتفاع إذا كانت موارد الإصدارينفو تتضمن هذه النصوص.
تحقق من إصدار VersionInfo ، حاول تنظيف أي سلسلة مشبوهة ، حيث أعتقد أن Windows يتحقق من المزيد من النصوص (مثل النصوص غير الإنجليزية).
على Windows Vista وبعد ذلك ، عندما تم تمكين UAC ، لا يزال المسؤولون لا يتمتعون بحقوق كاملة كما رأينا في Windows XP وأسفل. إذا كان برنامجك يحاول القيام بواحدة من المهام الإدارية (على سبيل المثال طلبات في المواقع المحمية للنظام ؛ كتابة البيانات إلى مواقع محمية مثل ٪ Programfiles ، و Windows Directory ، Hekey_Local_Machine ؛ وغيرها الكثير) ، يحتاج برنامجك إلى طلب الارتفاع لتقديم واجهة المستخدم الموافقة مطالبة بالظهور والتي تحتاج إلى موافقة من قبل المسؤولين.
ستحصل على بعض معلومات التفاصيل هنا