임시 목적으로 USB 드라이브를 사용하는 Windows Installer 된 앱을 설치할 때 외부

Windows Installer를 기반으로 구축 된 앱을 설치할 때 외부 USB 하드 디스크 (연결되어있을 때)가 응용 프로그램을 확장하고 설치하는 동안 임시 위치로 종종 사용되는 것처럼 보입니다 (guid 이름으로 루트에 폴더를 만듭니다) . 어쨌든 항상 특정 드라이브로 기본 설정을 변경해야합니까?

이것은 Windows Vista 및 7의 경우에 해당하며 이전 릴리스에 대해서는 확실하지 않습니다.

편집 : 현재 환경 변수는 다음과 같습니다

TEMP=C:\Users\<me>\AppData\Local\Temp
TMP=C:\Users\<me>\AppData\Local\Temp

편집 : 사용 가능한 가장 큰 여유 공간이있는 드라이브를 사용하고 있다는 재미있는 의심이 있습니다.



답변

Windows Installer는 %TMP%환경 변수를 사용한다고 생각 합니다. 이 값을 확인하여 외부 HD 드라이브 문자를 가리키는 지 확인할 수 있습니다.

최신 정보

이상하게도 이것은 여유 공간이 가장 많은 드라이브를 사용하기 위해 Windows Installer의 “기능”인 것 같습니다. 사용 중지하는 옵션을 찾을 수 없습니다. 권한 / 읽기 전용 플래그 등으로 시스템을 잠글 수 있는지 궁금합니다. Microsoft가이 기능을 해제 할 수있는 옵션을 제공하지 않았다고 생각합니다.

두 번째 업데이트

Ok – 그래서 ROOTDRIVE 속성에 대한이 기사를 찾았습니다 . 특히 참고 사항 :

명령 줄에 ROOTDRIVE가 설정되어 있지 않거나 속성 테이블에 작성된 경우 설치 관리자가이 속성을 설정합니다. 관리자 설치 중에 설치 관리자는 ROOTDRIVE를 쓸 수있는 첫 번째 연결된 네트워크 드라이브로 설정합니다. 관리자 설치가 아니거나 설치 관리자가 네트워크 드라이브를 찾을 수없는 경우 설치 관리자는 ROOTDRIVE를 로컬 드라이브로 설정 하여 여유 공간이 가장 많은 곳에 쓸 수 있습니다
.


답변

개인 사진 및 홈 비디오 전용으로 사용되는 외장 HDD 로이 문제가 발생했습니다. 모든 사용자가 데이터 손실을 막기 위해 ‘삭제’권한을 비활성화했습니다. 그러나 드라이브가 MSI tmp 파일로 채워지기 시작했습니다. 삭제 권한을 거부했기 때문에 모든 청소 도구와 마찬가지로 자동 제거가 거부되었습니다. 내 솔루션은 모든 사용자에 대해 대상 드라이브의 모든 권한을 끄고 ( 한 명의 사용자에 대한 ‘쓰기’권한 제외 ) OS가 드라이브에 처음으로 쓰지 못하게하는 것입니다. 도움이 되었기를 바랍니다.