教你xlive.dll、msvcr100.dll、xinput1.dll这类dll文件放在哪里

xlive.dll、msvcr100.dll、xinput1.dll这类dll文件放在哪里?当然,dll文件非常的多,远远不知这三种,将dll文件放在对的地方才是最终的目的,但System32和SysWOW64这两个文件夹很容易被混淆,我们来详细探索下。

xlive.dll、msvcr100.dll、xinput1.dll这类dll文件放在哪里?

xlive.dll、msvcr100.dll、xinput1.dll这类dll文件放在哪里?

● 32位版本的Windows保持16位和32位dll文件的方式是非常简单的。

● 64位版本的Windows保持64位和32位dll文件的方式就复杂了。

每一台Windows操作系统都会创建了一个新的名为 System32 的文件夹来存放32位的dll文件。而在在64位版本的Windows内,Windows则会创建一个32位系统没有的 SysWOW64 文件夹做为64位dll的仓库。

32位代码不能默认在64位版本的Windows内运行。为了运行32位的应用程序,Windows使用 WOW64 emulator ,来让这些应用程序还认为它们在32位版本的Windows内运行。 当你安装一个32位的应用程序,安装向导通过 WOW64 emulato 运行。

这意味着当你安装一个应用程序,安装向导并不知道这个程序被安装到64位版本的Windows内,并且和它运行在32位操作系统一样把dll文件写到 WindowsSystem32 文件夹里面。当然,WOW64知道安装向导通过 emulator 来运行的32位应用程序。同时也知道64和32位代码不能混合在一起。所以,WOW64 emulator 给 WindowsSysWOW64 创建一个别名。这意味着32位应用程序要写入到 WindowsSystem32 文件夹或者从 WindowsSystem32 文件夹读取, WOW64 emulator 都能使其改道到 WindowsSysWOW64 文件夹。

当然,这个过程是可以中断的,可以使用以下函数:

函数禁止重定向:Wow64DisableWow64FsRedirection

或恢复重定向:Wow64RevertWow64FsRedirection

所以dll文件的存放,一般都是如下示例存放dll文件:

WinXP 32位:C:WINDOWSSystem32

WinXP 64位:C:WINDOWSSysWOW64

Win7/8/8.1/10 32位:C:WindowsSystem32

Win7/8/8.1/10 64位:C:WindowsSysWOW64

以上便是关于xlive.dll、msvcr100.dll、xinput1.dll这类dll文件放在哪里的一些讲解,用户再注册一下dll文件,使用命令:regsvr32 xxx.dll 其中xxx代表dll文件的名字。