小さな SWT ベースの Java アプリケーションがあります。インストール時に、swt-win32-*.dll が私のアプリケーションと共に C:\Program Files\myapp\win32 にインストールされます。
プロセス エクスプローラーで自分のアプリケーションを見ると、dll が次の場所から読み込まれていることに気付きました。
C:\Users\[Username]\AppData\Local\Temp\swtlib-32\swt-win32-*.dll
Windows XP では、最終的に次のようになります。
C:\Documents and Settings\[Username]\Local Settings\Temp\swt-win32-*.dll
一時フォルダーから削除してアプリケーションを再起動すると、dll が再度そこにコピーされます。私のアプリケーションが依存している他のdllは、この動作を示しません。
誰が dll をコピーしますか (私のアプリケーションはコピーしません)? その背後にある理由は何ですか?