64位整数、内存地址或其他数据单元,是指它们最高达到64位(8字节)宽。64位CPU和算术逻辑单元架构是以寄存器、内存总线或者数据总线的大小为基准。regsvr32.exe用于注册Windows操作系统的动态链接库和ActiveX控件。这个程序对你系统的正常运行是非常重要的。那么对于他们存在不兼容问题的时候要怎么处理呢?
我看一个教程,让运行一个命令注册dll运行库,可是提示:检查该模块是否与regsvr32.exe的X86(32位)或X64(64位)版本兼容,是什么问题?
提示错误是因为在64位系统中,运行Regsvr32注册DLL运行是的System32文件夹中的Regsvr32.exe,而这个文件是64位版本的,命令需要的是32位版本的Regsvr32,所以会提示出错。
在32位系统中,有system和system32两个文件夹,分别存放16位和32位的dll文件。按照32位的系统命名规则,64位应该有一个叫做:system64的文件夹来用来存放64位DLL文件,但实际上却没有system64这个文件夹,而是一个叫做为SysWOW64的文件夹,而且syswow64也不是存放64位文件的,而是用来存放32位的DLL文件。
所以在64位系统中,32位的dll文件放到syswow64中,64位的dll文件却在system32文件夹内。
若要解决此问题,就要运行Syswow64文件夹内的Regsvr32.exe。例如按照你图里的命令,可以采用这种方法来注册 DLL:
1、打开开始菜单,输入cmd,在搜索出的CMD上右键,选择以管理员身份运行
2、在打开的命令提示符里输入:cd windowssyswow64 这个命令是将目录设置到syswow64这个文件夹,之后运行的命令就会在这个文件夹内找文件夹, 输入后按回车,如下图:
3、按照你图里的命令,输入:regsvr32 atiacmxx.dll /u 输入后按回车即可