0

내 응용 프로그램에 대한 설치 프로그램을 만드는 데 사용하는 VDProj 프로젝트가 있습니다. VS2012에서 제거되었으므로 Visual Studio 2010을 다른 컴퓨터에 설치해야만했습니다. 매우 성가 시지만 .. 다른 스레드입니다.설치 후 VDProj 디렉토리에 쓰기 권한이 없습니다.

최종 사용자가 프로그램을 설치하면 c : \ program files \ mycompany \ 폴더에 파일을 생성합니다.이 폴더는 사용자의 쓰기 권한이없는 상위 디렉토리에서 보안을 상속합니다.

내 프로그램을 실행하면 일부 로그 파일이 생성되고 필요한 경우 소프트웨어 업데이트가 수행된다는 점이 문제입니다. 따라서 내 응용 프로그램에는 디렉토리에 대한 쓰기 액세스가 필요합니다.

'MyDocuments'폴더 나 쓰기 권한이있는 다른 폴더에 소프트웨어를 설치할 수 있다고 추측하고 있지만 더 좋은 방법이 있는지 궁금한가요?

+0

이것은 완전히 정상적인 기능으로 UAC라고하는 Windows 기능입니다. 확실하게 당신은 그것을 전해 들었습니다. AppData 폴더를 사용하여 파일을 작성하고 Environment.GetFolderPath()를 사용하십시오. –

+0

로그 파일이나 다른 것들을 저장하는 것이면 좋겠지 만 소프트웨어를 자동으로 업데이트하기 때문에 쓰기가 필요합니다. 프로그램 디렉토리에. –

답변

0

프로그램이 Program Files와 같은 보호 된 위치에 쓰기 작업을해야 할 경우 ShellExecute 기능과 runas 동사/작업을 사용하여 프로그램을 시작할 수 있습니다. 그러면 관리자가 권한 상승을 요구하도록 UAC의 동의 대화 상자가 열립니다. 그것이 너무 자주 일어나는 경우에 그것은 성가시다, 그래서 필요할 때만 그것을 할 것입니다.