Решение проблем совместимости программного обеспечения Windows 7

Windows 7 имеет тот же основной код, что и Windows Vista, верно? Так что совместимость приложений не должна быть проблемой, верно?

Неправильно.

Недавно я попытался применить обновление прошивки к дисководу Blu-ray, но установщик был разработан для Vista и вызывал ошибку в Windows 7.

Между тем у меня постоянно возникали проблемы с правильной синхронизацией iPhone с iTunes, хотя в Vista он работал нормально.

Как бы мне ни нравилась Windows 7, в такие моменты мне хотелось бы повернуть время вспять и запустить Vista или даже XP.

Оказывается, могу. В Windows 7 есть малоизвестная функция, которая помогает устранять неполадки совместимости приложений. Вот как это использовать:

1. Щелкните правой кнопкой мыши значок приложения, которое не работает должным образом, затем нажмите Устранение неполадок совместимости .

2. Windows попытается обнаружить проблемы совместимости, а затем предложит вам два варианта: Попробуйте рекомендуемые настройки и Программа устранения неполадок . Я рекомендую сначала попробовать первый вариант; если это не сработает, вы всегда можете вернуться и попробовать вторую (что дает вам выбор, с какой предыдущей версией Windows вы хотите совместить).

3. После того, как Windows применит выбранные настройки, нажмите Запустить программу и посмотрите, решит ли это проблему. В любом случае нажмите Далее , чтобы Windows применила настройки «навсегда», или попробуйте еще раз с другими настройками.

Этот инструмент решил обе мои вышеупомянутые проблемы. Для iTunes я позволяю Windows выбирать настройки (XP с пакетом обновления 2, если вам интересно), и, конечно же, мой iPhone отлично синхронизировался.

Для средства обновления прошивки я выбрал свой собственный настройки — Vista с пакетом обновления 1 (SP1), поскольку это была операционная система, установленная до того, как я обновился до Windows 7 — и снова это помогло.

Проблемы совместимости могут быть, мягко говоря, неприятными, но я Я рад, что Microsoft предложила простой и эффективный обходной путь.

Примечание. Когда вы покупаете что-то после нажатия ссылок в наших статьях, мы можем получить небольшую комиссию. Подробнее читайте в нашей политике партнерских ссылок.


Как исправить прокладку совместимости приложений Win7 с помощью DISABLEUSERCALLBACKEXCEPTION

У меня есть очень большое приложение WinForms на C # .NET4, которое находится в разработке более 18 месяцев. Мы наконец тестируем его на Windows 7 (эта большая корпорация еще не перешла). Приложение запускается нормально и работает до тех пор, пока мы не запустим очень большой процесс (привязаны несколько выборок из БД и многие формы и элементы управления).

В самый первый раз, когда мы запускаем этот процесс в Win7, происходит сбой, и Win7 создает прокладку совместимости приложений вокруг нашего *. vshost.exe . Когда я смотрю в реестр

  HKEY_LOCAL_MACHINE  SOFTWARE  Microsoft  Windows NT  CurrentVersion  AppCompatFlags  Layers  

, он показывает vshost.exe со значением DISABLEUSERCALLBACKEXCEPTION .

Я выполнил поиск и нашел очень мало.

Кто-нибудь знает, какой тип кода может вызвать это? Я хотел бы исправить код, чтобы предотвратить прокладку.


Внимательно прочтите это сообщение в блоге, я все объяснил:

http ://blog.paulbetts.org/index.php/2010/07/20/the-case-of-the-disappearing-onload-exception-user-mode-callback-exceptions-in-x64/

Краткая версия

Исключения, которые пересекали границу пользователь-ядро-пользователь, были потеряны в 64-битной Windows.

Начиная с Windows 7, когда родное 64-битное приложение (т. е. не 32-битное в 64-битной ОС) вылетает таким образом, помощник по совместимости программ получает уведомление. Если приложение не имеет манифеста Windows 7, отображается диалоговое окно, сообщающее, что PCA применила прокладку совместимости приложений.

Чтобы при следующем запуске приложения Windows имитировала поведение Server 2003 и исключение исчезло.

Чтобы сохранить эти исключения (так как вы хотите , чтобы они произошли), добавьте запись манифеста «Я разработан для Windows 7»:

              

Оцените статью
clickpad.ru
Добавить комментарий