سؤال

فقط أبحث عن بعض المؤشر قبل أن أتجه إلى الطريق الخطأ.كنت قد كتبت صغيرة C# وحدة التحكم التطبيق الذي يفتح, يقرأ, يكتب ويحذف من المستخدمين التسجيل تحت كل HKEY_LOCAL_MACHINE HKEY_CURRENT_USER

بالطبع, أنا حصلت على العمل على جهاز الكمبيوتر و كل اختبار الكمبيوتر ولكن واحد من عملائنا هو الحصول على رسالة خطأ عند محاولة تشغيل .exe

النظام.الأمن.SecurityException:طلب الحصول على إذن من النوع 'System.الأمن.الأذونات.RegistryPermission, mscorlib, Version=2.0.0.0 الثقافة=محايدة الأمر PublicKeyToken=b77a5c561934e089' فشل.

في النظام.الأمن.CodeAccessSecurityEngine.الاختيار(وجوه الطلب ، StackCrawlMark& stackMark, منطقية isPermSet) في النظام.الأمن.CodeAccessPermission.الطلب() في Microsoft.Win32.RegistryKey.CheckSubKeyReadPermission(سلسلة subkeyName) في Microsoft.Win32.RegistryKey.CheckOpenSubKeyPermission(سلسلة subkeyName, منطقية > subKeyWritable) في Microsoft.Win32.RegistryKey.OpenSubKey(String name, منطقية قابلة للكتابة) في EstateMasterClearReg.البرنامج.Main(String[] args)

الإجراء الذي فشل هو:

الطلب.نوع من الأولى إذن أن فشل هو:النظام.الأمن.الأذونات.RegistryPermission منطقة الجمعية التي فشلت كان:الإنترانت

كما لن تكون قادرة على اختبار هذا على أجهزة الكمبيوتر العميلة (و قالوا أن لديهم .exe تشغيل محليا و يتم تسجيل دخولك كمسؤول) هل هناك أي شيء يمكنني القيام به في محاولة للتأكد من أن التطبيق سوف تعمل على أي آلة ؟

هل أنا بحاجة إلى استخدام مفتاح اسم قوي و AllowPartiallyTrustedCallers أو علي استخدام النظام.الأمن.الأذونات.RegistryPermission?

شكرا على مساعدتك.

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

المحلول

يبدو أنها قد تكون قيد التشغيل القابلة للتنفيذ الخاص بك عبر الشبكة.يكون لهم محاولة نسخها إلى القرص الثابت المحلي وتشغيل مرة أخرى.الأذونات المعينة للتنفيذ تختلف بين تشغيل من شبكة سهم مقابلتشغيل من نظام الملفات المحلي.

بدلا من ذلك, قد يكون من الممكن أن لديهم تعديل إعدادات الأمان الافتراضية ، ذلك أنه حتى إذا كان يعمل محليا ، فإنه يعتبر جزء من منطقة إنترانت.تحقق تلك أيضا.

هذه النصائح قد تكون مفيدة أيضا:

http://blogs.msdn.com/shawnfa/archive/2003/06/20/57023.aspx

ملاحظة أنه إذا كنت تعطي الجمعية اسم قوي, سوف لا تزال بحاجة إلى نهج الأمان المحلي إلى تعديل لإعطاء الجمعية الأذونات المناسبة.الاسم القوي في حد ذاته لن منح إضافية الإذن المطلوب.

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