症狀:
裝了 IE8 後, 在 Visual 2005 使用 新增 function 精靈, 會跳出下面錯誤視窗.
下面是 Visual C++ Team Blog 提出來的解決方法, 我整理如下.
發生的原因我大致翻譯了一下, 如果要知道詳細情況請參考 Some VS2005 and VS2008 Wizards Pop Up Script Error.
原因 (這是翻譯, 正確性與我的程度相關, 如果有錯請來信提出修正)
VC++ 精靈裡面實作了一個介面 (IInternetSecurityManager),
這個介面實作了允許或不允許特別的動作在某些 polices, 而這些 polices IE 會 query 這些 polices.
若核心程式不在 ieplore.exe process 中被執行時,
在 IE8 中, 一個特製的 Security Manager 現在也會 query 一個稱為 URLACTION_ACTIVEX_OVERRIDE_REPURPOSEDETECTION 的 policy.
可是在IE7 與過去的版本並不會去委派(delegate) 這個 policy,
因此造成了過去的精靈可以執行,可是安裝 IE8 後, 卻導致 IE 引擎失敗.
我們正在調查IE8的這項設計上的改變並且進行這項問題的修正, 可能是修改精靈的設計或者是從 IE 的元件設計著手.
解法: 設定 registry 繞過這個問題
Step 1: 開啟 regedit.exe
Step 2: 在
“HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Internet Settings\Zones” 下輸入一個新的 Key 稱為 1000
a) 新增 Key = 1000
b) 設定一個新的 entry
Name=1207
Type=REG_WORD
Data=0x000000
Step 3: 完成
Reference
[1] Visual C++ Team, “Some VS2005 and VS2008 Wizards Pop Up Script Error, “ http://blogs.msdn.com/vcblog/archive/2009/03/28/some-vs2005-and-vs2008-wizards-pop-up-script-error.aspx, 2009/3/28.
沒有留言:
張貼留言