關於 Vista 註冊 ActiveX 元件的問題

關於 Vista 註冊 ActiveX 元件的問題

關於 Vista 註冊 ActiveX 元件的問題

前陣子有PM反應,某 "場子" 進了 Vista 作業系統,而系統 ( VB6 開發的 ) 無法執行..

為此花了點時間做測試,發現是ActiveX元件註冊的問題,底下 Po 出解決方式供大家參考

關於在 Vista 中使用 Regsvr32 註冊 ActiveX ( DLL、OCX ) 元件時 , 會出現錯誤 :

呼叫 DllRegisterServer 失敗,錯誤碼為 0x80004005。

圖:

在 Vista 中 RegSvr32 註冊元件失敗 畫面

解決方案1 :

l [ 控制台 ] -> [ 系統管理工具 ] -> [ 本機安全性原則 ]

PS: 或 [ 開始 ] -> [ 執行 ] ( 或Windows Key + R ) , 打 SECPOL.MSC [ Enter ]

[ 本機原則 ] -> [ 安全性選項 ] -> [ 使用者帳戶控制 ]

本機安全性原則 SecPol.Msc 畫面

將 " 使用者帳戶控制 " 相關的 都設定 " 停用 " 或 " 提高權限不提示 "

注意 : Business、Ultimate、Enterprise 版本才有 [ 本機安全性原則 ] ( SecPol.msc )

Starter、Home Basic、Home Premium 版本 請參照 解決方案2

' ================================================================

解決方案2 :

將底下檔案存成 XXX.Reg 的文字檔 , 並執行它

Windows Registry Editor Version 5.00

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]

"ConsentPromptBehaviorAdmin"=dword:00000000

"ConsentPromptBehaviorUser"=dword:00000001

"EnableInstallerDetection"=dword:00000000

"EnableLUA"=dword:00000000

"EnableSecureUIAPaths"=dword:00000000

"EnableVirtualization"=dword:00000000

"PromptOnSecureDesktop"=dword:00000000

"ValidateAdminCodeSignatures"=dword:00000000

"dontdisplaylastusername"=dword:00000000

"legalnoticecaption"=""

"legalnoticetext"=""

"scforceoption"=dword:00000000

"shutdownwithoutlogon"=dword:00000001

"undockwithoutlogon"=dword:00000001

"FilterAdministratorToken"=dword:00000000

' ================================================================

l 之後即可使用 RegSvr32 註冊 ActiveX 元件 ( 需要 Administrator 的權限 )

若登入 User 不是 Administrator , 可使用 RunAs 命令以系統管理員的身份啟動程式 , 如下 :

RunAs Command 畫面