在64位版本的Windows上,有两个单独的程序文件文件夹。但这还没有结束。您还有两个单独的系统目录,用于存储DLL库和可执行文件:System32和SysWOW64。尽管有这些名称,System32还是充满了64位文件,SysWOW64则充满了32位文件。那是什么原因呢?
相关:什么是DLL文件,为什么我的电脑上少了一个?
System32目录包含Windows系统文件,包括程序使用的.DLL库文件和作为Windows一部分的.EXE程序实用程序。虽然您在这里找到的大多数文件都是Windows操作系统的一部分,但第三方软件程序有时也会将自己的DLL文件安装到此文件夹中。
系统上运行的应用程序可能安装在ProgramFiles文件夹或其他位置,但它们通常从System32文件夹加载系统范围的库。
相关:Windows中的“程序文件(x86)”和“程序文件”文件夹有什么区别?
在64位版本的Windows上,您有一个包含64位程序及其文件的C:\Program Files文件夹和一个包含32位程序及其文件的C:\Program Files(x86)文件夹。将这些文件分开是有帮助的,因为64位程序需要64位DLL文件,而32位程序需要32位DLL文件。
如果一个32位的程序去加载它需要的DLL文件,找到一个64位的版本,并试图加载它,它就会崩溃。通过将64位和32位软件分为两个不同的程序文件文件夹,Windows确保它们不会混淆并导致问题。
但是,并非所有的DLL文件都存储在程序文件中。Windows包含的许多系统范围的库都存储在C:\System32中,有些程序还将自己的库文件转储到这里。因此,正如Windows有单独的32位和64位程序文件文件夹一样,它也有单独的32位和64位版本的System32文件夹。
在32位计算机上,所有32位程序都将其文件存储在C:\Program files中,系统范围的库位置是C:\System32。
在64位计算机上,64位程序将其文件存储在C:\Program files中,系统范围的C:\Windows\System32文件夹包含64位库。32位程序将其文件存储在C:\Program files(x86)中,系统范围的文件夹是C:\Windows\SysWOW64。
这绝对违反直觉。尽管名称中有“32”,但System32文件夹包含64位库。而且,尽管名称中有64位,但至少在64位版本的Windows上,SysWOW64文件夹包含32位库。
一般来说,你不需要知道这些。您使用的Windows操作系统和程序会自动将其文件放置在正确的位置并使用正确的文件夹。但是,如果您需要在正确的位置手动安装一个DLL文件,或者找到一个安装位置(这是非常罕见的),那么您需要知道哪个是哪个。
相关:为什么大多数程序在64位版本的Windows上仍然是32位的?
这里名称的“WOW64”部分指的是微软的“windows32位on windows64位”软件,它是操作系统的一部分。这允许Windows在64位版本的Windows上运行32位程序。WoW64重定向文件访问以确保程序正常工作。
例如,如果您在64位版本的Windows上安装了一个32位程序,并且它试图写入C:\program Files文件夹,则WoW64会将其指向C:\program Files(x86)。如果它想访问C:\Windows\System32文件夹,WoW64会将其指向C:\Windows\SysWOW64。Windows使用文件系统重定向器来实现这一点。
这一切都是在后台自动透明地发生的。该程序甚至不必知道它是在64位操作系统上运行的,这样就可以在64位版本的Windows上运行较旧的32位程序,而无需修改。WOW64还重定向注册表访问,确保注册表中有用于64位和32位程序的单独区域。
所有这些让我们回到百万美元的问题:为什么“System32”文件夹是64位的,而SysWOW64是32位的?
答案似乎是,许多32位应用程序被硬编码为使用C:\Windows\System32目录。当开发人员为64位版本的Windows重新编译这些应用程序时,他们继续使用C:\Windows\System32目录。
微软没有重命名这个目录,也没有强迫开发人员迁移到新的目录,在这个过程中破坏了许多应用程序,而是将“System32”作为标准的系统库目录。他们为在WoW64层下运行的应用程序创建了一个新的库目录,并将其命名为“SysWOW64”。当你这样想的时候,这个名字就更有意义了。
是的,现在有点傻了,一个名字上有“32”的目录现在是64位。也许微软应该看到90年代他们命名它C:\Windows\System32时会出现这种情况。但是,虽然一个更简单的命名方案会很好,但不值得打破一堆程序,为开发人员创建更多的工作,仅仅为了达到这个目的。这意味着我们在可预见的将来将继续使用System32和SysWOW64。
...这些COM对象实际上是DLL文件。它们驻留在受保护的Windows文件夹中,并允许操作系统(OS)按预期运行。 ...
...击Choose folders。单击该框两次同步OneDrive中的所有文件和文件夹以清除所有内容,然后按“确定”。这会将OneDrive中的所有内容从您的PC中移除,同时仍能确保其在云中的安全。 ...
除了你的个人文件和文件夹,Windows操作系统本身在你的电脑上占据了很多空间。只要稍加搜索,就可以找到隐藏的Windows缓存,如果需要回收空间,可以安全地清除这些缓存。 ...
...能会遇到一个笑话告诉你删除你的计算机上的WindowsSystem32文件夹。但是这个神秘的Windows文件夹是什么,为什么有人要你删除它呢? ...
... 您不应该尝试删除上面提到的文件夹中的单个DirectX文件。这可能导致游戏或其他程序停止正常工作。如果您在特定版本的DirectX上遇到问题,请尝试重新安装使用它的游戏。 ...
“系统线程异常未处理”是常见的Windows 10错误,主要是由于过时或不兼容的驱动程序引起的。 ...
... 系统文件存储在哪里? 系统文件通常位于标识为系统文件夹的特定文件夹中。为了进一步防止意外删除,默认情况下,这些文件在Windows中是隐藏的。它们也不会出现在搜索中。 事实上,系统文件可以存储在电脑的许多位置。...
...试的话,我们会告诉你到底发生了什么。 什么是system32文件夹(the system32 folder)? 位于C:\Windows\System32的System32文件夹是所有现代版本Windows的一部分。它包含Windows正常运行所需的重要操作系统文件。 这个目录包含许多不同类型...
...40,只有那个文件可以。 您可以在系统的C:\Windows\System32文件夹中找到这些文件。在64位系统上,64位库位于C:\Windows\System32中,32位库位于C:\Windows\SysWOW64中。 即使您运行了最新的DirectX安装程序,也不能保证它会在您的系统上安装...
...如果以后要重新安装OneDrive,则需要运行隐藏在Windows系统文件夹中的OneDrive安装程序。在64位版本的Windows 10上,只需转到C:\Windows\SysWOW64\文件夹,或在32位版本的Windows 10上转到C:\Windows\System32文件夹即可。双击“OneDrive安装程序.exe...