Windows Installer, що використовує usb-диск для тимчасових цілей


14

Під час встановлення додатків, побудованих навколо інсталятора Windows, виявляється, що він часто використовує мій зовнішній жорсткий диск usb (коли він підключений) як тимчасове місце, коли він розширюється та встановлює додаток (створює папку з коренем із назвою настанови) . Чи все-таки потрібно це змінити, щоб він завжди був за замовчуванням на певний диск?

Схоже, це стосується Windows Vista та 7, не впевнений у попередніх випусках.

EDIT: Поточні змінні середовища виглядають приблизно так:

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

EDIT: У мене є смішна підозра, що він використовує накопичувач із найбільшим доступним вільним місцем.


Я не знаю, є спосіб змінити це чи ні, але я скажу вам, чому це відбувається. Він використовує накопичувач, який має більше вільного простору для виведення тимчасового каталогу з файлами, і, як ви кажете, його ім'я буде унікальним.
Xandy

2
Я вважаю, що ви вирішили щось із редагуванням "використання найбільшого доступного вільного місця". Мій досвід абсолютно анекдотичний, але я додав терабайтний жорсткий диск у вікно Windows 7 незабаром після встановлення ОС. Наступного дня він запустив оновлення Windows. Я ще не ставив жодних файлів на новий диск, і після перезавантаження я знайшов у ньому кучу тимчасових файлів.
TechParadox

Відповіді:


14

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

ОНОВЛЕННЯ

Дивно ... це, здається, є "особливістю" інсталятора Windows (використовувати диск з максимально вільним місцем). Я не можу знайти варіант відключення. Цікаво, чи можна заблокувати систему за допомогою прапора дозволу / лише для читання чи чогось подібного. Думає, що Microsoft не дасть вам можливості вимкнути це.

2-е ОНОВЛЕННЯ

Гаразд - тому я знайшов цю статтю про властивість ROOTDRIVE . Зокрема, зверніть увагу:

Якщо ROOTDRIVE не встановлено в командному рядку або зареєстровано в таблиці властивостей, інсталятор встановлює це властивість. Під час адміністративної установки інсталятор встановлює ROOTDRIVE на перший підключений мережевий диск, на який він виявляє, що можна записати. Якщо це не адміністративна установка, або якщо інсталятор не може знайти мережевих накопичувачів, інсталятор встановлює ROOTDRIVE на локальний диск, на який може бути записано найбільше вільного місця.


Я не думаю, що так. Мої змінні% TEMP% та% TMP% вказують на мій диск C: а інсталятори часто копіюють файли на мій диск R:.
Снарк

TEMP і TMP встановлені на: C: \ Users \ <me> \ AppData \ Local \ Temp
Дуглас Андерсон

Я наткнувся на подібну ситуацію. Не впевнений, що таке засіб.
Vivek

Я розумію, що якщо властивість ROOTDRIVE не встановлена, тимчасові файли переходять на диск з найбільшою кількістю вільного місця. Але цікавіше питання, чому ці тимчасові (!) Файли не видаляються автоматично, коли інсталяція закінчена?
Ерік

3

У мене була ця проблема із зовнішнім жорстким диском, який використовувався виключно для особистих фотографій та домашнього відео. Я відключив дозволи "видалити" для всіх користувачів, щоб запобігти втраті будь-яких даних. Однак накопичувач почав заповнюватися MSI-файлами tmp. Будь-яке автоматичне видалення було відмовлено, як і будь-який засіб для чищення, оскільки (як я вже згадував) я відмовився видаляти дозволи на видалення. Моє рішення полягало в тому, щоб вимкнути всі дозволи на цільовому диску для всіх користувачів (за винятком привілей "написати" для одного користувача), не дозволяючи ОС записувати на привід в першу чергу. Сподіваюсь, це допомагає.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.