سؤال

لديّ نظام ، لقد قمت بإعداده كالمعتاد مع 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 ؛ وغيرها الكثير) ، يحتاج برنامجك إلى طلب الارتفاع لتقديم واجهة المستخدم الموافقة مطالبة بالظهور والتي تحتاج إلى موافقة من قبل المسؤولين.

ستحصل على بعض معلومات التفاصيل هنا

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top