This program runs in windows 7 windows vista systems only что делать
Windows Vista / Windows 7 – вопросы совместимости приложений
Совместимость существующих приложений с операционной системой Microsoft Windows Vista (и выходящей в этом году операционной системой Windows 7, построенной на ядре Windows Vista) является одной из основных проблем, с которой могут столкнуться пользователи, переходящие на новую версию операционной системы. Несмотря на усилия, прилагаемые компанией Microsoft, некоторые производители программного обеспечения продолжают использовать устаревшие функции операционной системы, некорректно выполняют операции по проверке версий ОС (более 50% всех отказов в запуске приложений), не следуют рекомендациям по работе с файловой системой и, часто, не руководствуются советами по обеспечению корректной работы приложений в новых версиях системы. Все это приводит к тому, что в операционной системе Microsoft Windows Vista есть более 5600 «системных заплаток» (shims) для обеспечения корректной работы приложений различных производителей – от утилит китайских производителей до крупных продуктов известных фирм. В Windows 7 число «системных заплаток» увеличилось – в бета-версии новой операционной системы их насчитывается более 5700!
Можно выделить три основных подхода к обеспечению совместимости приложений – использование упомянутых выше «системных заплаток», запуск приложения в виртуальной среде (терминальные сервисы или использование Microsoft Application Virtualization) и, изменение кода приложения таким образом, чтобы оно соответствовало требованиям по корректной работе в операционной системе – для этого служат руководства по сертификации приложений для получения логотипов Works With Windows Vista и Certified for Windows Vista, а также соответствующие тест-кейсы, которые можно найти на сайте http://www.innovateon.com в разделе, посвященном Windows Vista.
Описанные выше ключевые причины несовместимости приложений вынудили компанию Microsoft реализовать на уровне ядра операционной системы специальный механизм, известный под названием Application Compatibility Infrastructure, в задачу которого входит имитация функционирования ОС в режиме совместимости с предыдущими версиями и, в ряде случаев, даже внесение ошибок, на наличие которых завязана функциональность приложений сторонних разработчиков – даже в том случае, когда эти ошибки обнаружены и устранены в текущей версии ОС.
Средства обеспечения совместимости можно условно разделить на три уровня: средства операционной системы, набор бесплатных утилит, «заплатки», создаваемые специалистами Microsoft.
Средства операционной системы
На уровне операционной системы (как Windows Vista, так и Windows 7) существет механизм, позволяющий выполнять приложения в режиме совместимости. В Windows Vista и Windows 7 этот механизм доступен при нажатии правой кнопки «мыши» на названии исполняемого файла, выборе команды «Свойства» и переключении на вкладку «Совместимость» в диалоговой панели «Свойства».
При выборе режима совместимости для приложения включается набор системных «заплаток», которые эмулируют выбранную версию операцинной системы.
Опции в группе «Параметры» позволяют, не изменяя самой среды выполнения, задать некоторые режимы, которые помогут функционированию приложения – число цветов, разрешение экрана, масштабирование в режиме HiDPI и т.д.
И, наконец, в тех случаях, когда приложению требуется выполнение под учетной записью администратора (либо из-за проверки, встроенной непосредственно в код приложения, либо из-за обращения к административным функциям системы, приложение можно запустить от имени администратора.
Все изменения, внесенные в данной диалоговой панели, хранятся в системном реестре – в ветви HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrent VersionAppCompatFlagsLayers
В Windows 7 появился более простой интефейс, позволяющий включать механизмы обеспечения совместимости приложений с текущей версией операционной системы. Данный интерфейс называется Program Compatibility Troubleshooter – он вызывается через Control Panel | Troubleshooting | Programs | Run programs made for previous versions of Windows или из командной строки командой
%systemroot%/system32/msdt.exe –id PCWDiagnostic
При вызове Program Compatibility Troubleshooter мы попадаем в набор экранов, которые позволяют нам либо выбрать приложение из списка, либо указать новое приложение и, ответив на ряд вопросов, попытаться решить проблемы, связанные с совместимостью.
Как видно из приведенных выше иллюстраций, Program Compatibility Troubleshooter позволяет не только выбрать определенные настройки, но и проверить работоспособность приложения и, при необходимости, вернуться в панель настроек – в этом основное отличие данного средства от непосредственного использования панели «Совместимость» в Windows Vista.
Многие проблемы, связанные с совместимостью приложений могут быть решены применением настроек на уровне панели «Совместимость» в Windows Vista или средства Program Compatibility Troubleshooter в Windows 7, но в ряде случаев может потребоваться «тяжелая артилерия».
How to troubleshoot program compatibility issues in Windows Vista
Summary
This article contains steps to troubleshoot issues that occur when a program is installed, but the program will not run on Windows Vista.
INTRODUCTION
This article contains steps to help you troubleshoot issues for the following scenarios:
You successfully upgrade an earlier version of Windows to Windows Vista. A program that used to run as expected before you upgraded to Windows Vista no longer runs as expected.
Note If a program compatibility issue is preventing the installation of Windows Vista, follow the steps in the Microsoft Knowledge Base article
931360 to troubleshoot your issue.
You successfully install a program on Windows Vista. After you install the program, you cannot start the program, or the program runs but does not run as expected.
Note If a program compatibility issue is preventing the installation of a program, do not follow the steps in Microsoft Knowledge Base article
931361 to troubleshoot your issue.
More Information
To troubleshoot program compatibility issues in Windows Vista, try Method 1. If Method 1 does not resolve the issue that you are experiencing, try each successive method in order.
Method 1: Visit the Windows Vista Compatibility Center
Visit the Windows Vista Compatibility Center to perform the following tasks.
Determine which software and devices are and are not compatible with Windows Vista.
Locate links to drivers and upgrades that will make your computer compatible.
Provide input to help us improve the upgrade experience.
To get started, visit the following Microsoft Web site:
Method 2: Run the program in compatibility mode
When you select the compatibility mode option, Windows Vista emulates the selected operating system when you run that particular program.
To run the program in compatibility mode, follow these steps:
Click Start , and then type the name of the program in the Start Search box.
In the Programs list, right-click the program name, and then click Properties.
On the Compatibility tab, click to select the Run this program in compatibility mode for check box.
In the list, select an operating system, and then click
OK.
If the program still does not work correctly, go to the next method.
Method 3: Run the program as an administrator
To run the program as an administrator, follow these steps:
Click Start , and then type the name of the program in the Start Search box.
In the Programs list, right-click the program that you are troubleshooting, and then click Run as administrator. If you are prompted for an administrator password or for a confirmation, type the password, or click Continue.
If the program now runs correctly, the program requires administrative permissions to function. For more information about how to force a program to automatically run with administrative permissions, see the «Step 2: Run the program as an administrator» section of the following Microsoft Knowledge Base article:
931362 Advanced methods to troubleshoot a program that does not run as expected after it is installed on Windows Vista
If the program still does not work correctly, go to the next method.
Method 4: Contact the program vendor or the hardware manufacturer
If a program will not run in Windows Vista, or a piece of hardware does not function as expected after you install Windows Vista, contact the program vendor or the hardware manufacturer for guidance about how to troubleshoot the issue. Typically, the software vendor’s Web site provides a support section that you can use, for example, to search for an error message that you may receive from the program.
Frequently, the software vendor will be able to resolve the incompatibility issue by providing one of the following resolutions:
An update to make the current version of the program compatible with Windows Vista
A version of the program that is compatible with Windows Vista
Information about any configuration changes to make the program compatible with Windows Vista
For information about your hardware manufacturer, visit the following Web site:
http://support.microsoft.com/gp/vendors/en-us Microsoft provides third-party contact information to help you find technical support. This contact information may change without notice. Microsoft does not guarantee the accuracy of this third-party contact information.
Advanced troubleshooting
This section is intended for advanced computer users. If you are not comfortable with advanced troubleshooting, you might want to ask someone for help or contact support. For information about how to do this, visit the following Microsoft Web site:
http://support.microsoft.com/contactus/If you are an advanced user who has tried the steps in this article, and your issue is still not resolved, follow the steps in the following Microsoft knowledge Base article:
931362 Advanced methods to troubleshoot a program that does not run as expected after it is installed on Windows Vista
Resources
931359 How to determine whether there are program-compatibility issues before you install Windows Vista
931360 How to troubleshoot program-incompatibility issues that may stop the Windows Vista Setup program
931361 How to troubleshoot issues that may prevent a program from being installed correctly on a Windows Vista-based computer
931362 Advanced methods to troubleshoot a program that does not run as expected after it is installed on Windows Vista
929427 January 2007 Windows Vista Application Compatibility Update
932246 March 2007 Windows Vista Application Compatibility Update
935280 July 2007 Windows Vista Application Compatibility Update
For more information about Windows Vista Application Compatibility, visit the following Microsoft Web site:
How to Run your Older Programs in Windows 7/Vista
Sometimes, it can be very annoying to get an older program to run in Windows 7 or Vista. These programs are often not compatible with your current installation of Windows, and yet they are essential for your daily usage. So what can you do about it? Luckily, there is this Program Compatibility Wizard in Windows 7/Vista that can make things slightly easier. What the wizard does is to make the Operating System behaves like an earlier version of Windows so older programs can run on it smoothly.
Here are the steps to make older programs run in Windows 7/Vista.
For Windows Vista
For Windows 7
You can also set the compatibility mode by right clicking on the executable file.
Make the necessary configuration and click OK.
You will have a better chance of running the older programs in Windows 7 than on Vista. However, it still doesn’t guarantee to work for all software. You might want to contact your software vendor to see if a newer release of the software is available.
Never Miss Out
Receive updates of our latest tutorials.
Tanmay Ahmed is the administrator as well as the owner of the tech blog TechsGig where he regularly writes about computer tips & tricks, OS hacks, free online web tools and much more. In real life he is a student of computer science from Kolkata,India and he is very much passionate about being a professional blogger. He is here to share his knowledge that he gained from his student & blogging life.
Windows Vista / Windows 7 – вопросы совместимости приложений
В первой части обзора «Windows Vista / Windows 7 – вопросы совместимости приложений» мы остановились на том, что создали набор «заплаток», позволяющих решить проблемы совместимости. С точки зрения пользователей, мы просто указали какие-то опции, обеспечившие работоспособность приложения. На самом деле, мы задействовали инфраструктуру обеспечения совместимости приложений – Application Compatibility Infrastructure, которая, как мы знаем из предыдущей части, является частью современных операционных систем семейства Windows.
Результат наших манипуляций с опциями на вкладке «Совместимость» был сохранен в реестре – в ветви HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionAppCompatFlagsLayers. В соответствующей записи в этой ветви реестра будут указаны примененные к приложению системные «заплатки».
Такой подход хорошо работает для исправления приложений, расположенных на одном компьютере (и более того, будет работать для всех версий приложения – пока не изменится название его загрузочного файла), но когда приложение используется в целой организации, выполнение манипуляций с вкладкой «Совместимость» на каждом компьютере слишком затратно и может привести к внесению ошибок. Также не рекомендуется, без лишней надобности, пользоваться утилитой regedit для внесения исправлений в реестр. Для того, чтобы сделать набор «заплаток» отторгаемым от конкретного компьютера следует использовать утилиту Compatibility Administrator, которая входит в состав Microsoft Application Compatibility Toolkit – этот набор утилит для ИТ-специалистов можно бесплатно загрузить с сайта Microsoft по адресу http://www.microsoft.com/downloads/details.aspx?familyid=24da89e9-b581-47b0-b45e-492dd6da2971. С помощью этого набора утилит, а точнее, с помощью входящей в его состав утилиты Compatibility Administrator, мы можем повторить все действия, которые мы выполняли на уровне вкладки «Совместимость», но сохранить результаты не в реестре, а в специальном файле, который называется System Database (.sdb).
Давайте используем возможности утилиты Compatibility Administrator для того, чтобы создать набор «заплаток», который будет привязан не только к конкретному пользователю, но и который можно будет распростарить на все компьютеры в организации. В разделе Custom Databases выберем элемент New Database(1) [Untitled_1], нажмем на нем правую кнопку мыши и выберем команду Create New | Application Fix. В диалоговой панели Create new Application Fix укажем название приложения, имя производителя и местоположение исполняемого файла приложения.
Нажмем кнопку Далее и в диалоговой панели Compatibility Modes выберем опцию Microsoft Windows XP (SP2).
Еще раз нажмем кнопку Далее и в панели Compatibility Fixes включим «заплатку» Disable Themes.
После нажатия кнопки Далее в панели Matching Information убедимся в том, что наши «заплатки» относятся только к конкретной версии приложения.
Нажмем кнопку Готово и убедимся в том, что набор «заплаток» для выбранного нами приложения успешно создан.
Воспользуемся кнопкой Save в панели инструментов для сохранения нашего набора «заплаток» в файле – в нашем примере мы назовем этот набор AdobeFix и сохраним его в каталоге C:SDBShare с именем ReaderFix.sdb.
Нажатие правой кнопки в разделе Custom Databases | AdobeFix и выбор команды Install приведет к развертыванию нашего набора «заплаток» на данном компьютере. Если же мы хотим развернуть созданный нами набор «заплаток» на других компьютерах, следует воспользоваться утилитой %windir%system32sdbinst.exe. Синтаксис для нашего примера будет выглядеть так:
При необходимости такая команда может быть включена в состав логон-скриптов, групповых политик, в состав SMS-пакета или выполнена как часть пакета установки приложения.
Для включения набора «заплаток» в пакет установки приложения можно использовать следующий скритп, который затем разворачивается либо средствами SCCM, либо Active Directory Group Policies:
msidbCustomActionTypeVBScript + msidbCustomActionTypeInScript + msidbCustomActionTypeNoImpersonate = 0x0C06
Значение SDB_GUID можно получить нажав правую кнопку мыши на соответствующем наборе заплаток в Compatibility Assistant и выбрав команду Properties.
Отметим, что для того, чтобы запретить загрузку и обновление версий продукта, тем самым обеспечив работоспособность текущей версии с примененными «заплатками» можно использовать утилиту AppLocker, появившуюся в Windows 7 или соответствующие настройки политик в Windows Vista.
Изучение базы данных, содержащей «заплатки» для различных приложений, позволяет создать список наиболее «популярных» заплаток. На первом месте – заплатки, связанные с версией операционной системы и т.н. уровни совместимости, которые позволяют эмулировать поведение определенной версии операционной системы. Также среди наиболее часто применяемых заплаток встречаются заплатки, связанные с работой с реестром и файловой системой. Далее следуют более специфичные заплатки, воспроизводящие те или иные функции, реализованные в предыдущих версиях операционной системы.
Другие возможности Microsoft Application Compatibility Toolkit
В этом обзоре мы рассмотрели, как, используя утилиту Compatibility Administrator, создать набор «заплаток» для приложения и, при необходимости, использовать его для исправления работы приложений на всех компьютерах в организации. В следующей части мы приведем основные рекомендации по созданию совместимых приложений для разработчиков.
Исправления совместимости для Windows 10, Windows 8, Windows 7 и Windows Vista
Область применения
Вы можете устранить некоторые проблемы с совместимостью, которые обусловлены изменениями, внесенными между Windows версиями операционной системы. Эти проблемы могут включать ограничения управления учетной записью пользователя (UAC).
В набор средств (ACT) устанавливается 32-битная и 64-битная версия администратора совместимости. Для 64-битных приложений необходимо использовать 32-битную версию для 32-битных приложений и 64-битную версию. Вы получите сообщение об ошибке, если попробуете использовать неправильная версия.
При запуске администратора совместимости в качестве администратора (с повышенными привилегиями) все восстановленные приложения могут успешно работать; однако виртуализация и перенаправление могут происходить не так, как ожидалось. Чтобы убедиться в том, что исправление совместимости устраняет проблему, необходимо проверить восстановленные приложения, запуская его в учетной записи пользователя назначения.
Исправление совместимости
В следующей таблице перечислены известные исправления совместимости для всех Windows операционных систем, выпущенных из Windows Vista через Windows 10. Исправления перечислены в алфавитном порядке.
Исправление | Описание исправлений |
---|---|
8And16BitAggregateBlts | Приложения, смягчаемые 8/16-битным смягчением, могут проявлять проблемы с производительностью. Этот слой агрегируется все операции blt и повышает производительность. |
8And16BitDXMaxWinMode | Приложения, которые используют DX8/9 и смягчаются с помощью 8/16-битного смягчения, запускаются в максимальном окне. Этот уровень смягчает приложения, которые демонстрируют графическое развращение в полноэкранном режиме. |
8And16BitGDIRedraw | Это устраняет приложения, которые используют GDI и которые работают в 8-битном цветном режиме. Приложение вынуждено перекрасить свое окно в RealisePalette. |
AccelGdipFlush | Это исправление увеличивает скорость GdipFlush, который имеет проблемы perf в DWM. |
AoaMp4Converter | Это исправление устраняет проблему отображения конвертера AoA Mp4. |
BIOSRead | Эта проблема указывается, когда приложение не может получить доступ к объекту Device\PhysicalMemory за пределами драйверов режима ядра, на любой из операционных систем Windows Server® 2003. Исправление позволяет исполняемым (.exe) файлам OEM использовать функцию GetSystemFirmwareTable вместо функции NtOpenSection, когда BIOS запрашивается для данных \Device\Physical memory.. |
BlockRunasInteractiveUser | Эта проблема возникает, когда InstallShield создает установщики и uninstallers, которые не завершались и которые создают сообщения об ошибках или предупреждения. Исправление блокирует установку InstallShield значения ключей реестра RunAs в InteractiveUser, так как InteractiveUser больше не имеет прав администратора. |
ChangeFolderPathToXPStyle | Это исправление необходимо, когда приложение не может возвращать пути папок оболочки, когда оно использует API SHGetFolder. Исправление перехватывает запрос пути SHGetFolderна общий путь файла appdata и возвращает Windows® файл в стиле XP вместо пути Windows в стиле Vista. |
ClearLasterrorStatusonIntializeCriticalSection | Это исправление указывается, когда приложение не запустится. Исправление изменяет вызов функции InitializeCriticalSection, чтобы она проверила код ошибки NTSTATUS, а затем установила последнюю ошибку ERROR_SUCCESS. |
CopyHKCUSettingsFromOtherUsers | Эта проблема возникает, когда установщик приложения должен работать в повышенном режиме и зависит от параметров HKCU, которые предоставляются другим пользователям. Исправление сканирует существующие профили пользователей и пытается скопировать указанные ключи в HKEY_CURRENT_USER реестра. Вы можете контролировать это исправление, введите соответствующие ключи реестра в качестве параметров, разделенных символом ^; например: Software\MyCompany\Key1^Software\MyCompany\Key2. |
CorrectCreateBrushIndirectHatch | Проблема указывается сообщением об ошибке нарушения доступа, отображаемом и при сбойе приложения при выборе или обрезе изображения. Исправлено значение штриховки стиля кисти, которое передается функции CreateBrushIndirect() и позволяет правильно интерпретировать информацию. |
CorrectFilePaths | Проблема указывается, когда приложение пытается записывать файлы на жесткий диск и не получает доступ или получает файл, не найденный или не найденный путь сообщения об ошибке. Исправление имен пути файлов, чтобы указать на новое расположение на жестком диске. |
CorrectFilePathsUninstall | Эта проблема возникает, когда неустановленные приложения оставляют после себя файлы, каталоги и ссылки. Исправление исправит пути файлов, используемые процессом деинсталлации приложения. |
CorrectShellExecuteHWND | Эта проблема возникает при запуске исполняемого (.exe) и мигает элемент панели задач вместо открываемого запроса высоты или когда приложение не предоставляет допустимое значение HWND при вызове функции ShellExecute(Ex). Fixintercepts вызывает ShellExecute(Ex), а затем проверяет значение HWND. Если значение является недействительным, это исправление позволяет вызову использовать действующее в настоящее время значение HWND. |
CustomNCRender | Это исправление предписывает DWM не отрисовки не клиента области, тем самым заставляя приложение сделать свое собственное отрисовка NC. Это часто дает окнам внешний вид XP. |
DelayApplyFlag | Это исправление применяется флаг KERNEL, USER или PROCESS, если указанная DLL загружена. Вы можете управлять этим исправлением далее, введя следующую команду в командной подсказке: DLL_Name;Flag_Type;Hexidecimal_Value |
DeprecatedServiceShim | Проблема указывается, когда приложение пытается установить службу, зависимую от неподготовленной службы. Отображается сообщение об ошибке. Исправление перехватывает вызовы функции CreateService и удаляет службу зависимостей от параметра lpDependencies. Вы можете управлять этим исправлением далее, введя следующую команду в командной подсказке: Deprecated_Service\App_Service/Deprecated_Service2 \App_Service2 |
DirectXVersionLie | Эта проблема возникает при сбойе приложения, так как оно не находит правильный номер версии для DirectX®. Исправление изменяет вызов функции DXDIAGN GetProp, чтобы вернуть правильную версию DirectX. Вы можете управлять этим исправлением далее, введя следующую команду в командной подсказке: Исправление временно отключает функциональность Windows меню Aero для неподкрепимого приложения. |
DisableFadeAnimations | Проблема указывается, когда приложение исчезает анимация, кнопки или другие элементы управления не работают должным образом. Исправление отключает функции анимации исчезать для неподкрепимого приложения. |
ОтключениеThemeMenus | Проблема указывается приложением, которое ведет себя непредсказуемо при обнаружении и использовании правильных Windows параметров. Исправление временно отключает функциональность Windows меню Aero для неподкрепимого приложения. |
DisableWindowsDefender | Исправление отключает Защитник Windows для приложений безопасности, которые не работают с Защитник Windows. |
DWM8And16BitMitigation | Исправление предлагает смягчение последствий для приложений, которые работают в цветном режиме 8/16-битного отображения, так как эти устаревшие цветовые режимы не поддерживаются Windows 8. |
DXGICompat | Исправление позволяет передавать инструкции по совместимости с приложениями в двигатель DirectX. |
DXMaximizedWindowedMode | Приложения, которые используют DX8/9, запускаются в максимальном окне. Это необходимо для приложений, которые используют GDI/DirectDraw в дополнение к Direct3D. |
ElevateCreateProcess | Указывается, что проблема возникает при сбойе установок, де-установок или обновлений, так как процесс хост вызывает функцию CreateProcess и возвращает ERROR_ELEVATION_REQUIRED сообщение об ошибке. Исправление кода ошибки и попытка отозвать функцию CreateProcess вместе с запрашиваемой высотой. Если фиксированное приложение уже имеет манифест UAC, код ошибки будет возвращен без изменений. |
EmulateOldPathIsUNC | Проблема возникает при сбойе приложения из-за неправильного пути UNC. Исправление обменивается функцией PathIsUNC, чтобы вернуть значение True для путей UNC в Windows. |
EmulateGetDiskFreeSpace | Проблема указывается, когда приложение не удается установить или запустить, и оно создает сообщение об ошибке, что для установки или использования приложения недостаточно свободного дискового пространства, даже несмотря на то, что для этого достаточно свободного дискового пространства. Исправление определяет количество свободного пространства, так что если объем свободного пространства больше 2 ГБ, исправление совместимости возвращает значение 2 ГБ, но если количество свободного пространства меньше 2 ГБ, исправление совместимости возвращает фактическое свободное пространство. |
EmulateSorting | Проблема возникает, когда у приложения возникают проблемы с функциями поиска. Исправление заставляет приложения, которые используют таблицу сортировки CompareStringW/LCMapString использовать более старую версию таблицы. |
EmulateSortingWindows61 | Исправление эмулирует порядок сортировки Windows 7 и Windows 2008 R2 для различных API. |
EnableRestarts | Проблема указывается, когда приложение и компьютер зависают, так как процессы не могут закончиться, чтобы позволить компьютеру завершить процессы перезапуска. Исправление позволяет компьютеру перезапустить и завершить процесс установки, проверив и включив, что привилегия службы SeShutdownPrivilege существует. |
ExtraAddRefDesktopFolder | Проблема возникает, когда приложение слишком много раз вызывает метод Release() и приводит к преждевременному уничтожению объекта. Исправление устраняет попытки приложения получить папку рабочего стола оболочки путем обращения метода AddRef() в папку Desktop, которая возвращается функцией SHGetDesktopFolder. |
FailObsoleteShellAPIs | Проблема возникает, когда приложение не справилось с решением, так как оно вызвало неподготовленные вызовы API. Исправление либо полностью реализует устаревшие функции, либо реализует устаревшие функции с ошибками. |
FailRemoveDirectory | Проблема возникает, когда процесс удаления приложений не удаляет все файлы и папки приложений. Это исправление не вызывает вызовы removeDirectory() при вызове с пути, совпадающий с тем, который указан в командной строке shim. Поддерживается только один путь. Путь может содержать переменные среды, но должен быть точным — частичные пути не поддерживаются. Исправление устраняет проблему, из-за которой приложение ожидает, что RemoveDirectory() немедленно удалит папку, даже если ручка открыта для нее. |
FakeLunaTheme | Проблема возникает, когда приложение темы не отображается должным образом: цвета смываются или пользовательский интерфейс не детализирован. Исправление перехватывает API GetCurrentThemeName и возвращает значение для Windows XP по умолчанию (Luna). |
FlushFile | Эта проблема указывается, когда файл обновляется и изменения не отображаются сразу на жестком диске. Приложения не могут видеть изменения файла. Исправление функции WriteFile для вызова API FlushFileBuffers, которые сбрасывают кэш файла на жесткий диск. |
FontMigration | Исправление заменяет запрашиваемую приложением шрифтовую линию с лучшим выбором шрифта, чтобы избежать отрезка текста. |
ForceAdminAccess | Проблема возникает, когда приложение не работает во время явной проверки администратора. Исправление позволяет пользователю временно имитировать участие в группе администраторов, возвращая значение True во время проверки администратора. |
ForceInvalidateOnClose | Исправление недействительно для любых окон, которые существуют в закрываемом или скрытом окне для приложений, которые полагаются на сообщения о недействительности. |
ForceLoadMirrorDrvMitigation | Исправление загружает Windows 8 зеркального драйвера для приложений, в которых смягчение не применяется автоматически. |
FreestyleBMX | Исправление устраняет условие гонки приложений, связанное с порядком сообщения окна. |
GetDriveTypeWHook | Приложение представляет необычное поведение во время установки; например, программа установки указывает, что она не может установить в указанное пользователем расположение. Исправление exchanges GetDriveType() таким образом, чтобы для пути файла была отображается только корневая информация. Это необходимо, когда приложение проходит неполный или плохо сформированный путь файла при попытках получить тип диска, на котором существует путь файла. |
GlobalMemoryStatusLie | Проблема указывается сообщением об ошибке полной памяти компьютера, отображаемом при запуске приложения. Исправление изменяет структуру состояния памяти, чтобы он сообщал о файле swap размером 400 МБ независимо от размера файла swap. |
HandleBadPtr | Проблема указывается сообщением об ошибке нарушения доступа, отображаемом, так как API выполняет проверку указателей перед использованием параметра. Исправление поддерживает использование проверки lpBuffer с помощью функций InternetSetOptionA и InternetSetOptionW для выполнения дополнительной проверки параметров. |
HandleMarkedContentNotIndexed | Проблема указывается приложением, которое не удается при смене атрибута в файле или каталоге. Исправление перехватывает все вызовы API, возвращая атрибуты и каталоги файлов, вызываемые из каталога %TEMP%, и сбрасывает атрибут FILE_ATTRIBUTE_NOT_CONTENT_INDEXED в исходное состояние. |
HeapClearAllocation | Проблема указывается при неожиданном закрытии процесса выделения. Исправление использует нули для очистки выделения кучи для приложения. |
IgnoreAltTab | Проблема возникает, когда приложение не функционирует при применении специальных комбинаций ключей. Исправление перехватывает API RegisterRawInputDevices и предотвращает доставку WM_INPUT сообщений. Этот сбой доставки заставляет игнорировать включенные крючки и вынуждает DInput использовать Windows-определенные крючки. |
IgnoreChromeSandbox | Исправление позволяет Google Chrome работать в системах с ntdll, загруженными свыше 4 ГБ. |
IgnoreDirectoryJunction | Проблема указывается сообщением об ошибке с нарушением чтения или доступа, отображаемом при поиске или открываемом приложении файлах. Исправление связывает API FindNextFileW, FindNextFileA, FindFirstFileExW, FindFirstFileW и FindFirstFileA. |
IgnoreException | Проблема указывается, когда приложение прекращает работу сразу после его начала или начинается с того, что на экране появляется только курсор. Исправление позволяет приложению игнорировать указанные исключения. По умолчанию это исправление игнорирует исключения в привилегированном режиме; однако его можно настроить, чтобы игнорировать любое исключение. Вы можете управлять этим исправлением далее, введя следующую команду в командной подсказке: Exception1;Exception2 Важно: Это исправление совместимости следует использовать только в том случае, если вы уверены, что можно игнорировать исключение. При неправильном игнорировании исключения может возникнуть больше проблем с совместимостью. |
IgnoreFloatingPointRoundingControl | Это исправление позволяет приложению игнорировать запрос на управление округлки и вести себя так, как ожидалось в предыдущих версиях приложения. Перед поддержкой плавающей точки SSE2 в библиотеке времени запуска C игнорируется запрос на управление округлежями, который по умолчанию будет использовать круглый до ближайшего параметра. При этом игнорируется запрос на управление округлками для поддержки приложений, опирающихся на старое поведение. |
IgnoreFontQuality | Проблема возникает при искажении текста приложения. Исправление позволяет шрифтам с цветными ключами правильно работать с псевдонимом. |
IgnoreMessageBox | Проблема указывается в поле сообщений, отображаемом с отладки или экстрасенсного контента, когда приложение работает на неожиданной операционной системе. Исправление перехватывает API MessageBox* и проверяет их на определенный текст сообщения. Если найден совпадающий текст, приложение продолжает показывать поле сообщений. |
IgnoreMSOXMLMF | Проблема указывается сообщением об ошибке, в которое указывается, что операционная система не может найти MSVCR80D.DLL файл. Исправление перехватывает вызов функции для создания объекта и заменяет слово Global локальным. |
MakeShortcutRunas | Проблема указывается, когда приложение не удается удалить из-за ошибок, связанных с доступом. Исправление находит все RunDLL.exe на основе uninstallers и заставляет их работать с различными учетными данными во время установки приложения. После применения этого исправления установщик создаст ярлык, который указывает строку соотнесения для запуска во время установки приложения, что позволит удалить ее позже. |
ManageLinks | Исправление перехватывает распространенные API, которые собираются в каталог или в исполняемый (.exe) файл, а затем преобразует все символические или каталоги соединений перед передачей его обратно в исходные API. |
MirrorDriverWithComposition | Исправление позволяет зеркальным драйверам правильно работать с приемлемой производительностью с настольной композицией. |
MoveToCopyFileShim | Проблема возникает, когда у приложения возникают проблемы с доступом к безопасности во время установки. Исправление заставляет API CopyFile запускаться вместо API MoveFile. API CopyFile не перемещают дескриптор безопасности, что позволяет файлам приложений получать по умолчанию дескриптор конечной папки и предотвращает проблему доступа к безопасности. |
OpenDirectoryAcl | Проблема указывается сообщением об ошибке, в нем указывается, что у вас нет соответствующих разрешений на доступ к приложению. Исправление снижает уровень привилегий безопасности для определенного набора файлов и папок. |
PopCapGamesForceResPerf | Исправление устраняет проблемы с производительностью в играх PopCap, таких как Bejeweled2. Проблемы с производительностью видны в некоторых низкокаченых картах при определенных разрешениях, где буфер 1024×768 масштабироваться, чтобы соответствовать разрешению дисплея. |
PreInstallDriver | Предустановка драйверов предустановок для приложений, которые в противном случае попытаются установить или запустить драйверы во время начального начального процесса. |
PreInstallSmarteSECURE | Предустановка предустановок CLSID на компьютере для приложений с защитой от копирования SmartSECURE, которые в противном случае будут пытаться установить CLSID во время начального начального процесса. |
ProcessPerfData | Проблема указывается сообщением об ошибке «Невыявленное исключение», так как приложение пыталось считыть значение реестра данных производительности процесса, чтобы определить, запущен ли другой экземпляр приложения. Исправление обрабатывает случае сбоя, передав поддельный ключ реестра данных производительности процесса, так что приложение воспринимает, что это единственный запущенный экземпляр. |
PropagateProcessHistory | Проблема возникает, когда приложение неправильно не применяет исправление приложения. Исправление задает переменную _PROCESS_HISTORY среды, чтобы детские процессы могли искать в родительском каталоге для совпадения сведений при поиске исправлений приложений. |
ProtectedAdminCheck | Проблема возникает, когда приложение не работает из-за неправильных разрешений защищенного администратора. Исправление устраняет проблемы, которые возникают, когда приложения используют нестандартные проверки администратора, создавая тем самым ложные срабатывания для учетных записей пользователей, которые запускаются в качестве защищенных администраторов. В этом случае связанный SID существует, но заданной как отрицание. |
RedirectCRTTempFile | Исправление перехватывает неуправляемые вызовы CRT, которые пытаются создать временный файл в корне тома, перенаправляя вызовы на временный файл во временном каталоге пользователя. |
RedirectHKCUKeys | Проблема возникает, когда приложение не может получить доступ из-за ограничений управления учетной записью пользователей. Исправление дублирует все вновь созданные ключи HKCU для учетных записей HKCU других пользователей. Это исправление является универсальным для ограничений UAC, в которых требуются ключи HKCU, но недоступны для приложения во время работы. |
RedirectMP3Codec | Эта проблема возникает, когда вы не можете играть в MP3-файлы. Исправление перехватывает вызов CoCreateInstance для отсутствующих фильтров и перенаправляет его в поддерживаемую версию. |
RedirectShortcut | Проблема возникает, когда приложение не может получить доступ к его ярлыку, или ярлыки приложения не удаляются во время процесса удаления приложения. Исправление перенаправляет все ярлыки, созданные во время установки приложения, чтобы отображаться по указанному пути. Пусковые ярлыки меню: Отображаются в каталоге меню \ProgramData\Microsoft\Windows\Start Menu для всех пользователей. Эта проблема возникает из-за ограничений UAC: в частности, когда настройка приложения выполняется с помощью повышенных привилегий и сохраняет ярлыки в соответствии с повышенным контекстом пользователя. В этой ситуации ограниченный пользователь не может получить доступ к ярлыкам. |
RetryOpenSCManagerWithReadAccess | Проблема возникает, когда приложение пытается открыть диспетчер управления службами (SCM) и получает сообщение об ошибке с отказом в доступе. |
RetryOpenServiceWithReadAccess | Проблема возникает, когда не удается открыть службу из-за приложения с помощью API OpenService() для проверки на наличие определенного сообщения об ошибке службы. Исправление повторно проверяет вызов API OpenService() и проверяет, что пользователь имеет права администратора, не является защищенным администратором и использует доступ только для чтения. Приложения могут проверить наличие службы, позвонив в API OpenService() но некоторые приложения при проверке запросят все доступы. Это исправление повторно запрашивает вызов, но запрашивает доступ только для чтения. Чтобы это работало, пользователю необходимо быть администратором |
RunAsAdmin | Проблема возникает, когда приложение не функционирует с помощью учетной записи Standard User или Protected Administrator. Исправление позволяет приложению работать с помощью повышенных привилегий. Исправление эквивалентно указанию requireAdministrator в манифесте приложения. |
RunAsHighest | Проблема возникает, когда администраторы не могут просматривать версию чтения и записи приложения, которая представляет представление только для чтения для стандартных пользователей. Исправление позволяет приложению запускать с помощью самых доступных разрешений. Это эквивалент указания highestAvailable в манифесте приложения. |
RunAsInvoker | Проблема возникает, когда приложение не обнаруживается как требующее высоты. Исправление позволяет приложению работать с помощью привилегий, связанных с процессом создания, без необходимости повышения. Это эквивалент указания asInvoker в манифесте приложения. |
SecuROM7 | Исправление исправлений приложений с помощью SecuROM7 для защиты от копирования. |
SessionShim | Исправление перехватывает вызовы API из приложений, которые пытаются взаимодействовать со службами, работающими в другом сеансе, с помощью префикса имени службы терминала (Global или Local) в качестве параметра. В командной подсказке можно предоставить список объектов, которые необходимо изменить, разделив значения двойным ответом (). Или вы можете не включать параметры, чтобы все объекты были изменены. Важно: Пользователи не могут войти как сеанс 0 (глобальная сессия) в Windows Vista и более поздней. Поэтому приложения, которые требуют доступа к сеансу 0, автоматически сбой. |
SetProtocolHandler | Исправление регистрирует приложение как обработник протокола. Вы можете управлять этим исправлением далее, введя следующую команду в командной подсказке: Client;Protocol;App |
SetupCommitFileQueueIgnoreWow | Проблема возникает, когда 32-битная программа установки не удается установить, так как для нее требуются 64-битные драйверы. Исправлена файловая система Wow64, используемая 64-битными выпусками Windows, чтобы 32-битные приложения не получили доступ к 64-битным файловым системам во время установки приложения. |
SharePointDesigner2007 | Исправление устраняет ошибку приложения, которая значительно замедляет приложение при его запуске в DWM. |
ShimViaEAT | Проблема возникает, когда приложение сбой, даже после применения исправления acompatibility, которое, как известно, исправить проблему. Приложения, которые используют unicows.dll или защиту от копирования, часто представляют эту проблему. Исправление указанных исправлений совместимости путем изменения таблицы экспорта и отмены использования включения и исключения модуля. |
ShowWindowIE | Проблема возникает, когда веб-приложение испытывает проблемы с навигацией и отображением из-за функции tabbing. Исправление вызова API ShowWindow для решения проблем, которые могут возникнуть, когда веб-приложение определяет, что он находится в окне ребенка. Это исправление вызывает реальный API ShowWindow в родительском окне верхнего уровня. |
SierraWirelessHideCDROM | Исправление устраняет установку сьерра-беспроводного драйвера, тем самым предотвращая ошибку. |
Sonique2 | Приложение использует недействительный стиль окна, который нарушается в DWM. Это исправление заменяет стиль окна допустимым значением. |
SpecificInstaller | Проблема возникает, когда файл установки приложений не удается получить с помощью функции GenericInstaller. Исправление приводит к тому, что приложение является файлом установщика (например, setup.exe), а затем высвечив отметку. |
SpecificNonInstaller | Проблема возникает, когда приложение, которое не является установщиком (и имеет достаточные привилегии), создает ложное срабатываение из функции GenericInstaller. Исправление этого приложения, чтобы исключить его из обнаружения с помощью функции GenericInstaller. |
SystemMetricsLie | Исправление заменяет значения SystemMetrics и SystemParametersInfo значениями предыдущих Windows версий. |
TextArt | Приложение получает различные координаты мыши с DWM ON и DWM OFF, из-за чего приложение зависает. Это исправление устраняет проблему. |
TrimDisplayDeviceNames | Исправление обрезает имена отображаемого устройства, возвращаемого API EnumDisplayDevices. |
UIPICompatLogging | Исправление позволяет вести журнал Windows из Internet Explorer и других процессов. |
UIPIEnableCustomMsgs | Проблема возникает, когда приложение не взаимодействует должным образом с другими процессами, так как Windows сообщения не доставляются. Исправление настраивается Windows сообщений, которые передаются в текущий процесс с более низкого уровня целостности настольных компьютеров. Это исправление эквивалентно вызову функции RegisterWindowMessage, а затем функции ChangeWindowMessageFilter в коде. Вы можете управлять этим исправлением далее, введя следующую команду в командной подсказке: MessageString1 MessageString2 |
UIPIEnableStandardMsgs | Проблема возникает, когда приложение не взаимодействует должным образом с другими процессами, поскольку стандартные Windows сообщения не доставляются. Стандартные исправления Windows, которые передаются в текущий процесс с более низкого уровня целостности настольных компьютеров. Это исправление эквивалентно вызову функции ChangeWindowMessageFilter в коде. Вы можете управлять этим исправлением далее, введя следующую команду в командной подсказке: Где 1055 отражает первый ID сообщения, 1056 отражает второй ИД сообщения, а 1069 отражает третий ID сообщения, который может пройти. |
VirtualizeDeleteFileLayer | Исправление виртуализирует операции DeleteFile для приложений, которые пытаются удалить защищенные файлы. |
VirtualizeDesktopPainting | Это исправление повышает производительность ряда операций на dc desktop при использовании DWM. |
VirtualRegistry | Проблема указывается, когда компоненту не удалось найти сообщение об ошибке, отображаемом при запущении приложения. Исправление функций реестра для виртуализации, перенаправления, значений расширения, спуфинга версий, моделирования счетчиков данных производительности и так далее. Дополнительные сведения об этом исправлении приложения см. в приложении Using the VirtualRegistry Fix. |
VirtualizeDeleteFile | Проблема возникает, когда отображаются несколько сообщений об ошибках, и приложение не может удалять файлы. Исправление функции DeleteFile приложения вызов виртуального вызова в попытке устранить проблемы UAC и виртуализации файлов, которые были введены с Windows Vista. Это исправление также связывает другие API файлов (например, GetFileAttributes) для обеспечения удаления виртуализации файла. |
VirtualizeHKCRLite | Проблема возникает, когда приложение не регистрирует компоненты COM во время работы. Fixredirects HKCR write calls (HKLM) to the HKCU hive for a per-user COM registration. Это работает так же, как исправление VirtualRegistry при использовании параметра VirtualizeHKCR; однако виртуализацияHKCRLite обеспечивает лучшую производительность. HKCR — это виртуальное объединение каталогов HKCU\Software\Classes и HKLM\Software\Classes. Использование HKCU является предпочтительным, если приложение не повышено и игнорируется, если приложение повышено. Обычно это исправление совместимости используется совместно с исправлением VirtualizeRegisterTypeLib. |
VirtualizeRegisterTypeLib | Исправление, когда оно используется с исправлением VirtualizeHKCRLite, гарантирует, что библиотека типов и регистрация класса COM происходят одновременно. Это выполняется так же, как исправление RegistryTypeLib, когда используется параметр RegisterTypeLibForUser. |
WaveOutIgnoreBadFormat | Эта проблема указывается сообщением об ошибке: не удается инициализировать звуковое устройство из звукового драйвера; затем приложение закрывается. Исправление, которое приложение игнорирует ошибку формата и продолжает нормально функционировать. |
WerDisableReportException | Исправление отключает бесшумную отчетность об исключениях для средства отчеты об ошибках Windows, в том числе тех, которые сообщаются объектной связью и Embedding-Database (OLE DB). Исправление перехватывает API RtlReportException и возвращает сообщение STATUS_NOT_SUPPORTED ошибки. |
Win7RTM/Win8RTM | Этот слой обеспечивает приложение режимом Windows 7/Windows 8 совместимости. |
WinxxRTMVersionLie | Проблема возникает при сбойе приложения, так как оно не находит правильный номер версии для Windows операционной системы. Все исправления совместимости с ложью версии устраняют проблему, из-за которой приложение не функционирует, так как проверяет, но не находит конкретную версию операционной системы. Исправление ложь версии возвращает соответствующие сведения о версии операционной системы. Например, VistaRTMVersionLie возвращает Windows версии Vista в приложение, независимо от фактической версии операционной системы, которая запущена на компьютере. |
Wing32SystoSys32 | Проблема указывается сообщением об ошибке, в которое указывается, что библиотека WinG не была установлена должным образом. Исправлено, существует ли библиотека WinG32 в правильном каталоге. Если библиотека расположена в неправильном расположении, это исправление копирует сведения (как правило, во время работы приложения) в каталог %WINDIR% \system32. Важно: Приложение должно иметь привилегии администратора, чтобы это исправление работало. |
WinSrv08R2RTM | |
WinXPSP2VersionLie | Проблема возникает, когда приложение испытывает проблемы из-за DLL времени работы VB. |
WRPDllRegister | При попытках зарегистрировать компонент COM, выпущенный вместе с Windows Vista, приложение не удается. При вызове функций DLLRegisterServer и DLLUnregisterServer выполняется исправление процессов регистрации и незарегистрации компонентов COM, защищенных WRP. Вы можете управлять этим исправлением далее, введя следующую команду в командной подсказке: Component1.dll;Component2.dll |
WRPMitigation | Проблема указывается, когда сообщение об ошибке, отказано в доступе, отображается, когда приложение пытается получить доступ к защищенной операционной системе с помощью большего, чем только для чтения. Исправление устраняет успешную проверку подлинности и изменение API файлов и реестров, чтобы приложение можно было продолжить. |
WRPRegDeleteKey | Проблема указывается сообщением об ошибке с отказом в доступе, отображаемом при попытках приложения удалить ключ реестра. Исправление того, защищен ли ключ реестра WRP. Если ключ защищен, это исправление эмулирует процесс удаления. |
XPAfxIsValidAddress | Исправление эмулирует поведение Windows XP для MFC42! AfxIsValidAddress. |
Режимы совместимости
В следующей таблице перечислены известные режимы совместимости.