[XP Professional 64 bit] Registrierung der Scripting Runtime wird immer wieder gelöscht
-
2011年9月15日 12:40
Hallo,
das Problem trat nach der Installation von VB6 auf. Es äußert sich wie hier beschrieben:
http://www.vbarchiv.net/forum/id1_i43096t43066_problem-mit-vb6-installation-auf-neuem-system-xp-64-bit.htmlDazu habe ich folgendes untersucht:
Es gibt 5 Positionen/Sichten in der Registry welche auf die TypleLib scrrun.dll referenzieren.
TLID ==> 420B2830-E718-11CF-893D-00A0C9054228
(A) Vor der Installation von VB6, sehen die Reg-Einträge (verkürzt) so aus:
- [HKCR\TypeLib\{TLID}\1.0\0\win64]@="C:\\WINDOWS\\system32\\scrrun.dll"
- [HKCR\Wow6432Node\TypeLib\{TLID}\1.0\0\win32]@="C:\\WINDOWS\\SysWOW64\\scrrun.dll"
- [HKLM\SOFTWARE\Classes\TypeLib\{TLID}\1.0\0\win64]@="C:\\WINDOWS\\system32\\scrrun.dll"
- [HKLM\SOFTWARE\Classes\Wow6432Node\TypeLib\{TLID}\1.0\0\win32]@="C:\\WINDOWS\\SysWOW64\\scrrun.dll"
- [HKLM\SOFTWARE\Wow6432Node\Classes\TypeLib\{TLID}\1.0\0\win32]@="C:\\WINDOWS\\SysWOW64\\scrrun.dll"
(B) Nach der Installation von VB6, sehen die Reg-Einträge (verkürzt) so aus, die Fetten sind neu:
- [HKCR\TypeLib\{TLID}\1.0\0\win32]@="C:\\WINDOWS\\SysWOW64\\scrrun.dll"
[HKCR\TypeLib\{TLID}\1.0\0\win64]@="C:\\WINDOWS\\system32\\scrrun.dll" - [HKCR\Wow6432Node\TypeLib\{TLID}\1.0\0\win32]@="C:\\WINDOWS\\SysWOW64\\scrrun.dll"
- [HKLM\SOFTWARE\Classes\TypeLib\{TLID}\1.0\0\win32]@="C:\\WINDOWS\\SysWOW64\\scrrun.dll"
[HKLM\SOFTWARE\Classes\TypeLib\{TLID}\1.0\0\win64]@="C:\\WINDOWS\\system32\\scrrun.dll" - [HKLM\SOFTWARE\Classes\Wow6432Node\TypeLib\{TLID}\1.0\0\win32]@="C:\\WINDOWS\\SysWOW64\\scrrun.dll"
- [HKLM\SOFTWARE\Wow6432Node\Classes\TypeLib\{TLID}\1.0\0\win32]@="C:\\WINDOWS\\SysWOW64\\scrrun.dll"
Nach dem Neustart sind alle win32 Schlüssel gelöscht. Die Situation wie in A dargestellt, lässt sich nun nicht mehr manuell erreichen. Wenn ich die scrrun.dll mittels regsvr32 registriere, sieht es wie B aus. Füge ich den Schlüssel win32 manuell (regedit) irgendwo an eine der unter A genannten win32 Positionen ein, werden automatisch alle anderen unter B genannten win32-Positionen ebenfalls eingetragen.Ich habe gelesen, dass es sich hierbei nur um Sichten und Referenzierungen handelt.
Das leuchtet mir ein und stellt sich ja auch so dar. Benenne ich z.B. den Schlüssel win32 um, ändert sich der Schlüssel-Name auch den den anderen Positionen. Dito, ändere ich den Inhalt von win32.Mir leuchtet aber nicht ein, wie dann eine Registrierung wie unter A beschrieben erstellt werden kann, da hier ja der Schlüssel win32 unter 1. nicht vorhanden ist. Welcher sich aber bei manueller Registrierung immer automatisch erstellt.
Meine Fragen:
- Wie bekomme ich die Registrierung der Scripting Runtime beständig hin?
- Wieso werden die Schlüssel win32 gelöscht?
- Wer löscht diese Einträge?
Ich hoffe es war verständlich :-).
Beste Grüße
Dirk- 已编辑 NochnDirk 2011年9月15日 12:44 3x? vergessen
- 已移动 Raul TalmaciuMicrosoft Contingent Staff 2011年9月20日 14:12 VB6 Frage (aus:Windows Client)

