처음으로 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에 위와 같이 지정해주면 된다.
댓글 없음:
댓글 쓰기