잘못된 경로로 향하기 전에 포인터를 찾고 있습니다. 나는 HKEY_LOCAL_MACHINE과 HKEY_CURRENT_USER 둘 다에서 사용자 레지스트리를 열고 읽고 쓰고 삭제하는 작은 C# 콘솔 앱을 작성했습니다C# 콘솔 응용 프로그램에서 호출 할 때 RegistryPermission 오류
물론 내 PC와 모든 테스트 PC에서 작동하지만 클라이언트 중 하나는 System.Security.Permissions.RegistryPermission, mscorlib에, 버전 = 2.0.0.0 '유형의 허가 요청을, 문화 = 중립 : 그들은 .EXE에게
System.Security.SecurityException를 실행하려고하면 오류가 , PublicKeyToken = b77a5c561934e089 '실패했습니다. Microsoft.Win32.RegistryKey.CheckSubKeyReadPermission (문자열 subkeyName) 에서 System.Security.CodeAccessPermission.Demand() 에서 System.Security.CodeAccessSecurityEngine.Check에서
(개체 수요, StackCrawlMark & stackMark, 부울 isPermSet) 에서 EstateMasterClearReg.Program.Main에서 Microsoft.Win32.RegistryKey.OpenSubKey (문자열 이름, 부울 쓰기) 에서 Microsoft.Win32.RegistryKey.CheckOpenSubKeyPermission (문자열 subkeyName 부울> subKeyWritable) (문자열 [] 인수)
조치 실패한 것은 :
수요. 실패한 첫 번째 권한 유형이었다 인트라넷
내가 클라이언트에서이를 테스트 할 수 없습니다 같이했다 실패 System.Security.Permissions.RegistryPermission 어셈블리의 존 기계 (그리고 그들이 .exe가 로컬로 실행되고 Admin으로 로그인되었다고 말했습니다.) 제가 앱이 어떤 머신에서 실행될 수 있도록하기 위해 할 수있는 일이 있습니까?
강력한 이름의 키와 AllowPartiallyTrustedCallers를 사용해야합니까, 아니면 System.Security.Permissions.RegistryPermission을 사용해야합니까?
도움 주셔서 감사합니다.
그런데 "로컬에서 실행"으로 귀하 또는 클라이언트가 의미하는 것을 정의 할 수 있습니까? .EXE가 로컬 드라이브에 있고 거기에서 실행된다는 것을 의미합니까? –
그건 내 가정 이었어. (그들이 전화로 내게 말한 것.) 아래의 설명을 업데이트했으나, 기본적으로 나는 C 드라이브에 저장하고 거기에서 실행해야한다고 말한 것입니다. – Skittles