Установщик Windows, использующий USB-диск для временных целей

14

При установке приложений, созданных на основе установщика Windows, может показаться, что он часто использует мой внешний жесткий диск USB (когда он подключен) в качестве временного расположения, когда он расширяется и устанавливает приложение (создает папку из корня с именем guid) , Можно ли как-то изменить это, чтобы оно всегда было по умолчанию для определенного диска?

Похоже, что это имеет место в Windows Vista и 7, не уверен в предыдущих выпусках.

РЕДАКТИРОВАТЬ: Текущие переменные среды выглядят так:

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

РЕДАКТИРОВАТЬ: У меня есть забавное подозрение, что он использует диск с наибольшим доступным свободным пространством.

Дуглас Андерсон
источник
Я не знаю, есть ли способ изменить это или нет, но я скажу вам, почему это происходит. Он использует диск, который имеет больше свободного места для вывода временного каталога с файлами, и, как вы говорите, его имя будет уникальным.
Xandy
2
Я полагаю, что у вас есть кое-что с редактированием "используя самое большое доступное свободное пространство". Мой опыт совершенно анекдотичен, но я добавил терабайтный жесткий диск в свою коробку Windows 7 вскоре после установки ОС. Уже на следующий день запускались обновления Windows. Я еще не поместил никаких файлов на новый диск, и после перезагрузки я нашел там кучу временных файлов.
TechParadox

Ответы:

14

Я считаю, что установщик Windows использует %TMP%переменную среды. Возможно, вы захотите проверить это значение и посмотреть, указывает ли оно на букву вашего внешнего жесткого диска.

ОБНОВИТЬ

Странно ... кажется, это "особенность" установщика Windows (использовать диск с наибольшим количеством свободного места). Я не могу найти вариант, чтобы отключить его. Интересно, можете ли вы заблокировать систему с помощью разрешения / только для чтения или чего-то подобного. Меня беспокоит, что Microsoft не даст вам возможность отключить это.

2-е ОБНОВЛЕНИЕ

Итак, я нашел эту статью о собственности ROOTDRIVE . Особого примечания:

Если ROOTDRIVE не установлен в командной строке или не создан в таблице свойств, установщик устанавливает это свойство. Во время административной установки программа установки устанавливает ROOTDRIVE на первый подключенный сетевой диск, на который он может записать данные. Если это не административная установка или программа установки не может найти сетевые диски, программа установки устанавливает для ROOTDRIVE локальный диск, на который можно записать наиболее свободное место.

Андрей Фланаган
источник
Я так не думаю. Мои переменные% TEMP% и% TMP% указывают на мой диск C: и установщики часто копируют файлы на мой диск R :.
Snark
TEMP и TMP установлены в: C: \ Users \ <me> \ AppData \ Local \ Temp
Дуглас Андерсон
Я столкнулся с подобной ситуацией. Не уверен, что это за средство.
Вивек
Я понимаю, что если свойство ROOTDRIVE не установлено, временные файлы отправляются на диск с огромным количеством свободного места. Но более интересный вопрос заключается в том, почему эти временные (!) Файлы не удаляются автоматически после завершения установки?
Эрик
3

У меня была эта проблема с внешним HDD, который использовался исключительно для личных фотографий и домашнего видео. Я отключил разрешения «удалить» для всех пользователей, чтобы предотвратить потерю любых данных. Тем не менее, диск начал заполняться файлами MSI tmp. В любом автоматическом удалении было отказано, как и в любом другом инструменте для очистки, потому что (как я уже говорил) я отказался от разрешений на удаление. Мое решение состояло в том, чтобы отключить все разрешения на целевом диске для всех пользователей (за исключением привилегий «запись» для одного пользователя), предотвращая в первую очередь запись операционной системы на диск. Надеюсь это поможет.

игла
источник