안녕하세요 Triumph 입니다.

File.Delete() 사용 시 액세스 거부 문제 해결방법에 대해 포스팅합니다.

문제발생> 아래와 같이 File.Delete 사용 도중 System.UnauthorizedAccessException: ~ 경로에 대한 액세스가 거부되었습니다. 라는 에러 발생

 

MSDN을 통해 확인 해 본 결과 UnauthorizedAccessException 아래와 같을 때 발생합니다.

1. 호출자에게 필요한 권한이 없는 경우

2. path가 디렉터리인 경우

3. path에서 읽기 전용 파일을 지정한 경우

 

항목별로 해결을 시도하였습니다.

1번 : Everyone 권한을 주었으나, 동일한 에러 발생

2번 : 폴더 내 파일 검색 후 지우는 로직이라 해당사항 없음

3번 : 읽기전용 파일이 생성될리가 없는데...이게 문제였습니다.

 

해결법은 읽기전용 옵션을 해제하면 됩니다.

FileInfo file = new FileInfo(strFilePath);
file.IsReadOnly = false;
File.Delete(strFilePath);

Reference

 - http://shared.co.kr/127

 - https://msdn.microsoft.com/ko-kr/library/system.io.file.delete(v=vs.90).aspx

안녕하세요 Triumph 입니다.

 

64비트 환경에서 레지스트리 Software 하위키 접근하는방법에 대해 포스팅 합니다.

 

64bit 환경에서는 HKLM\Software  접근시 기본적으로 HKLM\Software\Wow6432Node 리다이렉션되어 접근하게 됩니다.

이를 해결하기 위해 리다이렉션을 하지 않도록 하는 방법은 아래와 같습니다.

 

 

감사합니다.

'Language > C#' 카테고리의 다른 글

[C#] File.Delete() 사용 시 액세스 거부 문제  (1) 2017.09.26
[C#] 64bit 환경에서 system32 접근하기  (0) 2017.05.17

안녕하세요 Triumph 입니다.

 

64비트 환경에서 system32 디렉터리 접근하는방법에 대해 포스팅 합니다.

 

64bit 환경에서는 c:\windows\system32 디렉터리 접근시 기본적으로 c:\windows\syswow64 디렉터리로 리다이렉션되어 syswow64로 접근하게 됩니다.

이를 해결하기 위해 리다이렉션을 하지 않도록 하는 방법은 아래와 같습니다.

 

 

감사합니다.

 

출처:http://stackoverflow.com/questions/17487653/how-can-disable-redirection-on-win64

+ Recent posts