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.
Visual C++ Team
The Internet Explorer team has released a security update to IE as mentioned in the IE blog:
This update also fixes the problem that caused some Visual Studio wizards to pop up a script error. After applying this update, the earlier workaround in the registry is no longer required, and the wizards should work fine.
I can only repeat myself:
@voidProgrammer: did you try to understand the problem?
IE8 has tighter security settings. The VS devs could not know that at the time they developed the wizards. But nevertheless they have been forsighted enough to have a security zone of their own which they can configure without lowering the general IE security.
As soon as they recognized the problem they posted how to adjust the security zone. No need to fix any code, everything works as designed.
"On the question as to why these are HTML dialogs? That was a decision we made for the VS 2002 product, and in retrospect, it wasn't the right decision. The decision now is whether it is worth the investment to replace these dialogs versus working on other features. So far we have felt we have higher value work we are doing."
This is the height of hypocrisy and stupidity. Where was this line of thinking when you guys decided to replace perfectly functional dialogs with these HTML based abominations? Anyone with a shred of common sense at the time would have realized that it's clunky at best if you have to go through all the trouble of creating a custom browser security zone. Microsoft fails the Duh Test far too often.
This fix worked for me until installing SP2 for Windows Vista. Now the error is back when selecting platform.
Any ideas how to fix it this time?
Kurzbeschreibung: Kumulatives Sicherheitsupdate, das aufgetretene Sicherheitslücken im Windows Internet Explorer 8 schließen soll. Siehe Security Bulletin MS09-019 (englisch bzw. deutsch) Aktuell: ja direkter Download oder über Windows Update Be
Kurzbeschreibung: Finalversion des Windows Internet Explorer 8 (kurz: IE8) für Windows XP. Der IE8 ist die Internet Explorer-Version von Microsoft, welche bislang Web-Standards in der Voreinstellung am besten unterstützt. Dessen Installation ist somit