Come comportarsi con gli spazi in un percorso di registro di Windows da ASP utilizzando RegWrite

StackOverflow https://stackoverflow.com/questions/4383404

  •  10-10-2019
  •  | 
  •  

Domanda

Ho un problema in quanto da ASP ho bisogno di scrivere in una chiave del Registro di sistema di Windows il percorso che contiene spazi. Il WScript.Shell RegRead è abbastanza felice con la mia chiave, ma non lo fa RegWrite simile. Ho provato utilizzando altri percorsi (fittizie) e sembra davvero come stanno gli spazi che sono la causa del problema.

<%
   Dim WSH, disable
   Set WSH = CreateObject("WScript.Shell")
   disable = Request("disable")  ' disable will be 1 or 0
   key = "HKEY_LOCAL_MACHINE\SOFTWARE\Data Access Worldwide\" & _
         "Visual DataFlex\10.0\WebApp Server\Web Applications\" & _
         "DAW.Examples.Order10\Disable"
   WSH.RegWrite key, CInt( disable ), "REG_DWORD" 
%>

Ottiene: root non valido nella chiave di registro "HKLM \ SOFTWARE \ Data Access Worldwide \ Visual DataFlex \ 10.0 \ Applications WebApp Server \ Web \ DAW.Examples.Order10 \ Disattiva"

.

Qualcuno sa cosa fare per risolvere il problema? Come sfuggire gli spazi forse?

Ho provato con l'abbreviazione "HKLM" per "HKEY_LOCAL_MACHINE", citazioni extra, tilde e altre sostituzioni per gli spazi, ma ora sono a corto di idee. : - (

TIA

Mike

È stato utile?

Soluzione

Non credo che il problema sono gli spazi, ma più probabilmente permessi.

Se provo il codice, funziona benissimo per le chiavi che risiedono in HKEY_CURRENT_USER, ma ottengo lo stesso errore, come si per chiavi in ??HKEY_LOCAL_MACHINE. L'errore vero è però ACCESS_DENIED.

Il modo più semplice è che se si scarica Process Monitor da Microsoft, dove si possono vedere tutte le attività del registro in tempo reale per ogni processo insieme con gli eventuali errori.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top