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

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

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

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

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

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

2 ответа

Решение

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

ОБНОВИТЬ

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

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

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

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

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

Другие вопросы по тегам