2013-05-14 124 views
2

考虑以下几点: 我们已经安装了64位的Windows Server哪个midas.dll要使用? 32位的DataSnap位/ 64位服务器

在Embarcadero公司\ RAD Studio在上32位 DataSnap服务器\ 11.00 \ REDIST有2个文件夹:32位和64位,每个都有一个midas.dll。

我们应该把哪个文件放在哪里?

在windows \ system32或windows \ syswow64中?

回答

4

千万不要把任何东西放在Windows系统目录(除非你有非常非常好的理由在那里写)。

这是一个非常糟糕的做法(可以追溯到Windows 3.x时代和糟糕的开发人员技能,因为这些目录总是在搜索路径中)只是导致麻烦(即,如果另一个应用程序使用自己的DLL或没有检查)。将该DLL放入应用程序文件夹中。它将确保您的应用程序使用正确版本的DLL。或者,如果由于非常非常非常好的原因必须在别处编写它,请使用其中一种技术将目录添加到搜索路径或重定向DLL加载。

Windows系统目录必须被视为操作系统专用的。 Windows不禁止这种做法常常使Windows成为一个缓慢而不稳定的系统。

如果您的应用程序是32位,则需要操作系统的32位DLL regarless。

5

在64位系统:

  • 64位系统目录名为System32
  • 32位系统目录名为SysWOW64

如果您必须将DLL复制到系统目录中,请确保您将32位DLL复制到32位系统目录,将64位DLL复制到64位系统目录。如果您希望您的应用程序能够找到DLL,那就很重要。

由于您的代码是32位,所以您需要使用32位DLL。

但是,由于Windows系统目录是专用的并且保留供系统使用,因此您应该将DLL放在与可执行文件相同的文件夹中。应用程序不应修改系统目录。

+0

我有一个可执行文件需要加载midas.dll才能运行。我按照指示[这里](http://stackoverflow.com/questions/25877533/midas-dll-error-loading-midas- DLL)为了让它运行一个微小的更改:regsvr32 C:\ Windows \ Syswow64 \ midas.dll – Chris1804505 2015-06-29 12:17:21