2011-12-07 3 views
3

프로그램 파일에 내 앱을 설치하면 설치 디렉토리에 항상 파일을 만들고 쓸 수 있습니까? Windows의 여러 버전에서 작동하는 것으로 보이지만 작동하지 않는 상황이 있습니까?Program Files에 설치된 응용 프로그램에 해당 폴더를 수정할 수있는 권한이 있습니까?

주로 로깅에이 방법을 사용하고 있습니다. 이것이 올바른 접근법이 아니라면 기록 할 수있는 더 좋은 곳이 있습니까?

참고 : 설치 프로그램을 실행하려면 관리자 권한이 필요하며 설치 디렉토리의 모든 사용자에게 모든 권한을 부여합니다.

답변

4

앱은 사용자로 실행되지 않으며 사용자는 사용자로 실행됩니다. App을 Program Files에 설치하고이를 수행하기 위해 승격 된 권한이 필요하다고 가정 해 봅시다. 그러면 표준 사용자가 그 앱을 실행할 때 권한이 필요한 사용자가 실행됩니다.

  • 사용자가 응용 프로그램을 실행 "읽기 관리자 : 전체, 사용자", 그렇게 할 수 없습니다 잘 할 수 있습니다 (예를 들어, 관리자, 사용자)이 프로그램 응용 폴더에
  • 모든 권한

    1. 응용 프로그램은 관리자 권한으로 설치됩니다 모든 파일

    에서 설치 시간을 변경하여 설치 프로그램은 자신의 파일의 의 알 필요가 필요가 표준 사용자에게 쓰기 가능하게하고, 권한을 설정 따라 할 수 있습니다. 물론 사용자 데이터는 이 아니며 어쨌든이 아니어야합니다. 이것이 % appdata %와 사용자 프로필이 필요한 것입니다.

    응용 프로그램에 globalsettings.ini 또는 "Program Files \ YourApp"에있는 항목이있는 경우 관리자 권한 (예 : 설치시)이있는 경우 모든 사용자에게 해당 globalsettings에 대한 쓰기 권한을 부여해야합니다. ini 파일. 또는 고급 사용자. 또는 그룹. 또는 앱이 무엇이든지간에.

    요약하면 아니요, 사용자는 ProgFiles에 대한 기본 쓰기 액세스 권한을 가지지 않아야합니다.

  • 0

    예, 앱이 Windows 7에서 실행될 때 또는 사용자 계정이 제한된 사용자 인 경우와 같이 확실히 작동하지 않는 상황이 있습니다.

    우리는 항상 임시 디렉토리 또는 AppData와 같은 특수 폴더에 로그 파일을 저장합니다.

    +0

    설치 프로그램에 관리자 권한이 필요하며 설치 디렉토리에 대한 모든 권한을 부여해야합니다. 이러한 문제는 무시합니까? – dan

    +1

    물론 그렇습니다. 당신은 당신 자신의 질문에 방금 대답했습니다. "내 앱이 모든 사람에게 모든 권한을 부여"하므로 모든 사람이 모든 권한을 갖습니다. 그러나 Program Files에 데이터를 저장하는 것은 좋지 않습니다. – Cylindric