Ένα σύστημα αρχείων που έκανε διάκριση πεζών-κεφαλαίων δεν κάνει διάκριση πεζών-κεφαλαίων μετά την εγκατάσταση μιας ενημερωμένης έκδοσης για το .NET Framework 2.0

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 929110 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Περίληψη

Μετά την εγκατάσταση μιας ενημερωμένης έκδοσης του Microsoft .NET Framework 2.0, η διάκριση πεζών-κεφαλαίων ενός συστήματος αρχείων καταργείται.

Συμπτώματα

Ας εξετάσουμε το ακόλουθο σενάριο. Μπορείτε να ενεργοποιήσετε τη διάκριση πεζών-κεφαλαίων σε ένα σύστημα αρχείων των Microsoft Windows για διαλειτουργικότητα Windows/UNIX. Εγκαθιστάτε μια ενημερωμένη έκδοση για το Microsoft .NET Framework 2.0 και κατόπιν ξεκινάτε ξανά τον υπολογιστή. Σε αυτό το σενάριο, το σύστημα αρχείων δεν κάνει πλέον διάκριση πεζών-κεφαλαίων. Επειδή το σύστημα αρχείων δεν κάνει πλέον διάκριση πεζών-κεφαλαίων, μπορεί να λάβετε μηνύματα λάθους σε εφαρμογές που εξαρτώνται από διάκριση πεζών-κεφαλαίων. Επιπλέον, αυτό μπορεί να προκαλέσει απώλεια δεδομένων, επειδή τα αρχεία αντικαθίστανται τυχαία από την απροσδόκητη κατάργηση της διάκρισης πεζών-κεφαλαίων.

Αιτία

Αυτό το ζήτημα παρουσιάζεται επειδή ένα ζήτημα στο αρχικό πρόγραμμα Εγκατάστασης (Setup) του .NET Framework 2.0 ορίζει την τιμή του κλειδιού μητρώου
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive
σε 1. Το κλειδί μητρώου
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive
καθορίζει αν ένα σύστημα αρχείων κάνει διάκριση πεζών-κεφαλαίων. Εάν η τιμή αυτού του κλειδιού οριστεί σε 1, το σύστημα αρχείων θεωρείται ότι δεν κάνει διάκριση πεζών-κεφαλαίων. Εάν η τιμή αυτού του κλειδιού οριστεί σε 0, το σύστημα αρχείων θεωρείται ότι κάνει διάκριση πεζών-κεφαλαίων.

Εξαιτίας του τρόπου λειτουργίας της ενημερωμένης έκδοσης του Windows Installer, κάθε ενημερωμένη έκδοση εκτελεί ξανά τις αλλαγές μητρώου στο αρχικό πρόγραμμα Εγκατάστασης (Setup) του .NET Framework 2.0. Επομένως, η τιμή του κλειδιού μητρώου ορίζεται σε 0, όπως στο πρόγραμμα Εγκατάστασης (Setup) του .NET Framework. Αυτή η συμπεριφορά μπορεί κατόπιν να αντικαταστάσει οποιαδήποτε τιμή αυτού του κλειδιού που καθορίζεται από το χρήστη. Για παράδειγμα, αν ορίσετε την τιμή αυτού του κλειδιού μητρώου σε 0 για ένα σύστημα αρχείων που κάνει διάκριση πεζών-κεφαλαίων και εγκαταστήσετε μια ενημερωμένη έκδοση για το .NET Framework 2.0 με ημερομηνία κυκλοφορίας πριν από τις 27 Νοεμβρίου 2006, η τιμή αυτού του κλειδιού μητρώου θα οριστεί σε 1 μετά την εγκατάσταση της ενημερωμένης έκδοσης. Το αποτέλεσμα είναι ένα σύστημα αρχείων που δεν κάνει διάκριση πεζών-κεφαλαίων.

Σημείωση Αυτό το ζήτημα δεν παρουσιάζεται σε ενημερωμένες εκδόσεις για το .NET Framework 2.0 με ημερομηνία κυκλοφορίας μετά τις 27 Νοεμβρίου 2006.

Εναλλακτικός τρόπος αντιμετώπισης

Εάν σκόπιμα ορίσετε την τιμή του κλειδιού μητρώου
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive
σε 0, επειδή πρέπει να έχετε διάκριση πεζών-κεφαλαίων για το σύστημα αρχείων, και μια ενημερωμένη έκδοση για το .NET Framework 2.0 έχει ορίσει αυτήν την τιμή ξανά σε 1, ορίστε την τιμή για αυτό το κλειδί μητρώου ξανά σε 0 με μη αυτόματο τρόπο. Ξεκινήστε πάλι το σύστημα, για να εφαρμοστούν οι αλλαγές. Για παράδειγμα, αν ο διακομιστής είναι διακομιστής NFS σε ετερογενές περιβάλλον και η τιμή κλειδιού μητρώου έχει οριστεί σε 1, μπορείτε να ορίσετε την τιμή ξανά σε 0 με μη αυτόματο τρόπο.

Σημείωση Εάν επανεγκαταστήσετε το .NET Framework 2.0 ή επιδιορθώσετε ή επανεγκαταστήσετε ενημερωμένες εκδόσεις του .NET Framework 2.0 με ημερομηνία κυκλοφορίας πριν από τις 27 Νοεμβρίου 2006, θα χρειαστεί να εφαρμόσετε ξανά τον μη αυτόματο εναλλακτικό τρόπο αντιμετώπισης.

Ιδιότητες

Αναγν. άρθρου: 929110 - Τελευταία αναθεώρηση: Δευτέρα, 3 Δεκεμβρίου 2007 - Αναθεώρηση: 1.6
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft .NET Framework 2.0 στις ακόλουθες πλατφόρμες
    • Microsoft Windows 2000 Professional SP4
    • Microsoft Windows 2000 Server SP4
    • Microsoft Windows 2000 Advanced Server SP4
    • Microsoft Windows 2000 Datacenter Server
    • Microsoft Windows XP Home Edition
    • Microsoft Windows XP Starter Edition
    • Microsoft Windows XP Media Center Edition 2005
    • Microsoft Windows XP Media Center Edition Service Pack 2 (SP2)
    • Microsoft Windows XP Tablet PC Edition Service Pack 2 (SP2)
    • Microsoft Windows XP Professional
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
    • Microsoft Windows Server 2003, Web Edition
    • Microsoft Windows Small Business Server 2003 Standard Edition
    • Microsoft Windows Server 2003 R2 Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003 R2 Enterprise Edition (32-Bit x86)
    • Microsoft Windows Server 2003 R2 Datacenter Edition (32-Bit x86)
  • Microsoft .NET Framework 2.0 x64 Edition στις ακόλουθες πλατφόρμες
    • Microsoft Windows XP Professional 64-Bit Edition (Itanium)
    • Microsoft Windows Server 2003, Standard x64 Edition
    • Microsoft Windows Server 2003, Enterprise x64 Edition
    • Microsoft Windows Server 2003, Datacenter x64 Edition
    • Microsoft Windows Server 2003 R2 Standard x64 Edition
    • Microsoft Windows Server 2003 R2 Enterprise x64 Edition
    • Microsoft Windows Server 2003 R2 Datacenter x64 Edition
  • Microsoft .NET Framework 2.0 IA64 Edition στις ακόλουθες πλατφόρμες
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
    • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
Λέξεις-κλειδιά: 
kbtshoot kbsecurity kbprb KB929110

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com