У меня была та же проблема, и ответы реестра здесь не работали.
У меня был элемент управления браузером в новой версии моей программы, которая отлично работала в XP, не работала в Windows 7 (64-разрядная версия),Старая версия работала как на XP, так и на Windows 7.
Веб-страница, отображаемая в браузере, использует какой-то странный плагин для отображения старых карт SVG (я думаю, это Java-апплет).
Оказывается,проблема связана с защитой DEP в Windows 7.
Старые версии dotnet 2 не устанавливали флаг требуемого DEP в exe, но начиная с dotnet 2, SP 1 и далее (да, поведение компиляции иследовательно, поведение exe во время выполнения меняется в зависимости от того, на какой машине вы скомпилировали, хорошо ...).
Это задокументировано в блоге MSDN NXCOMPAT и компиляторе C # .Цитата: Это, несомненно, удивит некоторых разработчиков ... скачайте пакет сервисов фреймворка, перекомпилируйте, запустите ваше приложение, и теперь вы получаете исключения IP_ON_HEAP.
Добавление следующего кпост-сборка в Visual Studio отключает DEP для exe, и все работает как положено:
all "$(DevEnvDir)..\tools\vsvars32.bat"
editbin.exe /NXCOMPAT:NO "$(TargetPath)"