VC2005與IE8的衝突解決

        今天將系統重新折騰了一遍以後,安裝了VS2005打上SP1,完了把IE8給裝上後每當增加變量的時候就彈出個錯誤,說是安全性問題,造成顯示不完全。此時不能設置變量的具體類型,這對於軟件的使用有十分大的影響,上網搜出個解決方法,具體做法如下:
1.打開註冊表編輯器(regedit);
2.在"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones"裏面新增一個文件夾,命名爲"1000"(如果存在則不必);
3.在1000這個文件夾下新建一個DWORD,將其值設爲:
   Name = 1207
   Type = REG_DWORD
   Data = 0x000000
 
 
 
貌似官方原文 寫道
 
Visual C++ team has discovered that after installing the current release of Internet Explorer (Internet Explorer 8), some VC++ wizards do not function correctly. The products affected are Visual Studio 2005 and Visual Studio 2008. Following are the affected wizards:

- Add Function

- Add Variable

- Smart Device – New Project Creation

- Smart Device – Add Class



Invoking any of the above wizards in VS2005 or VS2008 will pop up a script error if IE8 is installed on the machine. We have a workaround for those who have encountered this error.



Please follow the following steps:

- Open regedit (on a 64-bit OS, open the 32-bit regedit)



- Under “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet
Settings\Zones”, create a new key called 1000 (if it isn't already there)



- Under 1000, create a DWORD entry with:

o Name = 1207

o Type = REG_DWORD

o Data = 0x000000



For the workaround to work on VS2005 however, the VS2005 SP1 (and VS2005 SP1 Update for Windows Vista) has to be installed.



Following is a brief explanation of the problem and the workaround:

The VC++ Wizards Engine implements the IInternetSecurityManager interface. In this implementation it allows or disallows specific actions under certain policies that Internet Explorer queries it about. In IE8 a custom Security Manager now also gets queried about the URLACTION_ACTIVEX_OVERRIDE_REPURPOSEDETECTION policy which IE previously did not delegate to custom security managers when the engine wasn’t running in the iexplore.exe process. The IE engine then fails this action because we don’t have a policy entry for it in the custom zone for VC++ Wizards. We are still investigating whether this change in IE8 is by design and will possibly be addressing it by a fix in either the Wizard or IE components depending on the outcome.



The above workaround lets the policy 1207 (URLACTION_ACTIVEX_OVERRIDE_REPURPOSEDETECTION) to be allowed in zone 1000 (custom zone of VC++ Wizards engine). This allows the wizard code to work as intended.



We apologize for the inconvenience this issue may have caused you.



Thank you

Visual C++ Team

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章