Visual Studio 2008和IE8冲突解决 Add Function/Add Variable/Smart Device项目建立等

本文介绍了解决Visual Studio 2008中MFC Wizard遇到的问题,特别是当安装了Internet Explorer 8之后出现的脚本错误。通过在注册表中创建特定的键值可以修复此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

使用Visual Studio 2008的MFC Wizard遇到问题:

弹出一个IE的错误,无法使用向导。

file:///C:/Program%20Files/Microsoft%20Visual%20Studio%209.0/VC/VCWizards/CodeWiz/MFC/Variable/HTML/1033/default.htm

另外:Smart Device的项目也无法建立。

网上找了一大圈:使用微软官方提供的Workaround,添加一个注册表项可以解决

原文链接:http://blogs.msdn.com/b/vcblog/archive/2009/03/28/some-vs2005-and-vs2008-wizards-pop-up-script-error.aspx

Some VS2005 and VS2008 Wizards Pop Up Script Error.

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值