Wenn ich in Visual Basic 6 versuche, auf Project & gt; Referenzen , es wirft einen Fehler auf:
Fehler beim Zugriff auf die Systemregistrierung
Ich bin:
regedt32.exe
ausführen und auf alle Registrierungsschlüssel zugreifen. VB6 wurde als lokaler Administrator installiert.
Irgendeine Idee, warum das passiert?
Ich habe dieses Posting schon einmal besucht. Ich habe Crystal Reports 8.5 laufen lassen und es soll dieses Problem bereits behoben haben, aber anscheinend habe ich noch das Problem mit 8.5 installiert. Ich habe auch den Versuch unternommen, Kristallberichte ohne Erfolg neu zu installieren.
Je nachdem, welches Windows-Betriebssystem Sie haben (ich habe Windows 7 Enterprise), sollten Sie versuchen, Administratorrechte für die Datei REGTLIB.EXE (in C: \ Windws) zu vergeben. Klicken Sie mit der rechten Maustaste auf die Datei REGTLIB.EXE. Wählen Sie Eigenschaften aus dem Popup-Menü. Wählen Sie dann die Registerkarte Kompatibilität. Aktivieren / aktivieren Sie auf der Registerkarte Kompatibilität das Kontrollkästchen Dieses Programm als Administrator ausführen. Klicken Sie auf OK, um Ihre Änderungen zu speichern. Es könnte sich um das Problem kümmern. Es hat für mich funktioniert. Viel Glück.
Für mich hat das funktioniert:
Wenn Sie Office 2010 (Beta) ausführen, schreibt Word (scheinbar) einen eingeschränkten Registrierungsschlüssel. VB wirft den Fehler beim Scannen der Registrierung. Der Schlüssel, den ich habe, ist: HKCR \ TypeLib {00020905-0000-0000-C000-000000000046} \ 8.5
Für Regmon - Filter für Prozessnamen - & gt; "vb6.exe" und Ergebnis - & gt; "ZUGRIFF ABGELEHNT". Hilft, es sehr schnell zu finden.
Es wurde mit PSToosl (PSEXEC) behoben, um den Registrierungseditor auszuführen (Befehlszeile war) psexec -i -d -s c: \ windows \ regedit.exe von einer Run-As-Administrator-Befehlszeile. HTH Jim. edit / ps - Ich bin auf einem Windows 7 (x64) -Box. Erhöhte Berechtigungen erfordern die PSTools-Lösung. XP kann mit ein bisschen weniger davonkommen.
Sie können versuchen, Process Monitor zu überprüfen, auf welche Registrierungsschlüssel zugegriffen wird.
Ich habe das auf einer Maschine, die ich für die VB6-Entwicklung verwendet habe. Ich hatte eine Menge von COM-DLLs von VB6 (ohne Binärkompatibilität) gebaut und der Cruft, der in der Registrierung aufgebaut hatte, wurde schließlich zu viel.
Sehen Sie sich an, welche Größe die Registrierung hat und welche Grenze Sie gesetzt haben. Ich verdoppelte die Größe der Registrierung und suchte dann nach einem guten Hoover für die Registrierung.
Hier ist eine Lösung von Microsoft. Es verweist auf das Crystal Reports-Problem, aber die Lösung verwendet nur regedit32, um die Registrierungszweige HKEY_CLASSES_ROOT \ TypeLib und HKEY_CLASSES_ROOT \ CLSID für abgeblendete Schlüssel zu verfolgen und die Sicherheit für diese Schlüssel zu korrigieren. Es gibt auch Anweisungen, um die Sicherheit zu beheben, wenn regedit32 nicht auf den Schlüssel zugreifen kann. Artikel ID: 269383
In Windows 7 gehen Sie zum Startmenü, klicken Sie dann mit der rechten Maustaste auf "Microsoft Visual Basic 6", wählen Sie Eigenschaften und klicken Sie auf Kompatibilität im angezeigten Dialogfeld und wählen Sie "Dieses Programm als Administrator ausführen".
Haben Sie versucht das? Grundsätzlich scheint es, dass es ein Crystal Reports Problem. Hoffe das hilft.
Vielleicht einen Versuch wert, zu den "User Account Control Settings" zu gehen. Grüße,
Als ich VB6 unter Win7-64 installiert habe (mit Hilfe von Anweisungen, die leicht von einer Suchmaschine gefunden wurden), funktionierte es einwandfrei. UAC war ausgeschaltet - d. H. Auf "nie benachrichtigen" eingestellt.
Nach ein paar Wochen habe ich UAC eingeschaltet - d. h., es auf seinen Standard eingestellt. VB6 konnte dann wegen des Problems "Fehler beim Zugriff auf die Systemregistrierung" nicht kompiliert werden. Leider hat es nicht geholfen, es wieder auszuschalten. Offensichtlich war der durch Einschalten verursachte Schaden irreversibel. Ich kann nicht erklären, warum das so sein sollte, aber das ist meine Erfahrung.
Das Geben von REGTLIB.EXE-Administratorrechten, während die UAC deaktiviert war, klang wie eine großartige Idee, aber das hat auch nicht für mich funktioniert.
Letztendlich funktionierte die Verwendung von Process Monitor und PsTools wie in anderen Posts beschrieben. Allerdings musste ich für Jedermann die Vollzugriff auf große Teile meiner Registrierung geben. Dies galt nicht nur für isolierte Schlüssel. Es scheint, dass der Compiler Schlüssel zu wichtigen Knoten hinzufügen muss, also musste ich diese ganzen Knoten öffnen.
Neben der Tatsache, dass die Durchführung dieser Schritte Stunden dauerte, bin ich jetzt viel exponierter als zuvor, als ich versuchte, die Sicherheit per UAC zu erhöhen. Allerdings brauche ich VB6 und sehe keine andere Lösung als eine neue Computer.
Lektion: Verwenden Sie keine UAC mit VB6. Außer wenn du hier angekommen bist, ist es zu spät dafür.
Es ist VB6 Installationsproblem. Versuchen Sie VB6 auf Ihrem System neu zu installieren. Ansonsten öffnen Sie "Visual Studio 6.0" mit "Als Administrator ausführen". Öffnen / Durchsuchen Sie dann Ihre Projekt-.vbp-Datei über - New Project - & gt; Vorhandene Registerkarte.
Ich habe das alles auf einem Windows 7-Rechner versucht, aber ich habe das Problem behoben, indem ich immer die volle Kontrolle über die SYSTEM-Registry hatte. Ich weiß nicht, welchen Schlüssel VB6 SP6B liest oder schreibt. Also habe ich versucht, mit den Rechten zurück zu gehen und das Problem kam zurück. Also habe ich es behoben, das schafft eine Seriente Braak.
Ich verwende Windows 10 Pro (10.0.16299 Build 16299) 64 Bit. Ich hatte diesen Fehler beim Versuch, eine VB6-DLL zu kompilieren.
Ich habe in diesem Beitrag mehrere Antworten darauf gesehen, dass ich im Kompatibilitätsmodus als Administrator ausgeführt wurde. Ich dachte, ich würde zuerst versuchen, nur im Kompatibilitätsmodus für Windows XP (sp2) zu laufen. Ich war in der Lage, meine DLL zu kompilieren, nachdem ich diese Box überprüft habe. Ich habe nicht als Administrator ausgeführt werden müssen.