Regsvr32 在64位機器上的用法
阿新 • • 發佈:2019-01-03
regsvr32是windows上註冊 OLE 控制元件(DLL 或 ActiveX )的常用命令。註冊 OLE 控制元件可更新 Windows 登錄檔中檔案的位置和功能,從而使程式正常執行。32位系統註冊32位控制元件,64位系統註冊64位控制元件,一般都沒有問題。一般容易出問題的是在64位作業系統上註冊32位控制元件。
注意:64 位版本的 Windows 作業系統上有兩個版本的 Regsv32.exe 檔案。
- 64 位版本是 %systemroot%\System32\regsvr32.exe。
- 32 位版本是 %systemroot%\SysWoW64\regsvr32.exe。
SysWoW64中的“WoW”正是“Windows on Windows”的縮寫,表示一個執行在64位作業系統環境下的32位子系統。因此要在64位作業系統上正確註冊一個32位的OLE控制元件,要確保以下步驟:
- 用管理員身份執行cmd;
- cd到控制元件所在路徑;
- 鍵入“%systemroot%\SysWoW64\regsvr32.exe xxx.ocx"並回車;
為了能使32位的控制元件在32位作業系統與64位作業系統下都能正確自動註冊,可採用批處理命令方式,在命令中自動判斷作業系統是32位還是64位,並針對性呼叫不同的註冊命令即可。具體方法如下:
- 在控制元件所在路徑下建立一個txt,重新命名為reg.bat檔案。
- 鍵入以下命令並儲存,注意修改為自己的控制元件檔名:
reg Query "HKLM\Hardware\Description\System\CentralProcessor\0" | find /i "x86" > NUL && set OS=32BIT || set OS=64BIT if %OS%==32BIT %windir%\system32\regsvr32.exe "%~dp0QfltOCX.ocx" if %OS%==64BIT %windir%\syswow64\regsvr32.exe "%~dp0QfltOCX.ocx"
- 使用管理員身份執行reg.bat即可。
參考: