Google Code Prettify - 輕量級的語法上色工具

星期三, 3月 30, 2022

用Regsvr32重新登錄DLL檔或OCX檔

https://blog.xuite.net/jamesbob/blog/483100740

Regsvr32 命令語法

RegSvr32.exe 具有下列命令列選項:

Regsvr32 [/u] [/n] [/i[:cmdline]] <dllname>


/u - 取消登錄伺服器

/i - 當 DllInstall 與 /u 搭配使用呼叫 DLL 解除安裝時,

      呼叫 DllInstall 會將其傳送為選擇性 [cmdline]

/n - 不會呼叫 DllRegisterServer,此選項必須與 /i 搭配使用

/s – 無訊息;不顯示任何訊息方塊


注意 在 64 位元版本的 Windows 作業系統上,有兩種版本的 Regsv32.exe 檔案:

64 位元版本的是 %systemroot%\System32\regsvr32.exe;

32 位元版本的是 %systemroot%\SysWoW64\regsvr32.exe。

------


使用 32 位元版本的 Regsvr32,在 64 位元版本的 Windows 上登錄 32 位元 DLL

如果您在 64 位元版本的 Windows 上登錄 32 位元 DLL 時發生錯誤,請依照下列步驟執行:

請開啟提高權限的命令提示字元。

如果 32 位元 DLL 位於 %systemroot%\System32 資料夾,請將其移至 %systemroot%\SysWoW64 資料夾。

執行下列命令:

%systemroot%\SysWoW64\regsvr32 <DLL 的完整路徑>

************


結論:

重新登錄 .DLL 或 .OCX 的方法,

建議先以 .OCX 為主。


指令:

32位元版本OS重新登錄.DLL

for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1


32位元版本OS重新登錄.OCX

for %1 in (%windir%\system32\*.ocx) do regsvr32.exe /s %1


64 位元版本OS重新登錄 .DLL

也是 64 位元版本OS登錄 32 位元 .DLL 檔時,


若發生錯誤時的解法之一,


記得把 .DLL 檔從system32移到syswow64

for %1 in (%windir%\syswow64\*.dll) do regsvr32.exe /s %1


64位元版本OS重新登錄.OCX

記得把 .OCX 檔從system32移到syswow64

for %1 in (%windir%\syswow64\*.ocx) do regsvr32.exe /s %1


 


PS:

/s 可以用  /n /i 取代試看看,

可比較某些程式會不會出現…DllRegisterServer…錯誤之類的