应用程序兼容性工具包 (ACT) 安装 32 位和 64 位版本的兼容性管理员。 必须将 32 位版本用于 32 位应用程序和 64 位版本才能用于 64 位应用程序。 如果尝试使用错误版本,将收到错误消息。
如果使用提升的权限) 以管理员 (身份启动兼容性管理员,则所有修复的应用程序都可以成功运行;但是,虚拟化和重定向可能不会按预期进行。 若要验证兼容性修补程序是否解决了问题,必须通过在目标用户帐户下运行修复的应用程序来测试它。
兼容性修复
下表列出了从 Windows Vista 到 Windows 10 发布的所有 Windows 操作系统的已知兼容性修补程序。 修复按字母顺序列出。
BIOSRead
当应用程序在任何 Windows Server® 2003 操作系统上无法访问内核模式驱动程序之外的
Device\PhysicalMemory
对象时,会出现此问题。
此修复使 OEM 可执行文件 (.exe) 文件在 BIOS 被查询
到 \Device\Physical
内存信息时,可以使用 GetSystemFirmwareTable 函数而不是 NtOpenSection 函数。
BlockRunasInteractiveUser
当 InstallShield
创建无法完成并生成错误消息或警告的安装程序和卸载程序时,会出现此问题。
修复程序阻止
InstallShield
将 RunAs 注册表项的值设置为 InteractiveUser,因为 InteractiveUser 不再具有管理员权限。
ChangeFolderPathToXPStyle
当应用程序使用
SHGetFolder
API 时无法返回 shell 文件夹路径时,需要此修复。
修复程序截获对常见
appdata
文件路径的
SHGetFolder
路径请求,并返回 Windows® XP 样式的文件路径,而不是 Windows Vista 样式的文件路径。
ClearLastErrorStatusonIntializeCriticalSection
当应用程序无法启动时,会指示此修复。
修复程序修改 InitializeCriticalSection 函数调用,以便检查 NTSTATUS 错误代码,然后将最后一个错误设置为ERROR_SUCCESS。
CopyHKCUSettingsFromOtherUsers
当应用程序的安装程序必须在提升的模式下运行,并且依赖于为其他用户提供的 HKCU 设置时,会出现此问题。
修复程序扫描现有用户配置文件,并尝试将指定的密钥复制到HKEY_CURRENT_USER注册表区域。
可以通过输入相关注册表项作为由 ^ 符号分隔的参数来进一步控制此修复;例如:Software\MyCompany\Key1^Software\MyCompany\Key2。
CorrectCreateBrushIndirectHatch
选择或裁剪图像时,将显示访问冲突错误消息以及应用程序失败时,会出现此问题。
修复更正了传递到 CreateBrushIndirect () 函数的画笔样式阴影值,并使信息能够正确解释。
CorrectFilePaths
当应用程序尝试将文件写入硬盘并被拒绝访问或收到找不到文件或找不到路径的错误消息时,会出现此问题。
修复程序将文件路径名称修改为指向硬盘上的新位置。
注意:
有关 CorrectFilePaths 应用程序修补程序的更多详细信息,请参阅
使用 CorrectFilePaths 修复
。 如果要将此修补程序应用于安装文件,建议将此修补程序与 CorrectFilePathsUninstall 修补程序一起使用。
CorrectFilePathsUninstall
当卸载的应用程序留下文件、目录和链接时,会出现此问题。
修复更正应用程序卸载过程使用的文件路径。
CorrectShellExecuteHWND
启动可执行文件 (.exe) 且任务栏项闪烁而不是打开提升提示时,或者当应用程序调用 ShellExecute (Ex) 函数时未提供有效的 HWND 值时,会出现此问题。
修复程序接受 ShellExecute (Ex) 调用,然后检查 HWND 值。 如果值无效,则此修复使调用能够使用当前活动的 HWND 值。
CustomNCRender
此修复指示 DWM 不呈现非工作区,从而强制应用程序执行自己的 NC 呈现。 这通常为 Windows 提供 XP 外观。
DelayApplyFlag
如果加载了指定的 DLL,则此修复将应用 KERNEL、USER 或 PROCESS 标志。
通过在命令提示符下键入以下命令,可以进一步控制此修复:
DLL_Name;Flag_Type;Hexidecimal_Value
其中,DLL_Name是特定 DLL 的名称,包括文件扩展名。 Flag_Type是内核、用户或进程,并且Hexidecimal_Value,从 0x 开始,最长为 64 位。
注意:
PROCESS 标志类型只能具有 32 位长度。 可以使用反斜杠 () 分隔多个条目。
DeprecatedServiceShim
当应用程序尝试安装依赖于已弃用的服务的服务时,会指出此问题。 将显示一条错误消息。
修复将截获 CreateService 函数调用,并从 lpDependencies 参数中删除已弃用的依赖项服务。
通过在命令提示符下键入以下命令,可以进一步控制此修复:
Deprecated_Service\App_Service/Deprecated_Service2 \App_Service2
其中,Deprecated_Service 是已弃用的服务的名称,App_Service是要修改的特定应用程序服务的名称;例如,NtLmSsp\WMI。
注意:
如果未提供App_Service名称,则会从所有新创建的服务中删除已弃用的服务。
注意:
可以使用 /) (正斜杠分隔多个条目。
DirectXVersionLie
当应用程序因找不到 DirectX® 的正确版本号而失败时,会出现此问题。
该修复修改 DXDIAGN GetProp 函数调用以返回正确的 DirectX 版本。
通过在命令提示符下键入以下命令,可以进一步控制此修复:
MAJORVERSION.MINORVERSION.LETTER
例如,9.0.c.
DetectorDWM8And16Bit
此修补程序为在 8/16 位显示颜色模式下工作的应用程序提供缓解,因为 Windows 8 不支持这些旧颜色模式。
Disable8And16BitD3D
此修复提高了使用 D3D 呈现且不混合直接绘制的 8/16 位颜色应用程序的性能。
Disable8And16BitModes
此修补程序禁用 8/16 位颜色缓解和枚举 8/16 位颜色模式。
DisableDWM
当某些对象未绘制或对象项目保留在应用程序中的屏幕上时,会出现此问题。
该修复暂时禁用不受支持的应用程序的 Windows Aero 菜单主题功能。
DisableFadeAnimations
当应用程序淡化动画、按钮或其他控件无法正常工作时,会指出此问题。
该修补程序禁用不受支持的应用程序的淡化动画功能。
DisableThemeMenus
应用程序在尝试检测和使用正确的 Windows 设置时行为不可预测,这表示了此问题。
该修复暂时禁用不受支持的应用程序的 Windows Aero 菜单主题功能。
DisableWindowsDefender
该修补程序禁用Windows Defender不适用于Windows Defender的安全应用程序。
DWM8And16BitMitigation
此修补程序为在 8/16 位显示颜色模式下工作的应用程序提供了缓解措施,因为 Windows 8 不支持这些旧版颜色模式。
DXGICompat
该修复允许将特定于应用程序的兼容性指令传递给 DirectX 引擎。
DXMaximizedWindowedMode
使用 DX8/9 的应用程序在最大化窗口模式下运行。 除了 Direct3D 之外,还使用 GDI/DirectDraw 的应用程序需要这一点。
ElevateCreateProcess
当安装、取消安装或更新失败时,会指出此问题,因为主机进程调用 CreateProcess 函数,并返回ERROR_ELEVATION_REQUIRED错误消息。
修复程序处理错误代码,并尝试将 CreateProcess 函数与请求的提升一起调用。 如果固定应用程序已有 UAC 清单,则返回错误代码将保持不变。
EmulateOldPathIsUNC
当应用程序由于错误的 UNC 路径而失败时,会出现此问题。
该修补程序交换 PathIsUNC 函数,以返回 Windows 中 UNC 路径的值 True。
EmulateGetDiskFreeSpace
当应用程序无法安装或运行时,会指出此问题,并且会生成一条错误消息,指出没有足够的可用磁盘空间来安装或使用应用程序,即使有足够的可用磁盘空间来满足应用程序要求也是如此。
修补程序确定可用空间量,因此,如果可用空间量大于 2 GB,兼容性修补程序将返回值 2 GB,但如果可用空间量小于 2 GB,兼容性修补程序将返回实际可用空间量。
EmulateSorting
当应用程序遇到搜索功能问题时,会出现此问题。
该修补程序强制使用 CompareStringW/LCMapString 排序表的应用程序使用较旧版本的表。
EmulateSortingWindows61
该修补程序模拟各种 API 的 Windows 7 和 Windows Server 2008 R2 的排序顺序。
EnableRestarts
当应用程序和计算机似乎挂起时,会指出此问题,因为进程无法结束以允许计算机完成其重启进程。
该修补程序通过验证并启用 SeShutdownPrivilege 服务权限是否存在,使计算机能够重启并完成安装过程。
ExtraAddRefDesktopFolder
当应用程序多次调用 Release () 方法并导致对象过早销毁时,会出现此问题。
该修补程序通过调用 Desktop 文件夹上的 AddRef () 方法(由 SHGetDesktopFolder 函数返回)来抵消应用程序获取 shell 桌面文件夹的尝试。
FailObsoleteShellAPIs
当应用程序因生成已弃用的 API 调用而失败时,会出现此问题。
修复要么完全实现过时的函数,要么实现具有失败的存根的过时函数。
注意:
可以在命令提示符下键入 FailAll=1,以取消函数实现并强制所有函数失败。
FailRemoveDirectory
当应用程序卸载过程未删除所有应用程序文件和文件夹时,会出现此问题。
当调用时使用与填充码命令行中指定的路径匹配的路径调用时,此修复程序无法调用 RemoveDirectory () 。 仅支持单个路径。 路径可以包含环境变量,但必须是确切的路径 - 不支持任何部分路径。
此修补程序可以解决应用程序希望 RemoveDirectory () 立即删除文件夹的问题,即使文件夹的句柄已打开。
FakeLunaTheme
当主题应用程序未正确显示时,会出现此问题:颜色被冲掉或用户界面未详细说明。
修复程序截获 GetCurrentThemeName API,并返回 Windows XP 默认主题 (Luna) 的值。
FlushFile
如果文件已更新,并且更改不会立即显示在硬盘上,则会指示此问题。 应用程序看不到文件更改。
可修复 WriteFile 函数以调用 FlushFileBuffers API,这些 API 会将文件缓存刷新到硬盘上。
FontMigration
修复程序将应用程序请求的字体替换为更好的字体选择,以避免文本截断。
ForceAdminAccess
当应用程序在显式管理员检查期间无法正常运行时,会出现此问题。
通过修复,用户可以在管理员检查期间返回值为 True,从而暂时模拟管理员组的一部分。
ForceInvalidateOnClose
该修复使依赖于失效消息的应用程序在关闭或隐藏窗口下存在的任何窗口失效。
ForceLoadMirrorDrvMitigation
该修补程序为未自动应用缓解措施的应用程序加载Windows 8镜像驱动程序缓解。
FreestyleBMX
该修补程序解决了与窗口消息顺序相关的应用程序争用条件。
GetDriveTypeWHook
应用程序在安装过程中出现异常行为;例如,安装程序指出它无法安装到用户指定的位置。
该修补程序交换 GetDriveType () ,以便仅显示文件路径的根信息。 当应用程序在尝试检索文件路径所在的驱动器类型时传递不完整或格式不正确的文件路径时,这是必需的。
GlobalMemoryStatusLie
此问题由启动应用程序时显示的“计算机内存已满”错误消息指示。
该修补程序修改内存状态结构,以便报告 400 MB 的交换文件,而不考虑真正的交换文件大小。
HandleBadPtr
此问题由访问冲突错误消息指示,该错误消息显示,因为 API 在使用参数之前正在执行指针验证。
该修复支持使用 InternetSetOptionA 和 InternetSetOptionW 函数的 lpBuffer 验证来执行更多参数验证。
HandleMarkedContentNotIndexed
当更改文件或目录的属性时,应用程序会失败,从而指明了问题。
修复程序会截获任何返回文件属性和从 %TEMP% 目录调用的目录的 API 调用,并将 FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 属性重置为其原始状态。
HeapClearAllocation
当分配进程意外关闭时,会指出此问题。
该修复使用零来清除应用程序的堆分配。
IgnoreAltTab
在使用特殊组合键时,应用程序无法正常运行时,会出现此问题。
修复会截获 RegisterRawInputDevices API,并阻止传递WM_INPUT消息。 此传递失败会强制忽略包含的挂钩,并强制 DInput 使用特定于 Windows 的挂钩。
IgnoreChromeSandbox
修复程序允许 Google Chrome 在 ntdll 加载超过 4 GB 的系统上运行。
IgnoreDirectoryJunction
此问题由应用程序尝试查找或打开文件时显示的读取或访问冲突错误消息指示。
该修补程序链接 FindNextFileW、FindNextFileA、FindFirstFileExW、FindFirstFileExA、FindFirstFileW 和 FindFirstFileA API,以防止它们返回目录交接点。
注意:
符号链接似乎在 Windows Vista 中开始。
IgnoreException
当应用程序在启动后立即停止运行,或者应用程序启动时仅在屏幕上显示光标时,就会指出此问题。
此修复使应用程序能够忽略指定的异常。 默认情况下,此修复会忽略特权模式异常;但是,可以将其配置为忽略任何异常。
通过在命令提示符下键入以下命令,可以进一步控制此修复:
Exception1;Exception2
其中 Exception1 和 Exception2 是要忽略的特定异常。 例如:ACCESS_VIOLATION_READ:1;ACCESS_VIOLATION_WRITE:1。
重要:
仅当确定忽略异常是可接受的时,才应使用此兼容性修补程序。 如果选择错误地忽略异常,可能会遇到更多兼容性问题。
IgnoreFloatingPointRoundingControl
此修复使应用程序能够忽略舍入控制请求,并在应用程序的早期版本中按预期运行。
在 C 运行时库中支持浮点 SSE2 之前,将忽略舍入控制请求,该请求默认使用舍入到最接近选项。 此填充码会忽略舍入控制请求,以支持依赖于旧行为的应用程序。
IgnoreFontQuality
当应用程序文本出现扭曲时,会出现此问题。
该修复使颜色键字体能够正确处理抗锯齿。
IgnoreMessageBox
当应用程序在意外的操作系统上运行时,会显示一个带有调试或无关内容的消息框来指示问题。
修复程序截获 MessageBox* API,并检查它们是否具有特定消息文本。 如果找到匹配的文本,应用程序将继续不显示消息框。
IgnoreMSOXMLMF
错误消息指出操作系统找不到MSVCR80D.DLL文件。
该修复将忽略已注册的 MSOXMLMF.DLL 对象(Microsoft® Office 2007 在加载 XML 文件时将其加载到操作系统中),然后它会使其 CLSID 的 CoGetClassObject 失败。 此兼容性修补程序将只忽略已注册的 MSOXMLMF,并使其 CLSID 的 CoGetClassObject 失败。
IgnoreSetROP2
该修复会忽略桌面上的读取-修改-写入操作,以避免性能问题。
InstallComponent
修复提示用户 install.Net 3.5 或 .NET 2.0,因为Windows 8不包含 .NET。
LoadLibraryRedirect
该修补程序强制应用程序加载库的系统版本,而不是加载应用程序附带的可再发行版本。
LocalMappedObject
当应用程序尝试在全局命名空间中创建对象失败时,会出现此问题。
修复将截获用于创建 对象的函数调用,并将单词 Global 替换为 Local。
MakeShortcutRunas
当应用程序由于与访问相关的错误而无法卸载时,会指出此问题。
该修补程序会查找任何基于RunDLL.exe的卸载程序,并强制它们在应用程序安装期间使用不同的凭据运行。 应用此修补程序后,安装程序将创建一个快捷方式,指定要在应用程序安装期间运行的匹配字符串,从而允许稍后进行卸载。
ManageLinks
修复程序截获将转到目录或可执行文件 (.exe) 文件的常见 API,然后在将其传递回原始 API 之前转换任何符号或目录接合点。
MirrorDriverWithComposition
该修补程序允许镜像驱动程序在桌面组合中以可接受的性能正常工作。
MoveToCopyFileShim
当应用程序在安装过程中遇到安全访问问题时,会出现此问题。
修复会强制运行 CopyFile API,而不是 MoveFile API。 CopyFile API 可避免移动安全描述符,这使应用程序文件能够获取目标文件夹的默认描述符并防止出现安全访问问题。
OpenDirectoryAcl
此问题由错误消息指示,指出您没有访问应用程序的适当权限。
此修复降低了对一组指定文件和文件夹的安全特权级别。
PopCapGamesForceResPerf
该修补程序解决了 PopCap 游戏(如 Bejeweled2)中的性能问题。 在某些分辨率下,性能问题在某些低端卡中可见,其中缩放 1024x768 缓冲区以适应显示分辨率。
PreInstallDriver
此修补程序预安装应用程序驱动程序,否则会在初始启动过程中尝试安装或启动驱动程序。
PreInstallSmarteSECURE
该修补程序为使用 SmartSECURE 复制保护的应用程序预安装计算机范围的 CLSID,否则,这些应用程序会在初始启动过程中尝试安装 CLSID。
ProcessPerfData
此问题由未处理的异常错误消息指示,因为应用程序尝试读取进程性能数据注册表值以确定应用程序的另一个实例是否正在运行。
该修补程序通过传递假进程性能数据注册表项来处理失败情况,以便应用程序能够感知它是唯一运行的实例。
注意:
此问题似乎最常出现在 .NET 应用程序中。
PromoteDAM
此修复程序为电源状态更改通知注册应用程序。
PropagateProcessHistory
当应用程序错误地无法应用应用程序修补程序时,会出现此问题。
该修补程序设置_PROCESS_HISTORY环境变量,以便子进程可以在搜索应用程序修补程序时在父目录中查找匹配的信息。
ProtectedAdminCheck
当应用程序由于受保护的管理员权限不正确而无法运行时,会出现此问题。
该修补程序解决了应用程序使用非标准管理员检查时出现的问题,从而为作为受保护管理员运行的用户帐户生成误报。 在这种情况下,关联的 SID 存在,但它设置为“仅拒绝”。
RedirectCRTTempFile
修复程序会截获尝试在卷根目录中创建临时文件的失败 CRT 调用,从而将调用重定向到用户临时目录中的临时文件。
RedirectHKCUKeys
当由于用户帐户控制 (UAC) 限制而无法访问应用程序时,会出现此问题。
该修补程序会将任何新创建的 HKCU 密钥复制到其他用户的 HKCU 帐户。 此修补程序是 UAC 限制的通用修复,其中 HKCU 密钥是必需的,但在运行时对应用程序不可用。
RedirectMP3Codec
当无法播放 MP3 文件时,会出现此问题。
修复将截获缺少筛选器的 CoCreateInstance 调用,然后将其重定向到受支持的版本。
RedirectShortcut
如果应用程序无法通过其快捷方式访问,或者在应用程序卸载过程中未删除应用程序快捷方式,则会出现此问题。
该修补程序将重定向在应用程序设置期间创建的所有快捷方式,以便根据指定的路径显示。
“开始”菜单快捷方式:显示在所有用户的 \ProgramData\Microsoft\Windows\Start Menu 目录中。
桌面或快速启动快捷方式:必须手动将快捷方式放在单个用户的桌面或快速启动栏上。
出现此问题的原因是 UAC 限制:具体而言,当应用程序安装程序使用提升的权限运行并根据提升的用户的上下文存储快捷方式时。 在这种情况下,受限用户无法访问快捷方式。
不能将此修补程序应用于包含清单并提供运行级别的.exe文件。
重新启动Elevated
从主机应用程序启动安装程序、卸载程序或更新程序失败时,会出现此问题。
该修复使子.exe文件在难以使用 ElevateCreateProcess 修复或将.exe文件标记为 RunAsAdmin 来确定父进程时,可以使用提升的权限运行。
RetryOpenSCManagerWithReadAccess
当应用程序尝试打开服务控制管理器 (SCM) 并收到拒绝访问错误消息时,会出现此问题。
该修补程序重试调用并请求一组更受限的权限,其中包括以下内容:
SC_MANAGER_CONNECT
SC_MANAGER_ENUMERATE_SERVICE
SC_MANAGER_QUERY_LOCK_STATUS
STANDARD_READ_RIGHTS
RetryOpenServiceWithReadAccess
当由于应用程序使用 OpenService () API 测试是否存在特定服务错误消息而无法打开服务时,会出现此问题。
修复程序重试 OpenService () API 调用,并验证用户是否具有管理员权限、是否为受保护的管理员,以及是否使用只读访问权限。 应用程序可以通过调用 OpenService () API 来测试服务是否存在,但某些应用程序在进行此检查时会请求所有访问权限。 此修复重试调用,但仅请求只读访问权限。 用户必须是管理员才能正常工作
RunAsAdmin
当应用程序无法使用标准用户或受保护的管理员帐户运行时,会出现此问题。
此修复使应用程序能够使用提升的权限运行。 此修复等效于在应用程序清单中指定 requireAdministrator。
RunAsHighest
当管理员无法查看向标准用户提供只读视图的应用程序的读/写版本时,会出现此问题。
该修复使应用程序能够使用最高可用权限运行。 这相当于在应用程序清单中指定 highestAvailable。
RunAsInvoker
当应用程序未检测到需要提升时,会出现此问题。
该修复使应用程序能够使用与创建过程关联的特权来运行,而无需提升。 这相当于在应用程序清单中指定 asInvoker。
SecuROM7
此修补程序使用 SecuROM7 进行复制保护来修复应用程序。
SessionShim
此修补程序使用终端服务名称前缀 (Global 或 Local) 作为 参数,截获来自尝试与另一会话中运行的服务进行交互的应用程序的 API 调用。
在命令提示符下,可以提供要修改的对象列表,用双反斜杠 () 分隔值。 或者,可以选择不包含任何参数,以便修改所有对象。
重要:
用户无法在 Windows Vista 及更高版本中以会话 0 (全局会话) 登录。 因此,需要访问会话 0 的应用程序会自动失败。
SetProtocolHandler
该修补程序将应用程序注册为协议处理程序。
通过在命令提示符下键入以下命令,可以进一步控制此修复:
Client;Protocol;App
其中,客户端是电子邮件协议的名称,协议是 mailto,App 是应用程序的名称。
注意:
仅支持邮件客户端和 mailto 协议。 可以使用反斜杠 () 分隔多个客户端。
SetupCommitFileQueueIgnoreWow
当 32 位安装程序由于需要 64 位驱动程序而无法安装时,会出现此问题。
修复了 64 位版本的 Windows 使用的 Wow64 文件系统,以防止 32 位应用程序在应用程序设置期间访问 64 位文件系统。
SharePointDesigner2007
该修复解决了应用程序 bug,该 bug 在 DWM 中运行时会严重减慢应用程序。
ShimViaEAT
当应用程序失败时,即使应用了已知可修复问题的兼容性修补程序,也会发生此问题。 使用unicows.dll或复制保护的应用程序通常会出现此问题。
该修补程序通过修改导出表和取消使用模块包含和排除来应用指定的兼容性修补程序。
ShowWindowIE
当 Web 应用程序由于选项卡式功能而遇到导航和显示问题时,会出现此问题。
修复程序接受 ShowWindow API 调用,以解决当 Web 应用程序确定它位于子窗口中时可能发生的问题。 此修补程序在顶级父窗口上调用真正的 ShowWindow API。
SierraWirelessHideCDROM
该修复修复了 Sierra Wireless Driver 安装,从而防止了 bug 检查。
Sonique2
应用程序使用无效的窗口样式,该样式在 DWM 中中断。 此修复将窗口样式替换为有效值。
SpecificInstaller
当 GenericInstaller 函数无法选取应用程序安装文件时,会出现此问题。
修复程序将应用程序标记为安装程序文件 (例如,setup.exe) ,然后提示提升。
SpecificNonInstaller
当不是安装程序的应用程序 (且具有足够权限) 从 GenericInstaller 函数生成误报时,会出现此问题。
修复标记应用程序,以将其从 GenericInstaller 函数的检测中排除。
SystemMetricsLie
该修补程序将 SystemMetrics 值和 SystemParametersInfo 值替换为以前 Windows 版本的值。
应用程序接收与 DWM ON 和 DWM OFF 不同的鼠标坐标,这会导致应用程序挂起。 此修补程序可解决此问题。
TrimDisplayDeviceNames
该修补程序剪裁由 EnumDisplayDevices API 返回的显示设备的名称。
UIPICompatLogging
此修复允许记录来自 Internet Explorer 和其他进程的 Windows 消息。
UIPIEnableCustomMsgs
当应用程序未与其他进程正确通信时,会出现此问题,因为自定义的 Windows 消息未传递。
可修复的自定义 Windows 消息从较低的桌面完整性级别传递到当前进程。 此修复等效于调用 RegisterWindowMessage 函数,并在代码中调用 ChangeWindowMessageFilter 函数。
通过在命令提示符下键入以下命令,可以进一步控制此修复:
MessageString1 MessageString2
其中 MessageString1 和 MessageString2 反映可以传递的消息字符串。
UIPIEnableStandardMsgs
当应用程序由于标准 Windows 消息未传递而无法与其他进程正确通信时,会出现此问题。
可修复的标准 Windows 消息从较低的桌面完整性级别传递到当前进程。 此修复等效于在代码中调用 ChangeWindowMessageFilter 函数。
通过在命令提示符下键入以下命令,可以进一步控制此修复:
1055 1056 1069
其中 1055 反映第一个消息 ID,1056 反映第二个消息 ID,1069 反映第三个可以传递的消息 ID。
VirtualizeDeleteFileLayer
修复程序虚拟化尝试删除受保护文件的应用程序的 DeleteFile 操作。
VirtualizeDesktopPainting
此修复提高了使用 DWM 时桌面 DC 上许多操作的性能。
VirtualRegistry
当启动应用程序时显示“组件未能找到”错误消息时,会指出此问题。
可修复注册表函数,以允许虚拟化、重定向、扩展值、版本欺骗、性能数据计数器模拟等。
有关此应用程序修补程序的更多详细信息,请参阅
使用 VirtualRegistry 修补程序
。
VirtualizeDeleteFile
当显示多个错误消息并且应用程序无法删除文件时,会出现此问题。
该修复使应用程序的 DeleteFile 函数调用虚拟调用,以修复 Windows Vista 引入的 UAC 和文件虚拟化问题。 此修补程序还链接其他文件 API (例如 GetFileAttributes) ,以确保删除文件的虚拟化。
VirtualizeHKCRLite
当应用程序无法在运行时注册 COM 组件时,会出现此问题。
修复程序将 HKCR 写入调用 (HKLM) 定向到 HKCU 配置单元进行每用户 COM 注册。 使用 VirtualizeHKCR 参数时,此操作的操作非常类似于 VirtualRegistry 修复;但是,VirtualizeHKCRLite 提供更好的性能。
HKCR 是 HKCU\Software\Classes 和 HKLM\Software\Classes 目录的虚拟合并。 如果应用程序未提升,则首选使用 HKCU;如果应用程序提升,则忽略 HKCU。
通常将此兼容性修补程序与 VirtualizeRegisterTypeLib 修补程序结合使用。
有关此应用程序修补程序的更多详细信息,请参阅
使用 VirtualizeHKCRLite 修复
。
VirtualizeRegisterTypeLib
该修补程序与 VirtualizeHKCRLite 修补程序一起使用时,可确保类型库和 COM 类注册同时进行。 使用 RegisterTypeLibForUser 参数时,此函数非常类似于 RegistryTypeLib 修复。
WaveOutIgnoreBadFormat
此问题由错误消息指示:无法从音频驱动程序初始化声音设备;然后,应用程序将关闭。
可修复应用程序以忽略格式错误并继续正常运行。
WerDisableReportException
该修复关闭了对Windows 错误报告工具的异常的无提示报告,包括对象链接和Embedding-Database (OLE DB) 报告的异常。 修复将截获 RtlReportException API 并返回STATUS_NOT_SUPPORTED错误消息。
Win7RTM/Win8RTM
该层为应用程序提供 Windows 7/Windows 8兼容模式。
WinxxRTMVersionLie
当应用程序因找不到所需 Windows 操作系统的正确版本号而失败时,会出现此问题。
所有版本谎称兼容性修补程序都解决了应用程序无法正常运行的问题,因为它正在检查但未找到特定版本的操作系统。 版本谎言修复返回相应的操作系统版本信息。 例如,无论计算机上运行的实际操作系统版本如何,VistaRTMVersionLie 都会向应用程序返回 Windows Vista 版本信息。
Wing32SystoSys32
此问题由错误消息指示,指出 WinG 库未正确安装。
修复检测正确目录中是否存在 WinG32 库。 如果库位于错误的位置,则此修补程序通常会在应用程序) 运行时将信息 (复制到 %WINDIR% \system32 目录中。
重要:
应用程序必须具有管理员权限才能使此修补程序正常工作。
WinSrv08R2RTM
WinXPSP2VersionLie
当应用程序由于 VB 运行时 DLL 而遇到问题时,会出现此问题。
修复程序强制应用程序执行以下步骤:
打开“兼容性管理员”,然后为“操作系统模式”选择“无”。
在“兼容性修复”页上,单击“WinXPSP2VersionLie”,然后单击“参数”。
此时将显示“fix_name>选项<”对话框。
在“模块名称”框中键入vbrun60.dll,单击“包括”,然后单击“添加”。
保存自定义数据库。
WRPDllRegister
应用程序尝试注册与 Windows Vista 及更高版本一起发布的 COM 组件时失败。
修复了调用 DLLRegisterServer 和 DLLUnregisterServer 函数时注册和注销受 WRP 保护的 COM 组件的过程。
通过在命令提示符下键入以下命令,可以进一步控制此修复:
Component1.dll;Component2.dll
其中Component1.dll和Component2.dll反映要跳过的组件。
WRPMitigation
当应用程序尝试使用多个只读访问来访问受保护的操作系统资源时,显示拒绝访问错误消息时,会指出此问题。
该修复模拟文件和注册表 API 的成功身份验证和修改,以便应用程序可以继续。
WRPRegDeleteKey
此问题由应用程序尝试删除注册表项时显示的拒绝访问错误消息指示。
修复将验证注册表项是否受 WRP 保护。 如果密钥受保护,则此修复将模拟删除过程。
XPAfxIsValidAddress
该修复模拟 Windows XP for MFC42 的行为!AfxIsValidAddress。
兼容性模式
下表列出了已知的兼容模式。
兼容性模式名称
包含的兼容性修补程序
WinSrv03
模拟 Windows Server 2003 操作系统。
Win2k3RTMVersionLie
VirtualRegistry
ElevateCreateProcess
EmulateSorting
FailObsoleteShellAPIs
LoadLibraryCWD
HandleBadPtr
GlobalMemoryStatus2GB
RedirectMP3Codec
EnableLegacyExceptionHandlinginOLE
NoGhost
HardwareAudioMixer
WinSrv03Sp1
模拟 Windows Server 2003 Service Pack 1 (SP1) 操作系统。
Win2K3SP1VersionLie
VirtualRegistry
ElevateCreateProcess
EmulateSorting
FailObsoleteShellAPIs
LoadLibraryCWD
HandleBadPtr
EnableLegacyExceptionHandlinginOLE
RedirectMP3Codec
HardwareAudioMixer