64位操作系統(tǒng)中怎么注冊32位COM組件
64位操作系統(tǒng)中怎么注冊32位COM組件
64位操作系統(tǒng)中怎么注冊32位COM組件?有朋友懂得怎么操作嗎?相信還有些不太懂的,下面就由小編我來告訴你們吧!
64位操作系統(tǒng)中怎么注冊32位COM組件:
在64位操作系統(tǒng)中注冊COM組件時,使用regsvr32命令注冊成功,但在vbs文件中創(chuàng)建組件時失敗,提示未能找到相關的組件,Err.Munber=429。
根據(jù)http://support.microsoft.com/kb/249873的提示:
The 64-bit version is %systemroot%\System32\regsvr32.exe.
The 32-bit version is %systemroot%\SysWoW64\regsvr32.exe. 看著有64的目錄原來是32位程序
所以在64位系統(tǒng)中注冊32位COM組件時,應該使用SysWoW64目錄下的regsvr32.exe命令。并且創(chuàng)建組件的程序應該以管理員權限啟動,否則沒有足夠的權限,創(chuàng)建仍然失敗。
但當在asp文件中創(chuàng)建組件時仍然會失敗,即使IE以管理員權限啟動,Err.Munber=429。
下面是demon的補充:
以舊版的DynamicWrapperX為例,這是32位的COM組件,如果直接用regsvr32命令注冊,會彈出錯誤:
模塊“dynwrapx.dll”可能與您正在運行的 Windows 版本不兼容。檢查該模塊是否與 regsvr32.exe 的 x86 (32 位)或 x64 (64 位)版本兼容。
跟wscript.exe一樣,regsvr32.exe也有32位和64位兩個版本,用64位版本的regsvr32.exe無法注冊32位的COM組件。微軟也真是,難道就不能換個名字?64位的叫做regsvr64不就行了。
正確的做法是將dynwrapx.dll復制到C:\Windows\SysWOW64并運行C:\Windows\SysWOW64\regsvr32.exe注冊,這樣就會彈出:
DllRegisterServer 在 dynwrapx.dll 已成功。
其他32位COM組件的注冊方法是一樣的,順便說一下,最新版的DynamicWrapperX已經有32和64兩種版本了。