2010-12-08 3 views
1

ASP에서 공백이 포함 된 경로를 Windows 레지스트리 키에 쓰는 데 문제가 있습니다. WScript.Shell RegRead 내 키가 충분히 행복하지만 RegWrite 그것을 좋아하지 않습니다. 다른 (더미) 경로를 사용하여 테스트 한 결과 실제로 문제를 일으키는 공간 인 것처럼 보입니다.RegWrite를 사용하여 ASP에서 Windows 레지스트리 경로의 공백을 처리하는 방법

<% 
    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" 
%> 

가져 : 레지스트리 키에서 잘못된 루트 "HKLM \ SOFTWARE \ 데이터 액세스 전세계가 \ 비주얼 DataFlex는 \ 10.0 \ 웹 애플리케이션 서버 \ 웹 응용 프로그램 DAW.Examples.Order10 \ 사용 안 함을 \".

아무 문제없이 문제를 해결하려면 어떻게해야합니까? 어떻게 그 공간을 벗어날 수 있을까요?

공백에 대해 "HKEY_LOCAL_MACHINE"의 약어 인 "HKEY_LOCAL_MACHINE", 추가 인용 부호, 물결표 및 다른 대체 문자를 사용해 보았습니다.하지만 지금은 아이디어가 없습니다. :-(

TIA는

마이크

나는 문제가 공간,하지만 더 아마도 권한입니다.

내가 코드를하려고하면 생각하지 않는다

답변

1

, 그것은 HKEY_CURRENT_USER에 거주하는 키에 잘 작동 하지만 HKEY_LOCAL_MACHINE의 키와 같은 오류가 발생합니다. 실제 오류는 ACCESS_DENIED입니다.

가장 간단한 방법은 Microsoft에서 Process Monitor을 다운로드하여 모든 실시간 레지스트리 activ 오류가있는 각 프로세스의 ity.

+0

카코 - 감사합니다! 흥미 롭군요.하지만 "HKEY_LOCAL_MACHINE \ SOFTWARE \ Vodafone \ WwanSdk \ Wan \ Timeouts \ testVal"(공백없이 HKLM의 멋진 깊은 경로)로 시도해 보았습니다. 완벽하게 작동했기 때문에 이것이 공백이라고 생각합니다 . 나는 HKLM에 대한 모든 권한을 모든 사람에게 부여하려고했지만 변경은하지 않았습니다. :-( –

+0

Ah ha! 예, 당신 말이 맞습니다. 프로세스 모니터에서 오류가 실제로 액세스가 거부 된 것처럼 보입니다. 따라서 "사용자"그룹에 "모든 권한"을 명시 적으로 부여하고 다시 떨어져 ... 인터넷의 거룩한 신들에 의해 ... 작동! 감사합니다 Carko! 당신은 스타입니다! :-) –

+0

BTW,보다는 전체 그룹 "사용자", 중요한 "전체 제어" 허가 허가는 "IUSR_XXXXX ..." "인터넷 게스트 계정"에 대한 것입니다. –

관련 문제