2014-09-03 3 views
0

나는 이것을 작동 시키려고 노력하고있다. VB.NET에서 서비스와 양식 응용 프로그램을 작성했습니다. 둘 다 내 데이터베이스가있는 컴퓨터를 찾기 위해 레지스트리 키에 액세스해야합니다. 양식 앱에서는 멋지게 작동하지만 서비스는 그렇지 않습니다. 나는 권한 문제라고 생각하여 서버 (Windows 2008)에 대한 사용 권한을 확인했으며 문제가없는 경우 관리자로 서비스를 실행하기까지갔습니다.하지만 여전히 기쁨은 아닙니다. 내 코드에 문제가 있습니까?Windows 서비스로 레지스트리 읽기 HKLM

나는 레지스트리에 액세스하는 방법을 시도했다. 첫 번째 방법은 아무것도 서버 변수와 'RK'변수가 아무것도 존재하지 끝나는 두 번째 방법 (그것도 하위 키를 찾을 수없는 것을 말해) 설정 :

Dim server As String = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\EPS\XPV", "Server", Nothing) 

을하고 두 번째는 다음과 같습니다

Dim rk As RegistryKey = Registry.LocalMachine.OpenSubKey("\SOFTWARE\EPS\XPV") 

서비스 자체가 시작됩니다. 값이 공백이라고 표시되는이 줄 바로 뒤에 내 로그 메시지가 표시되기 때문에 서비스가 레지스트리에 액세스 할 수없는 이유를 알아낼 수 있습니다. 양식 앱에서도 할 수 있습니다.

+1

32 비트 및 양식 응용 프로그램이 64 비트 서비스입니까? 혹은 그 반대로도? – Blorgbeard

+0

서비스는 32 비트이고 플랫폼은 64이지만 양식 앱 또한 비슷합니다. – C4W

+0

일주일 만에 아무런 움직임도 없었습니다. 나는 이것이 쉬운 해결책 이었으면 좋겠지 만 그것이 그렇게 보이지는 않는다고 생각합니다. – C4W

답변

1

키/값에 대해 HKLM \ SOFTWARE \ Wow6432Node를 보거나 응용 프로그램을 64 비트로 컴파일하십시오.

관련 문제