一部の64ビットWindows 7マシンでSysInternalsからプロセスモニターを起動しようとすると、プロセスが起動しません。エラーメッセージはありません。ダブルクリックしても何も起こりません。他の64ビットWindows 7コンピューターは正常に動作します。何か案は?
これが私が見つけたものです。 32ビットのProcmon.exeには、64ビットのexeがバイナリリソースとして含まれています。 32ビットのexeファイルが起動すると、64ビットバージョンがProcmon64.exeという隠しファイルに抽出されて実行されます。何らかの理由で、このプロセスは一部のWindows 7インストールで失敗します。
Visual Studio 2010を使用して64ビットのexeを抽出できました。
抽出されたexeにProcmon64.exe(ハイフンなし)という名前を付けないでください。32ビットのProcmonは、機会があれば削除することを試みます。
Visual Studioがない場合は、ResourcesExtract- http://www.nirsoft.net/utils/resources_extract.html のようなWindows実行可能リソースエクストラクターを使用してください。
あなたの心を爆破させてください。 procmon.exeを開始するには、ワークステーションサービスの実行が必要です。それは何かを列挙するためにそれを使用し、それなしで静かに死んでしまいます。
これはどこにも文書化されておらず、かなり偽物です。
次のPerlスクリプトをtempフォルダーに配置して実行し、ProcMon64.exeを抽出することに成功しました。
use File::Copy;
if(fork()==0)
{ system "C:\\SysInternals\\ProcMon.exe"}
else
{ for($i=1;$i<1000;$i++)
{if(-e 'ProcMon64.exe')
{ copy('ProcMon64.exe',$i.'.exe')}
}
}
複数回実行すると、すべて同じである数十の対処法(同じCRC32)が作成されます。
私はこのスレッドが長い間知っているが、最近この問題を見ただけで、役立つかもしれない別の要因に気づきました。管理者権限。管理者としてログインして実行すると、問題なく動作します。非管理者としてログインして実行すると、問題が発生し、抽出されたprocmon-64に同じ問題が表示されます。
ospy はProcMonの代替です。これでprocmonの起動のトラブルシューティングを試すことができます。
この問題を修正するには、環境変数を再確認します。あなたはチェックすることができます%TEMP%
これまでに何かを追加したかどうかを確認します。 Windows temp以外のフォルダをすべて削除してから、再起動します。