سؤال

وايم كتابة تطبيق الذي يقوم بتحميل وتثبيت إضافات للبرامج التي تحتاج إلى حفظ البيانات إلى ملفات البرنامج (للبرامج في السؤال). الآن هذا يعمل بشكل جيد على إكس بي وفيستا مع UAC تعطيل إلا أنه فشل على ويندوز فيستا الطبيعي نظرا إلى المجلدات الافتراضية.

وكيف يمكن للمرء الحصول على حول هذا مع من يحتاجون لطلب حقوق المشرف في كل مرة يبدأ التطبيق؟

وP.s. هو مكتوب في برنامج ج ++، فيما 2005

وتحرير: المجلدات الافتراضية نظام الملفات: HTTP: //www.codeproject. كوم / KB / فيستا الأمن / MakingAppsUACAware.aspx

هل كانت مفيدة؟

المحلول 3

وأنا حصلت على نحو UAC عن طريق خدمة ويندوز التي لا عمل أحتاج ويعمل فقط في حين أن التطبيق قيد التشغيل.

نصائح أخرى

والكتابة فقط إلى ملفات البرنامج أثناء التثبيت. بعد ذلك، الكتابة إلى مجلدات المستخدم.

ويمكنك رفع الامتيازات التطبيقات في وقت لاحق، ولكن عليك فقط أن تأخير موجه. بيت القصيد من UAC هي منع التطبيقات العشوائية من الكتابة إلى المجلدات التي تتطلب امتيازات المسؤول. (طيب، وليس بيت القصيد، ولكن جزءا كبيرا منه.)

هل يمكن إنشاء خدمة مع امتيازات المسؤول وإرسال الأوامر إلى ذلك لتحريك الملفات التي تم تحميلها في الدلائل الهدف المنشود، ولكن هذا يفتح نظام المستخدم إلى التعرض للإيذاء من قبل تطبيقات أخرى إذا لم يكن لتصميم ذلك بعناية فائقة.

هذا المقال يتحدث حول الحصول على التطبيقات لتعمل بشكل جيد مع UAC . أيضا، نرى هذه المقالة هنا.

وأوصى مايكروسوفت لي عندما تحدثت إليهم لديك لكتابة التطبيق الثاني، والتي تظهر على أنها تتطلب امتيازات إدارية. يمكنك استخدام هذا التطبيق لنشر الملف من مكان آمن (مثل دليل المستخدمين programdata) إلى الدليل ملفات برنامج (لاحظ أنه إذا لم يتم توقيع DLL الخاص بك، ثم وهذا هو ثغرة أمنية ضخمة مثل فيروس / المتطفلين يمكن التلاعب الملف قبل استدعاء دالة الخاص بك).

والتطبيق غير الإداري الخاص بك يمكن أن نسمي هذا الطلب الذي سوف يؤدي UAC. والناس الذين يفهمون سوف UAC لا يهتم بسعادة وانقر فوق التطبيق الخاص بك. وأولئك الذين يكرهون ذلك وإيقاف تشغيله. الدعوة لبدء عملية جديدة (التي تتطلب امتيازات المسؤول) سوف بطرح استثناء Win32 وإذا يلغي المستخدم الحوار UAC حذار ذلك للقبض على ذلك.

والمشكلة في ويندوز فيستا هو أنه يحاول مساعدتك من خلال virtualising الخاص دليل ملفات البرنامج إذا لم تكن المشرف. حسب التصميم هناك NO الطريقة التي يمكن الكتابة إلى الدليل ملفات البرنامج إلا إذا كنت المسؤول.

وثمة خيار آخر هو خلق كل بك "تحديثات" كما التحديثات MSI. بهذه الطريقة المثبت النوافذ من شأنه أن يؤدي UAC بالنسبة لك وأنت يمكن أن توفر شعار لهذا البرنامج وما إلى ذلك.

والخيار 3 هو استخدام ClickOnce النشر والتي تسمح لك لتحديث البرنامج تلقائيا دون UAC لكن كنت تعيش في رمل على نظام المستخدمين والتي قد لا تعمل مع التصميم الحالي التطبيق الخاص بك.

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