Τρόπος χρήσης του εργαλείου Regsvr32 και αντιμετώπιση προβλημάτων σχετικά με μηνύματα σφάλματος Regsvr32

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

Περίληψη

Το Regsvr32 είναι ένα βοηθητικό πρόγραμμα της γραμμής εντολών για την καταχώρηση και την κατάργηση της καταχώρησης των στοιχείων ελέγχου OLE, όπως τα DLL και τα στοιχεία ελέγχου ActiveX στο Μητρώο των Windows. Το εργαλείο Regsvr32.exe είναι εγκατεστημένο στο φάκελο %systemroot%\System32 στα Windows XP και σε νεότερες εκδόσεις των Windows.

Σημείωση Σε ένα λειτουργικό σύστημα Windows έκδοσης 64 bit, υπάρχουν δύο εκδόσεις του αρχείου Regsv32.exe:
  • Η έκδοση 64 bit είναι % systemroot%\System32\regsvr32.exe.
  • Η έκδοση 32 bit είναι %systemroot%\SysWoW64\regsvr32.exe.

Η σύνταξη της εντολής Regsvr32

Το εργαλείο RegSvr32.exe διαθέτει τις ακόλουθες επιλογές της γραμμής εντολών:
Regsvr32 [/u] [/n] [/i[:cmdline]] <dllname>

/u - Κατάργηση καταχώρησης διακομιστή
/i - Call DllInstall passing it an optional [cmdline]; όταν χρησιμοποιείται με το /u, καλεί το dll κατάργησης εγκατάστασης
/n - do not call DllRegisterServer; αυτή η επιλογή πρέπει να χρησιμοποιείται με το /i
/s – Χωρίς προειδοποίηση. Δεν εμφανίζονται πλαίσια μηνυμάτων

Συνήθεις λύσεις για σφάλματα του Regsvr32

Δοκιμάστε μία από τις ακόλουθες μεθόδους, όταν λαμβάνετε ένα μήνυμα σφάλματος του Regsvr32:
  • Μέθοδος 1: Εκτελέστε ξανά την εντολή Regsvr32 από γραμμή εντολών με αναβαθμισμένα δικαιώματα

    Για να ανοίξετε μια γραμμή εντολών με αναβαθμισμένα δικαιώματα, ακολουθήστε τα εξής βήματα:
    Windows 8.1 και Windows 8
    Πραγματοποιήστε σάρωση από τη δεξιά άκρη της οθόνης και, στη συνέχεια, πατήστε στην επιλογή Αναζήτηση (Search). Εναλλακτικά, αν χρησιμοποιείτε ποντίκι, τοποθετήστε το δείκτη στην κάτω δεξιά γωνία της οθόνης και κάντε κλικ στην επιλογή Αναζήτηση (Search). Πληκτρολογήστε Command Prompt στο πλαίσιο Αναζήτηση (Search), κάντε δεξιό κλικ στην Γραμμή εντολών (Command Prompt) και επιλέξτε Εκτέλεση ως διαχειριστής (Run as administrator). Αν σας ζητηθεί κωδικός πρόσβασης διαχειριστή ή επιβεβαίωση, πληκτρολογήστε τον κωδικό πρόσβασης ή κάντε κλικ στην επιλογή Αποδοχή (Allow).
    Windows 7 και Windows Vista
    Κάντε κλικ στο κουμπί Έναρξη (Start), πληκτρολογήστε Command Prompt ή cmd στο πλαίσιο Αναζήτηση (Search), κάντε δεξιό κλικ στην Γραμμή εντολών (Command Prompt) και επιλέξτε Εκτέλεση ως διαχειριστής (Run as administrator). Αν σας ζητηθεί κωδικός πρόσβασης διαχειριστή ή επιβεβαίωση, πληκτρολογήστε τον κωδικό πρόσβασης ή κάντε κλικ στην επιλογή Αποδοχή (Allow).
    Windows XP
    Συνδεθείτε με έναν λογαριασμό διαχειριστή ή με λογαριασμό που έχει δικαιώματα διαχειριστή και, στη συνέχεια, ανοίξτε έναν παράθυρο της γραμμής εντολών.
  • Μέθοδος 2: Χρήση της έκδοσης 32 bit του Regsvr32 για την εγγραφή DLL 32 bit σε έκδοση 64 bit των Windows

    Αν εμφανιστεί ένα σφάλμα κατά την εγγραφή ενός DLL 32 bit σε έκδοση 64 bit των Windows, ακολουθήστε τα εξής βήματα:
    1. Ανοίξτε μια γραμμή εντολών με αυξημένα δικαιώματα.
    2. Εάν το αρχείο DLL 32 bit βρίσκεται στο φάκελο %systemroot%\System32, μετακινήστε το στο φάκελο %systemroot%\SysWoW64.
    3. Εκτελέστε την ακόλουθη εντολή:
      %systemroot%\SysWoW64\regsvr32 <πλήρης διαδρομή του DLL>

