一時的な目的でUSBドライブを使用するWindowsインストーラー


14

Windowsインストーラーを中心に構築されたアプリをインストールするとき、アプリケーションを展開してインストールする間(接続されている場合)、外部USBハードディスクを一時的な場所として使用することがよくあります(GUID名でルートからフォルダーを作成します) 。とにかくこれを変更して、常に特定のドライブがデフォルトになるようにしていますか?

これは、Windows Vistaおよび7に当てはまるようで、以前のリリースについては不明です。

編集:現在の環境変数は次のようになります。

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

編集:私はそれが最大の空き容量を持つドライブを使用しているという面白い疑いがあります。


変更する方法があるかどうかはわかりませんが、これが起こる理由を説明します。空き領域の多いドライブを使用して、ファイルを含む一時ディレクトリを出力しますが、その名前は一意です。
ザンディ2009年

2
「利用可能な最大の空き領域を使用する」編集で何かに取り組んでいると思います。私の経験はまったくの逸話ですが、OSをインストールした直後にWindows 7ボックスにテラバイトのHDDを追加しました。翌日、Windows Updateを実行しました。私はまだ新しいドライブにファイルを入れていませんでしたが、再起動後に一時ファイルの束がそこに隠されているのを見つけました。
TechParadox 2009年

回答:


14

Windowsインストーラーは%TMP%環境変数を使用すると考えています。この値を確認して、外部HDドライブ文字を指しているかどうかを確認することをお勧めします。

更新

奇妙なことに、これはWindowsインストーラーの「機能」のようです(最も空き容量の多いドライブを使用するため)。無効にするオプションが見つかりません。許可/読み取り専用フラグなどでシステムをロックアウトできるかどうか疑問に思います。マイクロソフトがこれをオフにするオプションをあなたに与えないというのは、私を悩ませます。

2回目の更新

わかりました-それで、ROOTDRIVEプロパティに関するこの記事を見つけました。特に注意してください:

ROOTDRIVEがコマンドラインで設定されていない場合、またはプロパティテーブルに作成されていない場合、インストーラーはこのプロパティを設定します。管理者のインストール中に、インストーラはROOTDRIVEを、書き込み可能な最初に接続されたネットワークドライブに設定します。管理インストールではない場合、またはインストーラーがネットワークドライブを見つけられない場合、インストーラーは、ROOTDRIVEを、空き容量が最大になるように書き込むことができるローカルドライブに設定し ます。


そうは思いません。%TEMP%変数と%TMP%変数はC:ドライブを指し、インストーラーはR:ドライブにファイルをコピーすることがよくあります。
スナーク

TEMPおよびTMPは、C:\ Users \ <me> \ AppData \ Local \ Temp
Douglas Andersonに設定されます

私は同様の状況にぶつかりました。治療法が何なのかわかりません。
Vivek

ROOTDRIVEプロパティが設定されていない場合、一時ファイルは最大の空き容量を持つディスクに移動することを理解しています。しかし、より興味深い質問は、これらの一時ファイルがインストールの終了時に自動的に削除されないのはなぜですか?
エリック

3

個人的な写真やホームビデオ専用に使用される外付けHDDでこの問題が発生しました。データが失われないように、すべてのユーザーの「削除」権限を無効にしました。ただし、ドライブはMSI tmpファイルでいっぱいになり始めました。(前述したように)削除権限を拒否したため、自動削除はすべてのクリーニングツールと同様に拒否されました。私の解決策は、すべてのユーザーのターゲットドライブのすべてのアクセス許可を無効にし(1人のユーザーの「書き込み」特権を除く)、そもそもOSがドライブに書き込みできないようにすることでした。お役に立てれば。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.