Как удалить запись реестра из Windows 2008 / Vista - PullRequest
0 голосов
/ 20 февраля 2009

У меня есть этот скрипт для запуска в Windows 2008 / Vista, чтобы удалить один ключ реестра, но я не могу запустить его:

Const HKEY_CLASSES_ROOT     = &H80000000
strComputer = "."
strKeyPath = "Installer\Products\334A4D1453680B74CA87BEE6B7E40113" 
Set objRegistry = GetObject("winmgmts:\\" & _
    strComputer & "\root\default:StdRegProv") 
DeleteSubkeys HKEY_CLASSES_ROOT, strKeypath 

Private Sub DeleteSubkeys(HKEY_CURRENT_USER, strKeyPath) 
  strComputer = "."
  Set objRegistry = GetObject("winmgmts:\\" & _
    strComputer & "\root\default:StdRegProv") 

  objRegistry.EnumKey HKEY_CURRENT_USER, strKeyPath, arrSubkeys 
  If IsArray(arrSubkeys) Then 
    For Each strSubkey In arrSubkeys 
        DeleteSubkeys HKEY_CURRENT_USER, strKeyPath & "\" & strSubkey 
    Next 
  End If 

  objRegistry.DeleteKey HKEY_CURRENT_USER, strKeyPath 
End Sub

Есть идеи, почему?

1 Ответ

1 голос
/ 20 февраля 2009

Вы используете это как администратор? Несмотря на то, что вы используете HKEY_CURRENT_USER в качестве имени параметра, вы пытаетесь удалить его из HKEY_CLASSES_ROOT, что обычно требует повышенного доступа.

...