ProgramData 폴더에 쓰는 구성 요소가있는 Windows 응용 프로그램이 있습니다. 제거 프로그램을 실행하면이 구성 요소에서 생성 된 파일이 제거되지 않습니다. UAC :: RunElevated 사용하여, 우리가 처음 작동시 경우 ProgramDataProgramData에서 사용자 생성 파일을 삭제하지 못하는 NSIS RMDir
SetOutPath "$RENDERER_INSTALL_DIR"
LogSet On
File /r "${MAGNIFY_DIR}/secRenderer/Arelle/*"
LogSet Off
AccessControl::GrantOnFile "$RENDERER_INSTALL_DIR" "(S-1-5-32-545)" "FullAccess"
으로 타사 구성 요소를 설치,이 구성 요소를 제거하는 동안
경우 ProgramData
에서 자신의 설치 디렉토리에 기록, 우리는 위에서 생성 한 폴더를 삭제하려고 UAC :: RunElevated를 다시 사용하여RMDir /r $RENDERER_INSTALL_DIR
그러나 구성 요소를 작동하여 만든 파일은 제거되지 않습니다.
우리는 이러한 파일이 Administrator가 아닌 구성 요소를 사용하는 사용자가 소유하고 있음을 확인했습니다. 그러나 관리자는 전체 읽기, 쓰기 및 삭제 권한이 있습니다.
어떻게하면 되나요?
UAC 플러그 인을 사용하지 않는 것이 좋습니다. – Anders