質問: プログラムがdllファイルを一時ディレクトリに複数回コピーする場合に備えて、特定のアクセス許可を要求したり、「信頼できる」ものにするために何か特別なことをしたりする必要があるかどうかを知りたいです。これを行うと、プログラムはアンチウイルスによって悪意のあるソフトウェアとして取り上げられますか?
サンプルコード:
if (needANewCopyOfTheDll)
{
string fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".dll";
// Here, copy my dll to the new file.
}
しかし、なぜ?私はC++で書かれた静的ライブラリを持っており、グローバル変数、初期化プロシージャ、その他多くのものがあります。そのライブラリの異なるインスタンスが欲しいのですが、同じdllをメモリにロードできるのは1回だけです。したがって、ライブラリをインスタンスクラスでラップすることを考えていました。新しいインスタンスが必要な場合は、dllファイルをtempディレクトリにコピーしLoadLibrary()
、kernel32.dllの関数を使用して新しいハンドルを取得します。