Исправления совместимости для Windows 10, Windows 8, Windows 7 и Windows Vista
Вы можете устранить некоторые проблемы совместимости, вызванные различиями между версиями операционной системы Windows. К таким проблемам относятся ограничения контроля учетных записей.
Важно
Набор Application Compatibility Toolkit (ACT) устанавливает 32- и 64-разрядную версии средства Compatibility Administrator. Для 32-разрядных приложений нужно использовать 32-разрядную версию, а для 64-разрядных приложений — 64-разрядную версию. При попытке использования неправильной версии вы получите сообщение об ошибке.
Если вы запустите средство Compatibility Administrator от имени администратора (с более высоким уровнем привилегий), все восстановленные приложения могут работать успешно. Однако виртуализация и перенаправление могут работать не так, как ожидается. Чтобы убедиться, что исправление совместимости решило проблему, необходимо проверить восстановленное приложение, запустив его от имени требуемой учетной записи пользователя.
Исправления совместимости
В следующей таблице перечислены известные исправления совместимости для всех выпущенных операционных систем от Windows Vista до Windows 10. Исправления представлены в алфавитном порядке.
Исправление | Описание |
---|---|
8And16BitAggregateBlts |
В приложениях, для которых применяется 8- и 16-разрядное исправления, могут обнаруживаться проблемы с производительностью. На этом уровне собираются все битовые операции и повышается производительность. |
8And16BitDXMaxWinMode |
Приложения, которые используют DirectX 8 и 9 и для которых применяются 8- и 16-разрядные исправления, работают в развернутом оконном режиме. Этот уровень исправляет приложения, в которых обнаруживаются проблемы с графикой в полноэкранном режиме. |
8And16BitGDIRedraw |
Исправление предназначено для приложений, которые используют GDI и работают в режиме 8-разрядного цвета. Приложение должно перерисовать свое окно в RealizePalette. |
AccelGdipFlush |
Исправление увеличивает скорость GdipFlush, с которым обнаружены проблемы с производительностью в диспетчере окон рабочего стола. |
AoaMp4Converter |
Исправление устраняет проблему с отображением в конвертере AoA Mp4. |
BIOSRead |
Проблема проявляется, когда приложение не может получить доступ к объекту Device\PhysicalMemory вне работающих в режиме ядра драйверов в любой операционной системе Windows Server® 2003. Исправление позволяет исполняемым (EXE) файлам OEM использовать функцию GetSystemFirmwareTable вместо NtOpenSection, когда в BIOS запрашиваются данные о памяти \\Device\Physical. |
BlockRunasInteractiveUser |
Проблема возникает, когда InstallShield создает процессы установки и удаления, которые не удается завершить и которые создают предупреждения или сообщения об ошибке. Исправление запрещает InstallShield задавать для разделов реестра RunAs значение InteractiveUser, поскольку InteractiveUser больше не имеет прав администратора. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления BlockRunAsInteractiveUser. |
ChangeFolderPathToXPStyle |
Исправление необходимо, если приложению не удается вернуть пути к папкам оболочки, когда используется API SHGetFolder. Исправление перехватывает запрос пути SHGetFolder к общему пути appdata и возвращает путь в стиле Windows® XP вместо пути к файлу в стиле Windows Vista. |
ClearLastErrorStatusonIntializeCriticalSection |
Исправление требуется, когда не удается запустить приложение. Исправление изменяет вызов функции InitializeCriticalSection, чтобы она проверяла код ошибки NTSTATUS, а затем задает для последней ошибки состояние ERROR_SUCCESS. |
CopyHKCUSettingsFromOtherUsers |
Проблема возникает, когда процесс установки приложения должен работать в режиме с повышенными привилегиями и зависит от параметров HKCU, заданных для других пользователей. Исправление просматривает существующие профили пользователей и пытается скопировать указанные разделы в область реестра HKEY_CURRENT_USER. Чтобы настроить работу этого исправления, вы можете ввести нужные разделы реестра в качестве параметров, разделяемых символом ^, например Дополнительные сведения об этом исправлении приложений см. в статье Использование исправления CopyHKCUSettingsFromOtherUsers. |
CorrectCreateBrushIndirectHatch |
На эту проблему указывает сообщение об ошибке нарушения прав доступа, а также внезапное завершение работы приложения при выборе или обрезке изображения. Исправление изменяет значение штриховки для стиля кисти, которое передается в функцию CreateBrushIndirect(), и позволяет правильно обрабатывать эту информацию. |
CorrectFilePaths |
Проблема возникает, когда приложение пытается записать файлы на жесткий диск, но получает отказ в доступе или сообщение об ошибке «Файл не найден» или «Путь не найден». Исправление изменяет пути к файлам, задавая в них новое расположение на жестком диске. ПримечаниеДополнительные сведения об исправлении приложений CorrectFilePaths см. в статье Использование исправления CorrectFilePaths. Это исправление рекомендуется использовать вместе с исправлением CorrectFilePathsUninstall, если оно применяется к файлу установки. |
CorrectFilePathsUninstall |
Проблема возникает, когда от удаленного приложения остаются файлы, каталоги и ссылки. Исправление изменяет пути к файлам, которые используются в процессе удаления приложения. ПримечаниеДополнительные сведения об этом исправлении см. в статье Использование исправления CorrectFilePathsUninstall. Это исправление рекомендуется использовать вместе с исправлением CorrectFilePaths, если оно применяется к файлу установки. |
CorrectShellExecuteHWND |
Проблема возникает, когда запускается исполняемый файл (EXE), но вместо появления запроса на повышение прав начинает мигать элемент панели задач, а также когда приложение не представляет допустимого значения HWND при вызове функции ShellExecute(Ex). Исправление перехватывает вызовы ShellExecute(Ex) и проверяет значение HWND. Если оно оказывается недопустимым, то исправление позволяет использовать в вызове текущее активное значение HWND. ПримечаниеДополнительные сведения об исправлении приложений CorrectShellExecuteHWND см. в статье Использование исправления CorrectShellExecuteHWND. |
CustomNCRender |
Исправление запрещает диспетчеру окон рабочего стола прорисовывать область вне клиента, и приложение должно самостоятельно выполнять эту прорисовку. При этом окна часто принимают стиль Windows XP. |
DelayApplyFlag |
Это исправление устанавливает флажок KERNEL, USER или PROCESS, если загружается указанная библиотека DLL. Чтобы настроить это исправление, введите в командной строке следующую команду: имя_библиотеки_DLL;тип_флага;шестнадцатеричное_значение Здесь имя_библиотеки_DLL — это имя библиотеки DLL с указанием расширения файла. Тип_флага имеет значение KERNEL, USER или PROCESS, а шестнадцатеричное_значение начинается с 0x и может иметь длину до 64 бит. ПримечаниеФлаг типа PROCESS может иметь длину не более 32 бит. Несколько записей следует разделять обратной косой чертой (\). |
DeprecatedServiceShim |
Проблема возникает, когда приложение пытается установить службу, которая зависит от устаревшей службы. Появляется сообщение об ошибке. Исправление перехватывает вызовы функции CreateService и удаляет зависимость от устаревшей службы из параметра lpDependencies. Чтобы настроить это исправление, введите следующую команду в командной строке: устаревшая_служба\служба_приложения/устаревшая_служба2\служба_приложения2 Здесь устаревшая_служба — имя устаревшей службы, а служба_приложения — имя службы приложения, которую нужно изменить, например NtLmSsp\WMI. ПримечаниеЕсли не указать имя служба_приложения, то устаревшая служба будет удалена из всех вновь созданных служб. Несколько записей следует разделять косой чертой (/). |
DirectXVersionLie |
Это проблема возникает, когда приложение завершается с ошибкой, поскольку не удается найти правильный номер версии DirectX®. Исправление изменяет вызов функции DXDIAGN GetProp, чтобы возвращать правильную версию DirectX. Чтобы настроить это исправление, введите следующую команду в командной строке: MAJORVERSION.MINORVERSION.LETTER Например, |
DetectorDWM8And16Bit |
Исправление предназначено для приложений, которые работают в режиме с 8- и 16-разрядным цветом, поскольку эти старые режимы не поддерживаются в Windows 8. |
Disable8And16BitD3D |
Это исправление повышает производительность приложений с 8- и 16-разрядным цветом, которые используют для прорисовки D3D без участия DirectDraw. |
Disable8And16BitModes |
Исправление отключает поддержку 8- и 16-разрядных цветов и перечисление режимов с такими цветами. |
DisableDWM |
Проблема возникает, когда некоторые объекты не рисуются или на экране в приложении остаются артефакты объектов. Исправление временно отключает функции меню темы Windows Aero для неподдерживаемых приложений. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления DisableDWM. |
DisableFadeAnimations |
Проблема возникает, когда в приложении неправильно работают анимации исчезновения, кнопки или другие элементы управления. Исправление отключает анимации исчезновения для неподдерживаемых приложений. |
DisableThemeMenus |
Проблема возникает, когда приложение, пытающееся обнаружить и использовать правильные параметры Windows, работает непредвиденным образом. Исправление временно отключает функции меню темы Windows Aero для неподдерживаемых приложений. |
DisableWindowsDefender |
Исправление отключает Защитник Windows для приложений обеспечения безопасности, которые не могут работать вместе с ним. |
DWM8And16BitMitigation |
Исправление предназначено для приложений, которые работают в режиме с 8- и 16-разрядным цветом, поскольку эти старые режимы не поддерживаются в Windows 8. |
DXGICompat |
Исправление позволяет передавать в подсистему DirectX инструкции по обеспечению совместимости для отдельных приложений. |
DXMaximizedWindowedMode |
Приложения, которые используют DirectX 8 и 9, работают в развернутом оконном режиме. Это необходимо для приложений, которые используют GDI/DirectDraw вместе с Direct3D. |
ElevateCreateProcess |
Проблема возникает, когда процессы установки, удаления или обновления завершаются ошибкой, поскольку хост-процесс вызывает функцию CreateProcess, и она возвращает сообщение об ошибке ERROR_ELEVATION_REQUIRED. Исправление перехватывает код ошибки и пытается снова вызвать функцию CreateProcess с необходимым повышением привилегий. Если исправленное приложение уже имеет манифест UAC, то код ошибки возвращается без изменений. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления ElevateCreateProcess. |
EmulateOldPathIsUNC |
Проблема возникает, когда приложение завершается с ошибкой из-за неправильного UNC-пути. Исправление изменяет функцию PathIsUNC, чтобы возвращать значение True для UNC-путей в Windows. |
EmulateGetDiskFreeSpace |
Проблема возникает, когда приложение не удается установить или запустить и появляется сообщение об ошибке — о нехватке на диске места для установки или использования приложения, хотя на самом деле объем свободного места на диске отвечает требованиям приложения. Исправление определяет объем свободного места на диске, и если он превышает 2 ГБ, то исправление совместимости возвращает значение 2 ГБ, а если он меньше 2 ГБ, то возвращается фактическое значение. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления EmulateGetDiskFreeSpace. |
EmulateSorting |
Проблема возникает, когда в приложении неправильно работает поиск. Исправление принудительно задает для приложений, использующих таблицу сортировки CompareStringW/LCMapString, старую версию таблицы. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления EmulateSorting. |
EmulateSortingWindows61 |
Исправление имитирует порядок сортировки Windows 7 и Windows Server 2008 R2 для различных API. |
EnableRestarts |
Проблема возникает, когда приложение и компьютер зависают, поскольку не удается завершить процессы, которые мешают компьютеру выполнить перезагрузку. Исправление позволяет перезагрузить компьютер и завершить процесс установки, проверяя и обеспечивая наличие привилегии службы SeShutdownPrivilege. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления EnableRestarts. |
ExtraAddRefDesktopFolder |
Проблема возникает, когда приложение многократно вызывает метод Release(), и объект уничтожается раньше времени. Исправление противодействует попыткам приложения получить папку рабочего стола в оболочке, вызывая метод AddRef() для папки «Рабочий стол», который возвращается функцией SHGetDesktopFolder. |
FailObsoleteShellAPIs |
Проблема возникает, когда приложение завершается ошибкой, поскольку оно вызывает устаревшие API. Исправление реализует устаревшие функции полностью или с заглушками, которые завершаются с ошибкой. ПримечаниеЧтобы отключить реализацию функций и принудительно завершать все функции с ошибкой, вы можете ввести в командной строке FailAll=1. |
FailRemoveDirectory |
Проблема возникает, когда процесс удаления приложения не удаляет все его файлы и папки. Это исправление завершает ошибкой вызовы метода RemoveDirectory(), в которых указывается путь, совпадающий с указанным в командной строке оболочки совместимости. Поддерживается только один путь. Путь может содержать переменные среды, но должен задаваться точно. Частичные пути не поддерживаются. Исправление может устранить проблему, если приложение ожидает, что RemoveDirectory() удалит папку немедленно, хотя для нее открыт дескриптор. |
FakeLunaTheme |
Проблема возникает, когда приложение темы отображается неправильно: цвета размыты или пользовательский интерфейс не детализирован. Исправление перехватывает API GetCurrentThemeName и возвращает значение темы Windows XP по умолчанию (Luna). ПримечаниеДополнительные сведения об исправлении приложений FakeLunaTheme см. в статье Использование исправления FakeLunaTheme. |
FlushFile |
Проблема возникает, когда файл обновлен, но изменения не сразу отражаются на жестком диске. Приложения не могут обнаружить изменения файла. Исправление позволяет функции WriteFile вызывать API FlushFileBuffers, которые записывают файловый кэш на диск. |
FontMigration |
Исправление заменяет шрифт, запрошенный приложением, на более подходящий шрифт, чтобы избежать усечения текста. |
ForceAdminAccess |
Проблема возникает, когда приложение не работает во время явной проверки администратора. Исправление позволяет пользователю временно представляться членом группы «Администраторы», возвращая значение True во время проверки администратора. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления ForceAdminAccess. |
ForceInvalidateOnClose |
Для приложений, которые обрабатывают сообщения о недействительности, исправление делает недействительными все окна, находящиеся под закрывающим или скрывающим окном. |
ForceLoadMirrorDrvMitigation |
Исправление загружает исправление для драйвера зеркалирования Windows 8 для приложений, в которых оно не применяется автоматически. |
FreestyleBMX |
Исправление устраняет состояние гонки приложений, связанное с порядком сообщений в окнах. |
GetDriveTypeWHook |
Приложение работает непредвиденным образом во время установки, например программа установки сообщает, что не удается выполнить установку в заданное пользователем расположение. Исправление изменяет GetDriveType() так, чтобы для пути к файлу отображался только корневой каталог. Это необходимо, если приложение передает неполный или некорректный путь к файлу, пытаясь получить тип диска, на котором существует путь к файлу. |
GlobalMemoryStatusLie |
На проблему указывает сообщение об ошибке «Память компьютера переполнена», появляющееся при запуске приложения. Исправление изменяет структуру состояния памяти, чтобы она сообщала о файле подкачки размером 400 МБ независимо от его настоящего размера. |
HandleBadPtr |
На проблему указывает сообщение об ошибке нарушения прав доступа, которое появляется, поскольку API выполняет проверку указателя до использования параметра. Исправление поддерживает проверку lpBuffer из функций InternetSetOptionA и InternetSetOptionW для дополнительной проверки параметров. |
HandleMarkedContentNotIndexed |
На проблему указывает приложение, которое завершается ошибкой при попытке изменить атрибут для файла или каталога. Исправление перехватывает все вызовы API, возвращающие атрибуты файла и каталоги, которые вызываются из каталога %TEMP%, и возвращает для атрибута FILE_ATTRIBUTE_NOT_CONTENT_INDEXED исходное состояние. |
HeapClearAllocation |
На проблему указывает непредвиденное завершение процесса выделения. Исправление обнуляет выделение кучи для приложения. |
IgnoreAltTab |
Проблема возникает, когда приложение не работает при нажатии определенных клавиш. Исправление перехватывает API RegisterRawInputDevices и запрещает доставку сообщений WM_INPUT. Из-за невозможности доставки включенные обработчики пропускаются, и DInput использует обработчики Windows. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления IgnoreAltTab. |
IgnoreChromeSandbox |
Исправление позволяет Google Chrome работать в системах, где ntdll загружен в область памяти выше 4 ГБ. |
IgnoreDirectoryJunction |
На проблему указывает сообщение об ошибке чтения или нарушении прав доступа, которое появляется, когда приложение пытается найти или открыть файлы. Исправление связывает API FindNextFileW, FindNextFileA, FindFirstFileExW, FindFirstFileExA, FindFirstFileW и FindFirstFileA, запрещая им возвращать соединения для каталогов. ПримечаниеСимвольные ссылки отображаются, начиная с Windows Vista. |
IgnoreException |
Проблема возникает, когда приложение после запуска немедленно прекращает работу или запускается с экраном, на котором виден только курсор. Исправление позволяет приложению игнорировать указанные исключения. По умолчанию это исправление игнорирует исключения привилегированного режима, но его можно настроить так, чтобы игнорировать все исключения. Чтобы настроить это исправление, введите следующую команду в командной строке: исключение1;исключение2 Здесь исключение1 и исключение2 — исключения, которые нужно игнорировать. Пример: ACCESS_VIOLATION_READ:1;ACCESS_VIOLATION_WRITE:1. ВажноЭто исправление совместимости следует использовать, только если вы уверены, что допустимо игнорировать исключения. Если игнорировать исключение, которое игнорировать нельзя, то могут возникнуть дополнительные проблемы совместимости. Дополнительные сведения об этом исправлении приложений см. в статье Использование исправления IgnoreException. |
IgnoreFloatingPointRoundingControl |
Исправление позволяет приложению игнорировать запрос на тип округления и работать так, как в предыдущих версиях приложения. Прежде чем в библиотеке времени выполнения C появилась поддержка инструкций SSE2 с плавающей запятой, запрос на тип округления игнорировался, и по умолчанию использовалось округление до ближайшего целого. Эта оболочка совместимости игнорирует запрос на тип округления и позволяет приложениям использовать старые функции. |
IgnoreFontQuality |
Проблема возникает, когда текст в приложении выглядит искаженным. Исправление позволяет шрифтам с ключами цвета правильно работать со сглаживанием. |
IgnoreMessageBox |
На проблему указывает окно сообщения, которое появляется с содержимым отладки или лишним содержимым, когда приложение работает в непредвиденной операционной системе. Исправление перехватывает API MessageBox* и проверяет в них наличие определенного текста сообщения. Если находится нужный текст, то приложение продолжает работу, не открывая окно сообщения. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления IgnoreMessageBox. |
IgnoreMSOXMLMF |
На проблему указывает сообщение об ошибке, в котором сообщается, что операционной системе не удается найти файл MSVCR80D.DLL. Исправление игнорирует зарегистрированный объект MSOXMLMF.DLL, который Microsoft® Office 2007 загружает в операционную систему каждый раз, когда загружается XML-файл, а затем завершает ошибкой CoGetClassObject по CLSID. Это исправление совместимости будет просто игнорировать зарегистрированный MSOXMLMF и завершать ошибкой CoGetClassObject по его CLSID. |
IgnoreSetROP2 |
Исправление игнорирует операции чтения, изменения и записи на рабочем столе, чтобы избежать проблем с производительностью. |
InstallComponent |
Исправление предлагает пользователю установить платформу .NET Framework 3.5 или 2.0, поскольку платформа .NET Framework не входит в Windows 8. |
LoadLibraryRedirect |
Исправление заставляет приложение загружать системные версии библиотек вместо версий, распространяемых вместе с приложением. |
LocalMappedObject |
Проблема возникает, когда приложению не удается создать объект в пространстве имен Global. Исправление перехватывает вызов функции для создания объекта и заменяет слово Global на Local. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления LocalMappedObject. |
MakeShortcutRunas |
Проблема возникает, когда не удается удалить приложение из-за ошибок доступа. Исправление находит все программы удаления на основе RunDLL.exe и принудительно запускает их с другими учетными данными во время установки приложения. После применения этого исправления программа установки создает ярлык, в котором указана строка для запуска во время установки приложения, что позволяет выполнить удаление позже. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления MakeShortcutRunas. |
ManageLinks |
Исправление перехватывает общие API, которые переходят в каталог или к исполняемому файлу (EXE), а затем преобразует символьные пути или соединения для каталогов перед передачей их в исходные API. |
MirrorDriverWithComposition |
Исправление позволяет драйверам зеркалирования правильно работать с композицией рабочего стола с приемлемой производительностью. |
MoveToCopyFileShim |
Проблема возникает, когда во время установки приложения возникают проблемы безопасного доступа. Исправление принудительно запускает API CopyFile вместо API MoveFile. API CopyFile не перемещают дескриптор безопасности, что позволяет файлам приложения получать для конечной папки дескриптор по умолчанию и предотвращает проблему доступа. |
OpenDirectoryAcl |
На проблему указывает сообщение об ошибке, в котором сообщается об отсутствии разрешений на доступ к приложению. Исправление понижает уровень привилегий безопасности для указанного набора файлов и папок. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления OpenDirectoryACL. |
PopCapGamesForceResPerf |
Исправление устраняет проблемы производительности в играх PopCap, например Bejeweled2. Проблемы производительности наблюдаются на некоторых адаптерах нижнего уровня при определенных разрешениях, когда буфер 1024 × 768 масштабируется в соответствии с разрешением экрана. |
PreInstallDriver |
Исправление предустанавливает драйверы для приложений, которые в ином случае будут пытаться устанавливать или запускать драйверы во время первоначального запуска. |
PreInstallSmarteSECURE |
Исправление предустанавливает CLSID в рамках компьютера для приложений, использующих защиту от копирования SmartSECURE, которые в ином случае будут пытаться устанавливать CLSID во время первоначального запуска. |
ProcessPerfData |
На проблему указывает сообщение об ошибке «Необработанное исключение», возникающее, когда приложение пытается считать значение реестра с данными о производительности процесса, чтобы определить, запущен ли другой экземпляр приложения. Исправление устраняет ошибку, передавая фиктивный раздел реестра с данными о производительности процесса, чтобы приложение считало, что запущен только один экземпляр. ПримечаниеЭта проблема чаще всего возникает в приложениях .NET. |
PromoteDAM |
Исправление регистрирует приложение, чтобы получать уведомления об изменении состояния питания. |
PropagateProcessHistory |
Проблема возникает, когда приложению не удается применить исправление приложения. Исправление задает переменную среды _PROCESS_HISTORY, чтобы дочерние процессы при поиске исправлений приложения могли проверять наличие сведений в родительском каталоге. |
ProtectedAdminCheck |
Проблема возникает, когда не удается запустить приложение из-за неправильных разрешений защищенного администратора. Исправление устраняет проблемы, которые возникают, когда приложения используют нестандартные проверки администратора, что вызывает ложное срабатывание для учетных записей пользователей, которые запускаются как защищенные администраторы. В этом случае связанный ИД безопасности существует, но может только запрещать доступ. |
RedirectCRTTempFile |
Исправление перехватывает ошибочные вызовы CRT, которые пытаются создать временный файл в корневом каталоге тома, что приводит к перенаправлению вызовов во временный файл временного каталога пользователя. |
RedirectHKCUKeys |
Проблема возникает, когда приложение недоступно из-за ограничений контроля учетных записей. Исправление копирует все вновь создаваемые разделы HKCU в учетные записи HKCU других пользователей. Это универсальное исправление для ограничений контроля учетных записей, если требуются разделы HKCU, которые недоступны приложению во время выполнения. |
RedirectMP3Codec |
Эта проблема возникает, когда не удается воспроизвести MP3-файлы. Исправление перехватывает вызов CoCreateInstance отсутствующего фильтра и перенаправляет его в поддерживаемую версию. |
RedirectShortcut |
Проблема возникает, если приложение недоступно через ярлык или если ярлыки приложения не удаляются в процессе удаления приложения. Исправление перенаправляет все ярлыки, созданные при установке приложения, в соответствии с указанным путем.
Эта проблема возникает из-за ограничений контроля учетных записей. В частности, если программа установки приложения работает с повышенными привилегиями и сохраняет ярлыки в контексте пользователя с повышенными привилегиями. В этом случае пользователь с ограниченным доступом не может получить доступ к ярлыкам. Это исправление нельзя применить к EXE-файлу, который содержит манифест и предоставляет уровень выполнения. |
RelaunchElevated |
Проблема возникает, когда процессы установки, удаления или обновления завершаются ошибкой при запуске из ведущего приложения. Если сложно определить родительский процесс, исправление позволяет запускать дочерний EXE-файл с повышенными привилегиями с помощью исправления ElevateCreateProcess или помечая EXE-файлы как RunAsAdmin. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления RelaunchElevated. |
RetryOpenSCManagerWithReadAccess |
Проблема возникает, когда приложение пытается открыть диспетчер служб и получает сообщение об ошибке «Отказано в доступе». Исправление повторяет вызов и запрашивает более ограниченный набор прав, в том числе:
|
RetryOpenServiceWithReadAccess |
Проблема возникает, когда появляется сообщение об ошибке «Не удается открыть службу, поскольку приложение использует API OpenService() для проверки наличия некоторой службы». Исправление повторяет вызов API OpenService(), проверяет наличие у пользователя прав администратора, а не защищенного администратора, и использует доступ только для чтения. Приложения могут проверять наличие службы, вызывая API OpenService(), но некоторые приложения запрашивают полный доступ при выполнении такой проверки. Это исправление повторяет вызов, запрашивая доступ только для чтения. Для этого пользователь должен иметь права администратора. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления RetryOpenServiceWithReadAccess. |
RunAsAdmin |
Проблема возникает, когда приложение не работает с учетной записью обычного пользователя или защищенного администратора. Исправление позволяет приложению работать с повышенными привилегиями. Это исправление эквивалентно указанию requireAdministrator в манифесте приложения. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления RunAsAdmin. |
RunAsHighest |
Проблема возникает, когда администраторы не могут просмотреть версию чтения/записи приложения, которое доступно обычным пользователям только для чтения. Исправление позволяет приложению работать с максимальными доступными разрешениями. Это эквивалентно указанию highestAvailable в манифесте приложения. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления RunAsHighest. |
RunAsInvoker |
Проблема возникает, когда приложение не обнаруживается как требующее повышения привилегий. Исправление позволяет приложению работать с привилегиями, которые связаны с процессом создания, не требуя повышения привилегий. Это эквивалентно указанию asInvoker в манифесте приложения. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления RunAsInvoker. |
SecuROM7 |
Это исправление использует SecuROM7 для защиты приложений от копирования. |
SessionShim |
Исправление перехватывает вызовы API из приложений, которые пытаются взаимодействовать со службами, работающими в другом сеансе, используя в качестве параметра префикс имени служб терминалов (Global или Local). Вы можете указать в командной строке список изменяемых объектов, разделяя значение двойной обратной косой чертой (\\). Также можно не указывать параметры, чтобы изменить все объекты. ВажноПользователи не могут выполнять вход в Windows Vista и более поздних версий с сеансом 0 (глобальным сеансом). Поэтому приложения, которым требуется доступ к сеансу 0, автоматически завершаются ошибкой. Дополнительные сведения об этом исправлении приложений см. в статье Использование исправления SessionShim. |
SetProtocolHandler |
Исправление регистрирует приложение в качестве обработчика протокола. Чтобы настроить это исправление, введите в командной строке следующую команду: клиент;протокол;приложение Здесь клиент — имя протокола электронной почты, протокол имеет значение mailto, а приложение — имя приложения. ПримечаниеПоддерживаются только почтовый клиент и протокол mailto. Несколько клиентов можно разделять обратной косой чертой (\). |
SetupCommitFileQueueIgnoreWow |
Проблема возникает, когда 32-разрядной программе установки не удается выполнить установку, поскольку необходимы 64-разрядные драйверы. Исправление отключает файловую систему WoW64, которая используется в 64-разрядных выпусках Windows, чтобы запретить 32-разрядным приложениям доступ к 64-разрядной файловой системе во время их установки. |
SharePointDesigner2007 |
Исправление устраняет ошибку приложения, которая серьезно замедляет приложение, работающее в диспетчере окон рабочего стола. |
ShimViaEAT |
Проблема возникает, когда приложение завершается с ошибкой даже после применения исправления совместимости, которое должно устранить проблему. Эта проблема часто обнаруживается в приложениях, которые используют unicows.dll или защиту от копирования. Исправление применяет указанные исправления совместимости, изменяя таблицу экспорта и отменяя включение и исключение модулей. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления ShimViaEAT. |
ShowWindowIE |
Проблема возникает, когда в веб-приложении обнаруживаются неполадки с навигацией и отображением из-за переключения вкладок. Исправление перехватывает вызов API ShowWindow, чтобы устранить проблемы, возникающие, когда веб-приложение определяет, что оно находится в дочернем окне. Это исправление вызывает настоящий API ShowWindow в родительском окне верхнего уровня. |
SierraWirelessHideCDROM |
Исправление восстанавливает установку драйвера беспроводного оборудования Sierra, предотвращая проверку ошибок. |
Sonique2 |
Приложение использует недопустимый стиль окна, который выглядит поврежденным в диспетчере окон рабочего стола. Это исправление заменяет стиль окна допустимым значением. |
SpecificInstaller |
Проблема возникает, когда функции GenericInstaller не удается выбрать файл установки приложения. Это исправление помечает приложение как файл установщика (например, setup.exe), а затем запрашивает повышение привилегий. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления SpecificInstaller. |
SpecificNonInstaller |
Проблема возникает, когда приложение, не являющееся установщиком (и имеющее необходимые привилегии) вызывает ложное срабатывание в функции GenericInstaller. Исправление помечает приложение, чтобы исключить его обнаружение функцией GenericInstaller. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления SpecificNonInstaller. |
SystemMetricsLie |
Исправление заменяет значения SystemMetrics и SystemParametersInfo значениями из предыдущих версий Windows. |
TextArt |
Приложение получает разные координаты в режимах DWM ON и DWM OFF, что приводит к зависанию приложения. Это исправление устраняет проблему. |
TrimDisplayDeviceNames |
Исправление усекает имена устройств отображения, которые возвращаются API EnumDisplayDevices. |
UIPICompatLogging |
Исправление позволяет записывать сообщения Windows от Internet Explorer и других процессов. |
UIPIEnableCustomMsgs |
Проблема возникает, когда приложение неправильно взаимодействует с другими процессами, поскольку не доставляются настроенные сообщения Windows. Исправление позволяет передавать настроенные сообщения Windows в текущий процесс с нижнего уровня целостности рабочего стола. Это исправление эквивалентно вызову функции RegisterWindowMessage, за которой в коде следует функция ChangeWindowMessageFilter. Чтобы настроить это исправление, введите следующую команду в командной строке: строка_сообщения1 строка_сообщения2 Здесь строка_сообщения1 и строка_сообщения2 представляют строки сообщений, которые могут передаваться. ПримечаниеНесколько строк сообщения следует разделять пробелами. Дополнительные сведения об этом исправлении приложений см. в статье Использование исправления UIPIEnableCustomMsgs. |
UIPIEnableStandardMsgs |
Проблема возникает, когда приложение неправильно взаимодействует с другими процессами, поскольку не доставляются стандартные сообщения Windows. Исправление позволяет передавать стандартные сообщения Windows в текущий процесс с нижнего уровня целостности рабочего стола. Это исправление эквивалентно вызову в коде функции ChangeWindowMessageFilter. Чтобы настроить это исправление, введите в командной строке следующую команду: 1055 1056 1069 Здесь 1055 представляет идентификатор первого сообщения, 1056 — идентификатор второго сообщения, а 1069 — идентификатор третьего сообщения, которое может передаваться. ПримечаниеНесколько сообщений следует разделять пробелами. Дополнительные сведения об этом исправлении приложений см. в статье Использование исправления UIPIEnableStandardMsgs [act]. |
VirtualizeDeleteFileLayer |
Исправление виртуализирует операции DeleteFile для приложений, которые пытаются удалить защищенные файлы. |
VirtualizeDesktopPainting |
Исправление повышает производительность ряда операций в контексте устройства рабочего стола при использовании диспетчера окон рабочего стола. |
VirtualRegistry |
На проблему указывает сообщение об ошибке «Не удалось найти компонент», которое появляется при запуске приложения. Исправление включает функции реестра, допускающие виртуализацию, перенаправление, значения расширения, спуфинг версий, имитацию счетчиков производительности и др. Дополнительные сведения об этом исправлении приложений см. в статье Использование исправления VirtualRegistry. |
VirtualizeDeleteFile |
Проблема возникает, когда отображаются несколько сообщений об ошибке, а приложению не удается удалить файлы. Чтобы устранить проблемы виртуализации файлов и контроля учетных записей, которые обнаружены в Windows Vista, исправление делает вызов функции DeleteFile приложения виртуальным. Это исправление также связывает другие файловые API (например, GetFileAttributes), чтобы гарантировать удаление виртуализации файла. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления VirtualizeDeleteFile. |
VirtualizeHKCRLite |
Проблема возникает, когда приложению не удается зарегистрировать компоненты COM во время выполнения. Исправление перенаправляет вызовы записи HKCR (HKLM) в куст HKCU для регистрации COM по пользователям. Оно работает во многом аналогично исправлению VirtualRegistry, когда используется параметр VirtualizeHKCR, но VirtualizeHKCRLite имеет более высокую производительность. HKCR является виртуальным объединением каталогов HKCU\Software\Classes и HKLM\Software\Classes. Использование HKCU предпочтительно, если приложение работает без повышения привилегий, и игнорируется, если приложение работает с повышением привилегий. Это исправление совместимости обычно используется в сочетании с исправлением VirtualizeRegisterTypeLib. Дополнительные сведения об этом исправлении приложений см. в статье Использование исправления VirtualizeHKCRLite. |
VirtualizeRegisterTypeLib |
Исправление, используемое вместе с исправлением VirtualizeHKCRLite, гарантирует, что регистрация библиотеки типов и классов COM выполняется одновременно. Оно работает во многом аналогично исправлению RegistryTypeLib, когда используется параметр RegisterTypeLibForUser. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления VirtualizeRegisterTypelib. |
WaveOutIgnoreBadFormat |
На эту проблему указывает сообщение об ошибке, в котором сообщается «Не удается инициализировать звуковое устройство из аудиодрайвера», после чего приложение закрывается. Исправление позволяет приложению игнорировать ошибку формата и продолжать работать правильно. |
WerDisableReportException |
Исправление отключает передачу исключений без предупреждений в средство отчетов об ошибках Windows, в том числе исключений, о которых сообщает база данных связывания и внедрения объектов (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 среды выполнения Visual Basic. Исправление заставляет приложение выполнить следующие действия.
|
WRPDllRegister |
Приложение завершается с ошибкой, пытаясь зарегистрировать компонент COM, который выпущен вместе с Windows Vista или более поздней. Исправление пропускает процедуры регистрации и отмены регистрации компонентов COM с защитой ресурсов Windows при вызове функций DLLRegisterServer и DLLUnregisterServer. Чтобы настроить это исправление, введите в командной строке следующую команду: Component1.dll;Component2.dll Здесь Component1.dll и Component2.dll представляют собой пропускаемые компоненты. ПримечаниеДополнительные сведения об этом исправлении приложений см. в статье Использование исправления WRPDllRegister. |
WRPMitigation |
На проблему указывает сообщение об ошибке «Отказано в доступе», которое появляется, когда приложение пытается получить доступ к защищенному ресурсу операционной системы, запрашивая права выше, чем только для чтения. Это исправление эмулирует успешную проверку подлинности и изменение API файла и реестра, что позволяет приложению продолжить работу. ПримечаниеДополнительные сведения об исправлении WRPMitigation см. в статье Использование исправления WRPMitigation. |
WRPRegDeleteKey |
На проблему указывает сообщение об ошибке «Отказано в доступе», которое появляется, когда приложение пытается удалить раздел реестра. Исправление проверяет наличие защиты ресурсов Windows для раздела реестра. Если раздел защищен, то исправление эмулирует процесс удаления. |
XPAfxIsValidAddress |
Исправление эмулирует работу Windows XP для MFC42!AfxIsValidAddress. |
Режимы совместимости
В следующей таблице перечислены известные режимы совместимости.
Имя режима совместимости | Описание | Включенные исправления совместимости |
---|---|---|
WinSrv03 |
Эмулирует операционную систему Windows Server 2003. |
|
WinSrv03Sp1 |
Эмулирует операционную систему Windows Server 2003 с пакетом обновления 1 (SP1). |
|