Hallo Leute,
erstmal bin ich ziemlicher Anfänger in vb.net.
Ich habe ziemliche Probleme bei downgrades, dass in der Registry in den verschiedenen DLLs falsche Keys drin stehen.
Da es ziemlich lästig ist, das manuell zu durchsuchen ,dachte ich, ich packe mal mein altes .net aus und versuche das.
Normalerweise würde ich das auf VB6 machen, aber dort mit Registry zu arbeiten ist mehr als übel.
Ich weiss von Anfang an, auf welcher Ebene diese Win32-Einträge sind und auch von wo aus ich suchen muss.
Daher ganz hässlich so gemacht:
Sieht alles soweit schön aus, nur meldet er mir eben oben genannten Fehler bei der rot markierten Zeile.
Laut Internet liegt es an meiner Berechtigung, doch auch wenn ich das VS mit Adminrechte öffne kommt der Fehler. Ausserdem tritt er ja nicht beim ersten Opensubkey auf, daher nehme ich an, es ist etwas anderes.
Hat grad jemand eine Idee, was da der Fehler ist?
Wie immer danke ich im Voraus für alle Antworten und Anregungen
Müller Matthias
erstmal bin ich ziemlicher Anfänger in vb.net.
Ich habe ziemliche Probleme bei downgrades, dass in der Registry in den verschiedenen DLLs falsche Keys drin stehen.
Da es ziemlich lästig ist, das manuell zu durchsuchen ,dachte ich, ich packe mal mein altes .net aus und versuche das.
Normalerweise würde ich das auf VB6 machen, aber dort mit Registry zu arbeiten ist mehr als übel.
Ich weiss von Anfang an, auf welcher Ebene diese Win32-Einträge sind und auch von wo aus ich suchen muss.
Daher ganz hässlich so gemacht:
Visual Basic:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim instance As RegistryKey
instance = Registry.ClassesRoot
Dim typelib As RegistryKey
Dim cnt As Long
Dim subR As RegistryKey
Dim subR2 As RegistryKey
Dim subR3 As RegistryKey
Dim subR4 As RegistryKey
Dim item As String
Dim names() As String
Dim str As String
Dim str2 As String
Dim str3 As String
Dim str4 As String
Dim names2() As String
Dim names3() As String
Dim names4() As String
If Me.TextBox1 Is Nothing OrElse Me.TextBox1.Text.Length = 0 Then Exit Sub
typelib = instance.OpenSubKey("TypeLib", True)
names = typelib.GetSubKeyNames()
For Each str In names
subR = typelib.OpenSubKey(str, True)
names2 = subR.GetSubKeyNames
For Each str2 In names2
subR2 = subR.OpenSubKey(str2, True)
names3 = subR2.GetSubKeyNames
For Each str3 In names3
subR3 = subR2.OpenSubKey(str3, True)
names4 = subR3.GetSubKeyNames
For Each str4 In names4
If str4.ToLower = "win32" Then
subR4 = subR3.OpenSubKey(str4, True)
If Not subR4.GetValue("") Is Nothing Then
If InStr(subR4.GetValue(""), Me.TextBox1.Text, CompareMethod.Text) Then
Debug.Print(subR4.Name)
subR3.DeleteSubKey(str4)
End If
End If
End If
Next
Next
Next
Next
subR = Nothing
subR2 = Nothing
subR3 = Nothing
subR4 = Nothing
End Sub
Sieht alles soweit schön aus, nur meldet er mir eben oben genannten Fehler bei der rot markierten Zeile.
Laut Internet liegt es an meiner Berechtigung, doch auch wenn ich das VS mit Adminrechte öffne kommt der Fehler. Ausserdem tritt er ja nicht beim ersten Opensubkey auf, daher nehme ich an, es ist etwas anderes.
Hat grad jemand eine Idee, was da der Fehler ist?
Wie immer danke ich im Voraus für alle Antworten und Anregungen
Müller Matthias