问题: 我想知道我是否需要请求特定权限和/或做一些额外的事情以使其“值得信赖”,以防我的程序将一个 dll 文件多次复制到临时目录。如果我这样做,该程序是否会被反病毒软件识别为恶意软件?
示例代码:
if (needANewCopyOfTheDll)
{
string fileName = System.IO.Path.GetTempPath() + Guid.NewGuid().ToString() + ".dll";
// Here, copy my dll to the new file.
}
但为什么呢?我有一个用 C++ 编写的静态库,它有全局变量、初始化过程和许多其他东西。我想要该库的不同实例,并且我只能在内存中加载一次相同的 dll。因此,我正在考虑将库包装在一个实例类中,当我需要它的一个新实例时,只需将 dll 文件复制到临时目录并使用 LoadLibrary()
函数为其获取一个新句柄在 kernel32.dll 中
最佳答案
复制到临时目录不需要任何特殊权限。你照着做就行了,应该没问题。许多程序都这样做。
您的问题并不清楚您的软件是否被视为恶意软件。如果是,我怀疑是因为您正在从临时目录加载 dll。
不管怎样,你所做的听起来像是一个相当大的 hack。您应该重写您的库以不使用全局变量。
关于c# - 如果我的程序正在将 dll 文件复制到临时目录,我是否需要特定权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14915411/