web-dev-qa-db-ja.com

一部のアプリケーションでは一時フォルダに書き込みできないため、アプリがクラッシュします

理由はわかりませんが、コンピュータの多くのアプリケーションが突然起動できなくなります。たとえば、Chrome Portableは実行時にこのエラーを表示します:

NSISエラー

一時ファイルの書き込み中にエラーが発生しました。一時フォルダが有効であることを確認してください

他の多くのアプリケーションは、実行時にWindowsエラーレポートを表示するだけです。

幸い、4か月前(まったく問題がなかったとき)にCドライブからノートンゴーストイメージを作成しましたが、Windowsの復元が成功した後も、問題は同じです。 Google Chromeはまだ上記のエラーを表示しており、他のプログラムはまだ実行できません。

その理由でインターネット全体を検索しました。ほとんどの人は、%Temp%フォルダーのアクセス許可に問題があると言っています。フォルダの所有権を取得し、一時フォルダの所有者を「管理者または現在のユーザー」に設定し、「管理者」と「現在のユーザー」および「ユーザー」プロファイルへのフルアクセスを設定しましたが、それでも同じです。私はこれらをC:\windows\Tempフォルダにも実行しました。

「プロセスモニター」を実行して問題を監視することすらできません。

%Temp%C:\windows\Tempの両方のフォルダーパスをc:\Tempに変更しましたが、問題は同じです。

多くのプログラムがTempフォルダーにファイルを書き込めないようですが、「FirefoxPortable」で書き込めるようです。

仕様:Win 732ビットUltimateSP1


昨日新しい新しいWindows7をインストールしましたが、問題はまだあります。私は何か面白いものを見つけました:ChromeポータブルディレクトリをFドライブの上位ルートに移動すると、プログラムは正常に起動します!! Windowsには特定のパス、たとえばほとんどのアプリケーションに問題があるようですコンピューターのF:\programs\InstallでTempにアクセスできず、エラーが発生します。FおよびInstallフォルダーのアクセス許可を確認しました。すべてが他のドライブと同じです。ICACLS F:\ /setintegritylevel Hを使用すると言われていますが、何も変更されません。 、この問題に対処する唯一の方法は、Win XPにダウングレードすることです。そのため、アクセス許可などのセキュリティ機能は動作しません。この頭痛から私を助けてください。

5
Alireza

プログラムを実行する場合(つまり、OS /システムではなくアカウントのようにyo)、プログラムが一時フォルダーに書き込まれることを期待しています。デフォルトでは、%osdrive%(別名C:\users\username\AppData\local\tempです。

Cmd.exeを起動してecho %tmp%と入力すると、そのことを確認できます

これはOSの一時ファイルとは異なるはずです!そうしないと、ユーザーはOSの一時ファイル内のファイルを変更してシステムを危険にさらす可能性があります。

2
Hennes

以下は、私のポータブルFirefoxインストールの問題を解決しました。これを盲目的に実行する前に、 Icacls および Integrity Levels を調べる必要があります。

firefox_lowIntegrity.bat

icacls "D:\{PATH_TO}\FirefoxPortable\FirefoxPortable.exe" /setintegritylevel low
REM DOWNLOADS:
icacls "C:\Users\{USER}\Downloads" /setintegritylevel (OI)(CI)low /t /c

REM TEMP:
icacls "C:\Users\{USER}\AppData\Local\Temp" /setintegritylevel (OI)(CI)low /t /c

REM add data LOCAL:
REM icacls "C:\Users\YourWindowsUserAccount\AppData\Local\Mozilla" /setintegritylevel (OI)(CI)low /t /c

REM add data ROAMING:
REM icacls "C:\Users\YourWindowsUserAccount\AppData\Roaming\Mozilla" /setintegritylevel (OI)(CI)low /t /c

REM FLASH:
REM icacls "C:\Users\YourWindowsUserAccount\AppData\Roaming\Macromedia\Flash Player" /setintegritylevel (OI)(CI)low /t /c

REM PORTABLE:
icacls "D:\{PATH_TO}\FirefoxPortable\App\Firefox\firefox.exe" /setintegritylevel low
icacls "D:\{PATH_TO}\FirefoxPortable\App" /setintegritylevel (OI)(CI)low /t /c
icacls "D:\{PATH_TO}\FirefoxPortable\Data" /setintegritylevel (OI)(CI)low /t /c
0
1AabS2QqsQ

これが私に起こったことと私がしたことです。

何もインストールできませんでした。

  1. 新しいローカル管理者ユーザーを作成しました-ログオンしてインストールを試みました-同じ一時ファイルアクセスエラーです。

  2. windows Updateをインストールし、マルウェアバイトを実行して、卑劣なプロセスが制御されているかどうかを確認しました。変更はありません。

  3. %USERPROFILE%\ appdata\local\temp(c:\ users\yourname\appdata\local\temp)の所有者になりました-変更なし

  4. 次に、実行された一時フォルダを削除しようとしましたが、セーフモードでも「立ち入り禁止」です。


だから私はそれを残して新しいフォルダ tmpと呼ばれる同じ場所に作成しました

次に、インストールパスを変更しました

(コンピューターを右クリック/システムの詳細設定/詳細/環境変数)

tempを%USERPROFILE%\ appdata\local\tmpに、(同様に)tmpを%USERPROFILE%\ appdata\local\tmpに編集しました

インストールが再び機能し始めました-一時フォルダが破損しているか、他のプロセスを制御していて、それを手放さないようです..。

コナー

0
user510132