2011-08-08 9 views
0

私は小さなSWTベースのJavaアプリケーションを持っています。インストール時に、swt-win32 - *。dllは私のアプリケーションと共にC:\ Program Files \ myapp \ win32にインストールされます。私のDLLがAppData Local Tempに終わるのはなぜですか

私はプロセスエクスプローラで自分のアプリケーションを見たとき、私はDLLがからロードされていることに気づいた:私からそれを削除するたびに

C:\Documents and Settings\[Username]\Local Settings\Temp\swt-win32-*.dll 

:それはで終わるのWindows XPでは

C:\Users\[Username]\AppData\Local\Temp\swtlib-32\swt-win32-*.dll 

tempフォルダにコピーし、アプリケーションを再起動すると、dllがそこに再度コピーされます。私のアプリケーションが依存する他のDLLは、この動作を表示しません。

誰がdllをコピーしますか(私のアプリケーションはありません)? その理由は何ですか?

+1

これは、UACをバイパスするためにアプリが使う種類のトリックです。 Chromeもそれを使用しています。 DLLをサイレントに更新できます。ウイルスも同様です。 –

答えて

1

Javaがうまくいきませんが、JAR(またはあらゆる種類のアーカイブ)内にあれば、ロードする前に実際のファイルに展開する必要があります(OSはサポートされていないためそれを行う方法)。

+0

あなたは正しいです、私は間違っています。 dllは実際には瓶にあり、そこから抽出されます。あなたの答えをありがとう。私は誤って私の誤ったコメントを削除しました;-)。 – bbuser

関連する問題