xlive.dll、msvcr100.dll、xinput1.dll这类dll文件放在哪里?当然,dll文件非常的多,远远不知这三种,将dll文件放在对的地方才是最终的目的,但System32和SysWOW64这两个文件夹很容易被混淆,我们来详细探索下。
(资料图片仅供参考)
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文件写到 \Windows\System32 文件夹里面。当然,WOW64知道安装向导通过 emulator 来运行的32位应用程序。同时也知道64和32位代码不能混合在一起。所以,WOW64 emulator 给 \Windows\SysWOW64 创建一个别名。这意味着32位应用程序要写入到 \Windows\System32 文件夹或者从 \Windows\System32 文件夹读取, WOW64 emulator 都能使其改道到 \Windows\SysWOW64 文件夹。
当然,这个过程是可以中断的,可以使用以下函数:
函数禁止重定向:Wow64DisableWow64FsRedirection
或恢复重定向:Wow64RevertWow64FsRedirection
所以dll文件的存放,一般都是如下示例存放dll文件:
WinXP 32位:C:\WINDOWS\System32
WinXP 64位:C:\WINDOWS\SysWOW64
Win7/8/8.1/10 32位:C:\Windows\System32
Win7/8/8.1/10 64位:C:\Windows\SysWOW64
以上便是关于xlive.dll、msvcr100.dll、xinput1.dll这类dll文件放在哪里的一些讲解,用户再注册一下dll文件,使用命令:regsvr32 xxx.dll 其中xxx代表dll文件的名字。