Μηνύματα σφάλματος του regsvr32

Μηνύματα σφάλματος Regsvr32 στα Windows Vista και νεότερες εκδόσεις των Windows

Σύμπτυξη αυτής της εικόναςΑνάπτυξη αυτής της εικόνας
assets folding start collapsed
Ο ακόλουθος πίνακας περιλαμβάνει μηνύματα σφάλματος του RegSvr32 και τις πιθανές αιτίες τους:
Σύμπτυξη αυτού του πίνακαΑνάπτυξη αυτού του πίνακα
Μήνυμα λάθουςΑιτία
Η σημαία εντολής ""%1"" δεν είναι έγκυρη. Αναθεωρήστε τη χρήση της εντολής και προσπαθήστε ξανά.Διαβιβάστηκε μη έγκυρος συνδυασμός επιλογών στη γραμμή εντολών για το αρχείο regsvr32.exe.
Η εντολή αυτή ισχύει μόνο αν ανοίξει ένα έργο στοιχείου ελέγχου OLE του Microsoft Visual Studio.Το αρχείο Regsvr32.exe κλήθηκε από το Visual Studio, αλλά δεν υπάρχουν λειτουργικές μονάδες που να έχουν καθοριστεί στη γραμμή εντολών.
Για να καταχωρήσετε μια λειτουργική μονάδα, πρέπει να δώσετε ένα δυαδικό όνομα.Το αρχείο Regsvr32.exe κλήθηκε χωρίς να καθορίσετε λειτουργικές μονάδες στη γραμμή εντολών.
Η εκτέλεση της εντολής OleInitialize απέτυχε. Ο υπολογιστής σας ίσως έχει χαμηλή μνήμη. Κλείστε όλα τα ανοιχτά προγράμματα και δοκιμάστε ξανά.Το Regsvr32 πρέπει να προετοιμάσει τη βιβλιοθήκη COM, πριν να καλέσει τις απαραίτητες λειτουργίες της βιβλιοθήκης COM και να αναιρέσει την προετοιμασία της βιβλιοθήκης, όταν τερματιστεί. Αυτά τα μηνύματα σφάλματος προκύπτουν, αν αποτύχει μια προσπάθεια προετοιμασίας ή αναίρεσης προετοιμασίας της βιβλιοθήκης COM.
Δεν ήταν δυνατή η φόρτωση της λειτουργικής μονάδας ""%1"".\n\n Βεβαιωθείτε ότι το δυαδικό αρχείο έχει αποθηκευτεί στην καθορισμένη διαδρομή ή πραγματοποιήστε εντοπισμό σφαλμάτων για να ελέγξετε για προβλήματα σχετικά με το δυαδικό αρχείο ή ανεξάρτητα αρχεία .DLL.\n\n%2.Παρουσιάστηκε σφάλμα κατά τη φόρτωση μιας λειτουργικής μονάδας που καθορίστηκε στη γραμμή εντολών. Το κείμενο σφάλματος εμφανίζεται ως μέρος του μηνύματος.
Η λειτουργική μονάδα ""% 1"" φορτώθηκε, αλλά το σημείο εισόδου %2 δεν ήταν δυνατό να βρεθεί.\n\nΒεβαιωθείτε ότι το ""% 1"" είναι ένα έγκυρο αρχείο DLL ή OCX και, στη συνέχεια, δοκιμάστε ξανάΤο αρχείο Regsvr32.exe δεν ήταν δυνατό να εντοπίσει το απαιτούμενο σημείο εισόδου στη λειτουργική μονάδα που καθορίζεται στη γραμμή εντολών. Αυτό μπορεί να συμβεί αν τα σημεία εισόδου δεν εξάγονται σωστά από τη λειτουργική μονάδα ή η λειτουργική μονάδα δεν είναι αρχείο .DLL ή .OCX.
Η λειτουργική μονάδα ""%1"" φορτώθηκε, αλλά η κλήση για το %2 απέτυχε με κωδικό σφάλματος %3.\n\nΓια περισσότερες πληροφορίες σχετικά με αυτό το πρόβλημα, πραγματοποιήστε ηλεκτρονική αναζήτηση, χρησιμοποιώντας τον κωδικό σφάλματος ως όρο αναζήτησης.Παρουσιάστηκε σφάλμα όταν το αρχείο regsvr32.exe κάλεσε το σημείο εισόδου στη λειτουργική μονάδα που καθορίστηκε στη γραμμή εντολών. Ο κωδικός σφάλματος εμφανίζεται ως μέρος του μηνύματος.
Η λειτουργική μονάδα ""% 1"" ίσως να μην είναι συμβατή με την έκδοση των Windows που εκτελείτε. Ελέγξτε εάν η λειτουργική μονάδα είναι συμβατή με μια έκδοση x86 (32 bit) ή x64 (64 bit) του αρχείου regsvr32.exe.Αυτό το σφάλμα μπορεί να παρουσιαστεί, για παράδειγμα, εάν το αρχείο regsvr32.exe εκτελείται σε έναν υπολογιστή x86 και η λειτουργική μονάδα που καθορίζεται στη γραμμή εντολών είναι λειτουργική μονάδα 64 bit.
Σύμπτυξη αυτής της εικόναςΑνάπτυξη αυτής της εικόνας
assets folding end collapsed

