ما الوصول إلى التسجيل يمكن أن تحصل دون امتيازات المسؤول?
-
09-06-2019 - |
سؤال
أعرف أنه لا يجب أن يتم استخدام التسجيل لتخزين بيانات التطبيق بعد الآن, ولكن في تحديث إرثا تطبيق (و الرغبة في القيام أقل عدد من التغييرات) ماذا خلايا التسجيل غير المسؤولين يسمح للاستخدام ؟
هل يمكنني الوصول إلى كل من HKEY_CURRENT_USER
(التطبيق حاليا الوصول HKEY_LOCAL_MACHINE
) دون امتيازات المسؤول?
المحلول
في عام ، غير المسؤول المستخدم لديه الوصول إلى التسجيل:
القراءة/الكتابة إلى:
HKEY_CURRENT_USER
للقراءة فقط:
HKEY_LOCAL_MACHINE
HKEY_CLASSES_ROOT
(الذي هو مجرد الرابط إلىHKEY_LOCAL_MACHINE\Software\Classes
)
فمن الممكن تغيير بعض من هذه الأذونات على مفتاح عن طريق المفتاح الأساس ، ولكن هذا نادر للغاية.يجب أن لا داعي للقلق حول ذلك.
لأغراض الخاصة بك, التطبيق الخاص بك يجب أن يكون كتابة إعدادات التكوين HKEY_CURRENT_USER
.الكنسي المكان في أي مكان داخل HKEY_CURRENT_USER\Software\YourCompany\YourProduct\
هل يمكن أن يحتمل عقد إعدادات العالمية (لجميع المستخدمين) في HKEY_LOCAL_MACHINE
.فمن النادر جدا أن تحتاج إلى القيام بذلك ، ينبغي عليك تجنب ذلك.المشكلة هي أن أي مستخدم يمكن "قراءة" تلك ، ولكن فقط مسؤول (أو التمديد ، إعداد/تثبيت البرنامج) أن "مجموعة" لهم.
الشائعة الأخرى مصدر من المتاعب:التطبيق الخاص بك يجب أن لا أكتب أي شيء في Program files
أو Windows
الدلائل.إذا كنت بحاجة إلى الكتابة إلى الملفات ، هناك العديد من الخيارات في متناول اليد ؛ واصفا كل منهم أن يكون أطول المناقشة.كل الخيارات في نهاية المطاف الكتابة إلى مجلد فرعي أو آخر تحت %USERPROFILE%
المستخدم في السؤال.
وأخيرا التطبيق الخاص بك يجب أن تبقى خارج HKEY_CURRENT_CONFIG
.هذه الخلية يحمل تكوين الأجهزة والخدمات تكوينات وغيرها من البنود التي 99.9999% من التطبيقات يجب أن لا تحتاج إلى أن ننظر إلى (على سبيل المثال ، فإنه يحمل الحالي plug-and-play device list).إذا كنت بحاجة إلى أي شيء من هناك ، معظم المعلومات المتاحة من خلال دعم واجهات برمجة التطبيقات في مكان آخر.
نصائح أخرى
نعم ، يجب أن تكون قادرا على الكتابة إلى أي مكان تحت HKEY_CURRENT_USER دون امتيازات المسؤول.ولكن هذا هو فعالية خاصة متجر أي مستخدم آخر على هذا الجهاز سوف تكون قادرة على الوصول, لذلك لا يمكنك وضع أي تكوين مشتركة هناك.