Windows Installer sử dụng ổ đĩa USB cho mục đích tạm thời


14

Khi cài đặt các ứng dụng được xây dựng xung quanh Windows Installer, có vẻ như nó thường sử dụng đĩa cứng usb ngoài của tôi (khi được kết nối) làm vị trí tạm thời trong khi nó mở rộng và cài đặt ứng dụng (tạo thư mục gốc bằng tên hướng dẫn) . Có cách nào để thay đổi điều này để nó luôn mặc định cho một ổ đĩa cụ thể không?

Điều này dường như là trường hợp trên Windows Vista và 7, không chắc chắn về các phiên bản trước.

EDIT: Các biến môi trường hiện tại trông như thế này:

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

EDIT: Tôi có một nghi ngờ hài hước rằng đó là sử dụng ổ đĩa có dung lượng trống lớn nhất hiện có.


Tôi không biết có cách nào để thay đổi hay không, nhưng tôi sẽ cho bạn biết lý do tại sao điều này xảy ra. Nó sử dụng ổ đĩa có nhiều không gian trống hơn để xuất thư mục tạm thời với các tệp và như bạn nói, tên của nó sẽ là duy nhất.
Xandy

2
Tôi tin rằng bạn đang làm điều gì đó với chỉnh sửa "sử dụng không gian trống lớn nhất có sẵn". Trải nghiệm của tôi hoàn toàn là giai thoại, nhưng tôi đã thêm một ổ cứng terabyte vào hộp Windows 7 của mình ngay sau khi tôi cài đặt HĐH. Ngay ngày hôm sau, nó đã chạy các bản cập nhật Windows. Tôi chưa đặt bất kỳ tệp nào trên ổ đĩa mới và sau khi khởi động lại, tôi thấy một loạt các tệp tạm thời được lưu ở đó.
TechParadox

Câu trả lời:


14

Tôi tin rằng Windows Installer sử dụng %TMP%biến môi trường. Bạn có thể muốn kiểm tra giá trị này và xem nếu nó tình cờ được trỏ đến ký tự ổ đĩa ngoài HD của bạn.

CẬP NHẬT

Thật kỳ lạ ... đây dường như là một "tính năng" của Windows Installer (để sử dụng ổ đĩa có không gian trống nhất). Tôi không thể tìm thấy một tùy chọn để vô hiệu hóa nó. Tôi tự hỏi nếu bạn có thể khóa hệ thống bằng cờ cấp phép / chỉ đọc hoặc một cái gì đó tương tự. Tôi nhận ra rằng Microsoft sẽ không cung cấp cho bạn tùy chọn tắt cái này.

CẬP NHẬT thứ 2

Ok - vì vậy tôi tìm thấy bài viết này về tài sản ROOTDRIVE . Đặc biệt lưu ý:

Nếu ROOTDRIVE không được đặt tại một dòng lệnh hoặc được ủy quyền vào bảng Thuộc tính, trình cài đặt sẽ đặt thuộc tính này. Trong quá trình cài đặt quản trị, trình cài đặt sẽ đặt ROOTDRIVE vào ổ đĩa mạng được kết nối đầu tiên mà nó tìm thấy có thể được ghi vào. Nếu đó không phải là cài đặt quản trị hoặc nếu trình cài đặt không tìm thấy ổ đĩa mạng, trình cài đặt sẽ đặt ROOTDRIVE thành ổ đĩa cục bộ có thể được ghi là có không gian trống nhất.


Tôi không nghĩ vậy. Các biến% TEMP% và% TMP% của tôi trỏ đến ổ C: của tôi và các trình cài đặt thường sao chép các tệp vào ổ R: của tôi.
Snark

TEMP và TMP được đặt thành: C: \ Users \ <me> \ AppData \ Local \ Temp
Douglas Anderson

Tôi va vào tình huống tương tự. Không chắc phương thuốc là gì.
Vivek

Tôi hiểu rằng nếu thuộc tính ROOTDRIVE không được đặt, các tệp tạm thời sẽ chuyển vào đĩa với dung lượng trống lớn nhất. Nhưng câu hỏi thú vị hơn là tại sao các tệp tạm thời (!) Này không tự động bị xóa khi cài đặt kết thúc?
Erik

3

Tôi gặp vấn đề này với một ổ cứng gắn ngoài được sử dụng riêng cho ảnh cá nhân và video gia đình. Tôi đã vô hiệu hóa quyền 'xóa' cho tất cả người dùng để ngăn chặn mọi dữ liệu bị mất. Tuy nhiên, ổ đĩa đã bắt đầu lấp đầy các tệp tmp MSI. Mọi thao tác xóa tự động đều bị từ chối như mọi công cụ dọn dẹp vì (như tôi đã đề cập) tôi đã từ chối xóa quyền. Giải pháp của tôi là tắt tất cả các quyền trên ổ đĩa đích cho tất cả người dùng (ngoại trừ quyền riêng tư 'ghi' cho một người dùng), ngăn hệ điều hành ghi vào ổ đĩa ngay từ đầu. Hi vọng điêu nay co ich.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.