개미들을 위한 퀀트 자동 매매 프로그램 개발자 블로그입니다. 프로그래밍과 퀀트 투자를 합니다.

방구석퀀트

네이버카페 : 방구석 퀀트 놀러오세요^^ https://cafe.naver.com/conerquant 가입해 주세요.

2020년 7월 31일 금요일

Visual Studio 2019 installer 파일 엑세스 거부 현상 해결 방법

처음으로 ClickOnce 가 아닌 installer project 라는 확장 프로그램을 통해 내가 개발한 코드를 확장자가 msi 인 설치 파일로 만들어 봤다.

이 프로그램을 처음 다루다 보니 한가지 문제가 된게 있는데,

프로그램 내에서 사용자가 설정한 설정 값을 저장하는 txt 파일을 하나 만들어서 실행파일이 있는 같은 폴더에 두고 읽기,쓰기를 하게끔 개발을 했다.

당연히 msi 를 통한 설치된 프로그램에서도 프로그램이 설치된 곳에 함께 그 설정파일이 설치되었다. 문제는 프로그램이 설치된 곳이 ProgramFiles\ 하위 폴더라서 txt 파일을 일반 프로그램은 Write 할 수 없다는 것! 엑세스 거부 되었다며 에러 메시지 뿜뿜!

이런 문제에 부딛히면 항상 구글신에게 물어보고 구글신은 스택오버플로우를 나를 인도한다. AppDataFolder 라는 곳으로 설정파일이 설치되게끔 installer 에서 설정해 주면 된다고 한다.

위 폴더는 기본적으로는 없는 폴더인데 [File System on Target Machine]에 마우스를 갖다데고 오른쪽을 클릭하면 나오는 팝업메뉴에서 아래와 같이 선택해주면 된다.


생성된 폴더의 속성은 아래와 같다.


그렇다. 가끔 컴퓨터 하드 용량이 부족할 때 숨겨진 파일이 많이 숨어 있는 바로 그곳이다. 알고봤더니 설치되는 프로그램들이 필요에 의해 파일을 생성하고 저장하는 용도의 폴더라고 한다. 그동안 몰랐었어....

근데 문제는 저 AppDataFolder의 실제 경로가 어디냐는 것이다. 그래야 내 프로그램에서도 코드를 그 경로로 바꿀 것 아닌가...

답은 바로...

appadrr = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

요것이다. C# 알라뷰~

아 AppDataFolder로 txt 설정 파일을 설정 하는 방법은... txt 파일 속성에서 


Folder에 위와 같이 지정해주면 된다.







  

댓글 없음:

댓글 쓰기

가장 많이 본 글