使用哪个midas.dll? 32位datasnap / 64bit服务器

时间:2013-05-14 15:11:17

标签: delphi 32bit-64bit datasnap delphi-xe4

考虑以下因素: 我们在 64位 Windows Server上安装了 32位 Datasnap服务器

在embarcadero \ rad studio \ 11.00 \ redist中有2个文件夹:32位和64位,每个文件夹都有一个midas.dll。

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

在windows \ system32或windows \ syswow64中?

2 个答案:

答案 0 :(得分:5)

在64位系统上:

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

如果必须将DLL复制到系统目录中,请确保将32位DLL复制到32位系统目录,将64位DLL复制到64位系统目录。如果您希望应用程序能够找到DLL,这是必不可少的。

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

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

答案 1 :(得分:4)

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

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

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

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