Instalator Windows używa dysku USB do celów tymczasowych

14

Podczas instalowania aplikacji opartych na Instalatorze Windows wydaje się, że często używa mojego zewnętrznego dysku twardego USB (gdy jest podłączony) jako lokalizacji tymczasowej, podczas gdy rozwija się i instaluje aplikację (tworzy folder z katalogu głównego o nazwie GUID) . Czy można to zmienić, aby zawsze był ustawiony domyślny konkretny dysk?

Wydaje się, że dzieje się tak w systemach Windows Vista i 7, nie jest pewne co do poprzednich wydań.

EDYCJA: Bieżące zmienne środowiskowe wyglądają tak:

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

EDYCJA: Mam dziwne podejrzenie, że używa dysku z największą dostępną wolną przestrzenią.

Douglas Anderson
źródło
Nie wiem, czy można to zmienić, czy nie, ale powiem ci, dlaczego tak się dzieje. Używa dysku, który ma więcej wolnego miejsca, do wyprowadzenia katalogu tymczasowego z plikami i, jak mówisz, jego nazwa będzie unikalna.
Xandy,
2
Wierzę, że masz ochotę na edycję „korzystanie z największej dostępnej wolnej przestrzeni”. Moje doświadczenie jest całkowicie anegdotyczne, ale dodałem terabajtowy dysk twardy do mojego systemu Windows 7 wkrótce po zainstalowaniu systemu operacyjnego. Już następnego dnia uruchomiono aktualizacje systemu Windows. Nie umieściłem jeszcze żadnych plików na nowym dysku i po ponownym uruchomieniu znalazłem tam kilka plików tymczasowych.
TechParadox

Odpowiedzi:

14

Uważam, że Instalator Windows używa %TMP%zmiennej środowiskowej. Możesz sprawdzić tę wartość i sprawdzić, czy zdarza się, że wskazuje na literę zewnętrznego dysku HD.

AKTUALIZACJA

Dziwne ... wydaje się, że jest to „funkcja” Instalatora Windows (użycie dysku z największą ilością wolnego miejsca). Nie mogę znaleźć opcji, aby to wyłączyć. Zastanawiam się, czy możesz zablokować system za pomocą flagi uprawnienia / flagi tylko do odczytu lub czegoś podobnego. Wkurza mnie, że Microsoft nie dałby ci opcji wyłączenia tego.

2. AKTUALIZACJA

Ok - więc znalazłem ten artykuł o właściwości ROOTDRIVE . Szczególnej uwagi:

Jeśli ROOTDRIVE nie jest ustawiony w wierszu poleceń lub nie jest utworzony w tabeli właściwości, instalator ustawia tę właściwość. Podczas instalacji administracyjnej instalator ustawia ROOTDRIVE na pierwszy podłączony dysk sieciowy, na którym można zapisać. Jeśli nie jest to instalacja administracyjna lub jeśli instalator nie może znaleźć dysków sieciowych, instalator ustawia ROOTDRIVE na dysk lokalny, na którym można zapisać największą ilość wolnego miejsca.

Andrew Flanagan
źródło
Nie wydaje mi się Moje zmienne% TEMP% i% TMP% wskazują na mój dysk C: a instalatorzy często kopiują pliki na mój dysk R:.
Snark
TEMP i TMP są ustawione na: C: \ Users \ <me> \ AppData \ Local \ Temp
Douglas Anderson
Wpadłem na podobną sytuację. Nie jestem pewien, co to za lekarstwo.
Vivek
Rozumiem, że jeśli właściwość ROOTDRIVE nie jest ustawiona, pliki tymczasowe trafiają na dysk z największą ilością wolnego miejsca. Ale bardziej interesujące jest pytanie, dlaczego te pliki tymczasowe (!) Nie są automatycznie usuwane po zakończeniu instalacji?
Erik
3

Miałem ten problem z zewnętrznym dyskiem twardym, który był używany wyłącznie do osobistych zdjęć i domowego wideo. Wyłączyłem uprawnienia do usuwania dla wszystkich użytkowników, aby zapobiec utracie danych. Jednak dysk zaczął się zapełniać plikami tmp MSI. Każde automatyczne usunięcie zostało odrzucone, podobnie jak każde narzędzie do czyszczenia, ponieważ (jak wspomniałem) odmówiłem pozwolenia na usunięcie. Moim rozwiązaniem było wyłączenie wszystkich uprawnień na dysku docelowym dla wszystkich użytkowników (z wyjątkiem uprawnień do „zapisu” dla jednego użytkownika), uniemożliwiając w pierwszej kolejności zapisywanie systemu operacyjnego na dysku. Mam nadzieję że to pomoże.

igła
źródło