Μηνύματα σφάλματος Regsvr32.exe στα Windows XP

Σύμπτυξη αυτής της εικόναςΑνάπτυξη αυτής της εικόνας
assets folding start collapsed
Στον ακόλουθο πίνακα παρουσιάζονται τα μηνύματα σφάλματος RegSvr32 και οι πιθανές αιτίες τους:
Σύμπτυξη αυτού του πίνακαΑνάπτυξη αυτού του πίνακα
Μήνυμα λάθουςΑιτία
Μη αναγνωρισμένη σημαία: /invalid_flagΠληκτρολογήσατε έναν μη έγκυρο συνδυασμό από σημαίες ή διακόπτες.
Δεν έχει καθοριστεί όνομα DLL. (No DLL name specified.)Δεν συμπεριλάβατε ένα όνομα αρχείου .dll.
Το Όνομα_Dll φορτώθηκε, αλλά δεν βρέθηκε το σημείο εισόδου DllRegisterServer ή DllUnregisterServer.Το καθορισμένο όνομα Dll δεν είναι αρχείο .dll ή .ocx. Για παράδειγμα, αν πληκτρολογήσετε regsvr32 wjview.exe θα εμφανιστεί αυτό το μήνυμα λάθους.
Το Όνομα_Dll δεν είναι εκτελέσιμο αρχείο και δεν έχει καταχωρηθεί κανένα βοηθητικό πρόγραμμα καταχώρησης για αυτόν τον τύπο αρχείου.Το καθορισμένο όνομα Dll δεν είναι εκτελέσιμο αρχείο (.exe, .dll ή .ocx). Για παράδειγμα, αν πληκτρολογήσετε regsvr32 autoexec.bat θα εμφανιστεί αυτό το μήνυμα σφάλματος.
Το Όνομα_Dll δεν είναι αρχείο που εγγράφεται μόνο του ή υπάρχει κάποια κατεστραμμένη έκδοση στη μνήμη.Για παράδειγμα, αν πληκτρολογήσετε regsvr32 icwdial.dll, θα εμφανιστεί αυτό το μήνυμα σφάλματος, επειδή το αρχείο Icwdial.dll δεν μπορεί να καταγράφεται μόνο του. Εάν υποπτεύεστε ότι στη μνήμη βρίσκεται μια κατεστραμμένη έκδοση του ονόματος Dll, δοκιμάστε να επανεκκινήσετε τον υπολογιστή σας ή να επαναλάβετε την εξαγωγή της αρχικής έκδοσης του αρχείου.
Η προετοιμασία του Ole (OleInitialize) απέτυχε (ή η αναίρεση προετοιμασίας του Ole (OleUninitialize) απέτυχε)Το Regsvr32 πρέπει να προετοιμάσει τη βιβλιοθήκη COM, πριν να καλέσει τις απαραίτητες λειτουργίες της βιβλιοθήκης COM και να αναιρέσει την προετοιμασία της βιβλιοθήκης, όταν τερματιστεί. Αυτά τα μηνύματα σφάλματος προκύπτουν, αν αποτύχει μια προσπάθεια προετοιμασίας ή αναίρεσης προετοιμασίας της βιβλιοθήκης COM. Για παράδειγμα, το αρχείο Ole32.dll μπορεί να είναι κατεστραμμένο ή μπορεί να είναι η λάθος έκδοση.
Η εντολή LoadLibrary("Dll_Name") απέτυχε. Η εντολή GetlastError επιστρέφει την τιμή 0x00000485Από το Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND). Αυτό σημαίνει ότι "Ένα από τα αρχεία της βιβλιοθήκης που απαιτούνται για την εκτέλεση αυτής της εφαρμογής δεν είναι δυνατό να βρεθεί". Για παράδειγμα, πληκτρολογώντας regsvr32 missing.dll εμφανίζεται αυτό το μήνυμα λάθους, αν το αρχείο Missing.dll δεν βρέθηκε.
Η εντολή LoadLibrary("Dll_Name") απέτυχε. Η εντολή GetLastError επιστρέφει την τιμή 0x00000002Από το Winerror.h, 0x00000002 = 2 (ERROR_FILE_NOT_FOUND). Αυτό σημαίνει ότι "Δεν είναι δυνατός ο εντοπισμός του καθορισμένου αρχείου από το σύστημα". Με άλλα λόγια, δεν βρέθηκε ένα εξαρτημένο αρχείο DLL. Για παράδειγμα, πληκτρολογώντας regsvr32 icwdial.dll ενώ λείπει το αρχείο Tapi32.dll (εξαρτημένο), εμφανίζεται αυτό το μήνυμα σφάλματος.
Η εντολή LoadLibrary("dskmaint.dll") απέτυχε. Η εντολή GetLastError επιστρέφει 0x000001fΑπό το Winerror.h, 0x000001f = 31 (ERROR_GEN_FAILURE). Αυτό σημαίνει ότι "Μια συσκευή που είναι συνδεδεμένη με το σύστημα δεν λειτουργεί". Αυτή η συμπεριφορά μπορεί να προκύψει, αν προσπαθήσετε να καταγράψετε ένα αρχείο Win16 .dll. Για παράδειγμα, πληκτρολογώντας regsvr32 dskmaint.dll εμφανίζεται αυτό το μήνυμα σφάλματος.
Η εντολή DllRegisterServer (ή το DllUnregisterServer) στο Όνομα_Dll απέτυχε. Ο κωδικός επιστροφής ήταν: συμβολοσειράΑναζητήστε το αρχείο Winerror.h για τη συμβολοσειρά που προσδιορίζεται στο μήνυμα.
Σύμπτυξη αυτής της εικόναςΑνάπτυξη αυτής της εικόνας
assets folding end collapsed

Ιδιότητες

Αναγν. άρθρου: 249873 - Τελευταία αναθεώρηση: Τετάρτη, 26 Μαρτίου 2014 - Αναθεώρηση: 7.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Windows Vista Enterprise
  • Windows Vista Business
  • Windows Vista Home Basic
  • Windows Vista Home Premium
  • Windows Vista Ultimate
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Tablet PC Edition
  • Windows 7 Enterprise
  • Windows 7 Home Basic
  • Windows 7 Home Premium
  • Windows 7 Professional
  • Windows 7 Ultimate
  • Windows 8
  • Windows 8 Enterprise
  • Windows 8 Pro
  • Windows 8.1
  • Windows 8.1 Enterprise
  • Windows 8.1 Pro
Λέξεις-κλειδιά: 
kbresolve kbenv kberrmsg kbinfo kbkern32dll KB249873

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

 

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