diff --git a/windows/deployment/planning/available-data-types-and-operators-in-compatibility-administrator.md b/windows/deployment/planning/available-data-types-and-operators-in-compatibility-administrator.md index f128528a5e..90447bcfae 100644 --- a/windows/deployment/planning/available-data-types-and-operators-in-compatibility-administrator.md +++ b/windows/deployment/planning/available-data-types-and-operators-in-compatibility-administrator.md @@ -45,188 +45,42 @@ Customized-compatibility databases in Compatibility Administrator contain the fo The following table shows the attributes you can use for querying your customized-compatibility databases in Compatibility Administrator. - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AttributeDescriptionData type

APP_NAME

Name of the application.

String

DATABASE_GUID

Unique ID for your compatibility database.

String

DATABASE_INSTALLED

Specifies if you have installed the database.

Boolean

DATABASE_NAME

Descriptive name of your database.

String

DATABASE_PATH

Location of the database on your computer.

String

FIX_COUNT

Number of compatibility fixes applied to a specific application.

Integer

FIX_NAME

Name of your compatibility fix.

String

MATCH_COUNT

Number of matching files for a specific, fixed application.

Integer

MATCHFILE_NAME

Name of a matching file used to identify a specific, fixed application.

String

MODE_COUNT

Number of compatibility modes applied to a specific, fixed application.

Integer

MODE_NAME

Name of your compatibility mode.

String

PROGRAM_APPHELPTYPE

Type of AppHelp message applied to an entry. The value can be 1 or 2, where 1 enables the program to run and 2 blocks the program.

Integer

PROGRAM_DISABLED

Specifies if you disabled the compatibility fix for an application. If True, Compatibility Administrator does not apply the fixes to the application.

Boolean

PROGRAM_GUID

Unique ID for an application.

String

PROGRAM_NAME

Name of the application that you are fixing.

String

- - +|Attribute|Description|Data type| +|--- |--- |--- | +|APP_NAME|Name of the application.|String| +|DATABASE_GUID|Unique ID for your compatibility database.|String| +|DATABASE_INSTALLED|Specifies if you have installed the database.|Boolean| +|DATABASE_NAME|Descriptive name of your database.|String| +|DATABASE_PATH|Location of the database on your computer.|String| +|FIX_COUNT|Number of compatibility fixes applied to a specific application.|Integer| +|FIX_NAME|Name of your compatibility fix.|String| +|MATCH_COUNT|Number of matching files for a specific, fixed application.|Integer| +|MATCHFILE_NAME|Name of a matching file used to identify a specific, fixed application.|String| +|MODE_COUNT|Number of compatibility modes applied to a specific, fixed application.|Integer| +|MODE_NAME|Name of your compatibility mode.|String| +|PROGRAM_APPHELPTYPE|Type of AppHelp message applied to an entry. The value can be 1 or 2, where 1 enables the program to run and 2 blocks the program.|Integer| +|PROGRAM_DISABLED|Specifies if you disabled the compatibility fix for an application. If True, Compatibility Administrator does not apply the fixes to the application.|Boolean| +|PROGRAM_GUID|Unique ID for an application.|String| +|PROGRAM_NAME|Name of the application that you are fixing.|String| ## Available Operators - The following table shows the operators that you can use for querying your customized-compatibility databases in the Compatibility Administrator. - ------ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SymbolDescriptionData typePrecedence

>

Greater than

Integer or string

1

>=

Greater than or equal to

Integer or string

1

<

Less than

Integer or string

1

<=

Less than or equal to

Integer or string

1

<>

Not equal to

Integer or string

1

=

Equal to

Integer, string, or Boolean

1

HAS

A special SQL operator used to check if the left-hand operand contains a substring specified by the right-hand operand.

Left-hand operand. MATCHFILE_NAME, MODE_NAME, FIX_NAME

-
-Note

Only the HAS operator can be applied to the MATCHFILE_NAME, MODE_NAME, and FIX_NAME attributes.

-
-
- -
-

Right-hand operand. String

1

OR

Logical OR operator

Boolean

2

AND

Logical AND operator

Boolean

2

- - +|Symbol|Description|Data type|Precedence| +|--- |--- |--- |--- | +|>|Greater than|Integer or string|1| +|>=|Greater than or equal to|Integer or string|1| +|<|Less than|Integer or string|1| +|<=|Less than or equal to|Integer or string|1| +|<>|Not equal to|Integer or string|1| +|=|Equal to|Integer, string, or Boolean|1| +|HAS|A special SQL operator used to check if the left-hand operand contains a substring specified by the right-hand operand.|Left-hand operand. MATCHFILE_NAME, MODE_NAME, FIX_NAME
**Note:**Only the HAS operator can be applied to the MATCHFILE_NAME, MODE_NAME, and FIX_NAME attributes.

Right-hand operand. String|1| +|OR|Logical OR operator|Boolean|2| +|AND|Logical AND operator|Boolean|2| ## Related topics + [Using the Compatibility Administrator Tool](using-the-compatibility-administrator-tool.md) diff --git a/windows/deployment/planning/compatibility-administrator-users-guide.md b/windows/deployment/planning/compatibility-administrator-users-guide.md index 9b6a2402c6..e62ca0d88d 100644 --- a/windows/deployment/planning/compatibility-administrator-users-guide.md +++ b/windows/deployment/planning/compatibility-administrator-users-guide.md @@ -44,29 +44,8 @@ The following flowchart shows the steps for using the Compatibility Administrato ## In this section - ---- - - - - - - - - - - - - - - - - - - - - -
TopicDescription

Using the Compatibility Administrator Tool

This section provides information about using the Compatibility Administrator tool.

Managing Application-Compatibility Fixes and Custom Fix Databases

This section provides information about managing your application-compatibility fixes and custom-compatibility fix databases. This section explains the reasons for using compatibility fixes and how to deploy custom-compatibility fix databases.

Using the Sdbinst.exe Command-Line Tool

You must deploy your customized database (.sdb) files to other computers in your organization before your compatibility fixes, compatibility modes, and AppHelp messages are applied. You can deploy your customized database files in several ways, including by using a logon script, by using Group Policy, or by performing file copy operations.

+|Topic|Description| +|--- |--- | +|[Using the Compatibility Administrator Tool](using-the-compatibility-administrator-tool.md)|This section provides information about using the Compatibility Administrator tool.| +|[Managing Application-Compatibility Fixes and Custom Fix Databases](managing-application-compatibility-fixes-and-custom-fix-databases.md)|This section provides information about managing your application-compatibility fixes and custom-compatibility fix databases. This section explains the reasons for using compatibility fixes and how to deploy custom-compatibility fix databases.| +|[Using the Sdbinst.exe Command-Line Tool](using-the-sdbinstexe-command-line-tool.md)|You must deploy your customized database (.sdb) files to other computers in your organization before your compatibility fixes, compatibility modes, and AppHelp messages are applied. You can deploy your customized database files in several ways, including by using a logon script, by using Group Policy, or by performing file copy operations.| \ No newline at end of file diff --git a/windows/deployment/planning/compatibility-fixes-for-windows-8-windows-7-and-windows-vista.md b/windows/deployment/planning/compatibility-fixes-for-windows-8-windows-7-and-windows-vista.md index eda58b00ab..136bf88cb4 100644 --- a/windows/deployment/planning/compatibility-fixes-for-windows-8-windows-7-and-windows-vista.md +++ b/windows/deployment/planning/compatibility-fixes-for-windows-8-windows-7-and-windows-vista.md @@ -42,933 +42,131 @@ If you start the Compatibility Administrator as an Administrator (with elevated The following table lists the known compatibility fixes for all Windows operating systems that have been released from Windows Vista through Windows 10. The fixes are listed in alphabetical order. - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FixFix Description

8And16BitAggregateBlts

Applications that are mitigated by 8/16-bit mitigation can exhibit performance issues. This layer aggregates all the blt operations and improves performance.

8And16BitDXMaxWinMode

Applications that use DX8/9 and are mitigated by the 8/16-bit mitigation are run in a maximized windowed mode. This layer mitigates applications that exhibit graphical corruption in full screen mode.

8And16BitGDIRedraw

This fix repairs applications that use GDI and that work in 8-bit color mode. The application is forced to repaint its window on RealizePalette.

AccelGdipFlush

This fix increases the speed of GdipFlush, which has perf issues in DWM.

AoaMp4Converter

This fix resolves a display issue for the AoA Mp4 Converter.

BIOSRead

This problem is indicated when an application cannot access the Device\PhysicalMemory object beyond the kernel-mode drivers, on any of the Windows Server® 2003 operating systems.

-

The fix enables OEM executable (.exe) files to use the GetSystemFirmwareTable function instead of the NtOpenSection function when the BIOS is queried for the \Device\Physical memory information..

BlockRunasInteractiveUser

This problem occurs when InstallShield creates installers and uninstallers that fail to complete and that generate error messages or warnings.

-

The fix blocks InstallShield from setting the value of RunAs registry keys to InteractiveUser Because InteractiveUser no longer has Administrator rights.

-
-Note

For more detailed information about this application fix, see Using the BlockRunAsInteractiveUser Fix.

-
-
- -

ChangeFolderPathToXPStyle

This fix is required when an application cannot return shell folder paths when it uses the SHGetFolder API.

-

The fix intercepts the SHGetFolder path request to the common appdata file path and returns the Windows® XP-style file path instead of the Windows Vista-style file path.

ClearLastErrorStatusonIntializeCriticalSection

This fix is indicated when an application fails to start.

-

The fix modifies the InitializeCriticalSection function call so that it checks the NTSTATUS error code, and then sets the last error to ERROR_SUCCESS.

CopyHKCUSettingsFromOtherUsers

This problem occurs when an application's installer must run in elevated mode and depends on the HKCU settings that are provided for other users.

-

The fix scans the existing user profiles and tries to copy the specified keys into the HKEY_CURRENT_USER registry area.

-

You can control this fix further by entering the relevant registry keys as parameters that are separated by the ^ Symbol; for example: Software\MyCompany\Key1^Software\MyCompany\Key2.

-
-Note

For more detailed information about this application fix, see Using the CopyHKCUSettingsFromOtherUsers Fix.

-
-
- -

CorrectCreateBrushIndirectHatch

The problem is indicated by an access violation error message that displays and when the application fails when you select or crop an image.

-

The fix corrects the brush style hatch value, which is passed to the CreateBrushIndirect() function and enables the information to be correctly interpreted.

CorrectFilePaths

The problem is indicated when an application tries to write files to the hard disk and is denied access or receives a file not found or path not found error message.

-

The fix modifies the file path names to point to a new location on the hard disk.

-
-Note

For more detailed information about the CorrectFilePaths application fix, see Using the CorrectFilePaths Fix. We recommend that you use this fix together with the CorrectFilePathsUninstall fix if you are applying it to a setup installation file.

-
-
- -

CorrectFilePathsUninstall

This problem occurs when an uninstalled application leaves behind files, directories, and links.

-

The fix corrects the file paths that are used by the uninstallation process of an application.

-
-Note

For more detailed information about this fix, see Using the CorrectFilePathsUninstall Fix. We recommend that you use this fix together with the CorrectFilePaths fix if you are applying it to a setup installation file.

-
-
- -

CorrectShellExecuteHWND

This problem occurs when you start an executable (.exe) and a taskbar item blinks instead of an elevation prompt being opened, or when the application does not provide a valid HWND value when it calls the ShellExecute(Ex) function.

-

The fix intercepts the ShellExecute(Ex) calls, and then inspects the HWND value. If the value is invalid, this fix enables the call to use the currently active HWND value.

-
-Note

For more detailed information about the CorrectShellExecuteHWND application fix, see Using the CorrectShellExecuteHWND Fix.

-
-
- -

CustomNCRender

This fix instructs DWM to not render the non-client area, thereby forcing the application to do its own NC rendering. This often gives windows an XP look.

DelayApplyFlag

This fix applies a KERNEL, USER, or PROCESS flag if the specified DLL is loaded.

-

You can control this fix further by typing the following command at the command prompt:

-

DLL_Name;Flag_Type;Hexidecimal_Value

-

Where the DLL_Name is the name of the specific DLL, including the file extension. Flag_Type is KERNEL, USER, or PROCESS, and a Hexidecimal_Value, starting with 0x and up to 64-bits long.

-
-Note

The PROCESS flag type can have a 32-bit length only. You can separate multiple entries with a backslash ().

-
-
- -

DeprecatedServiceShim

The problem is indicated when an application tries to install a service that has a dependency on a deprecated service. An error message displays.

-

The fix intercepts the CreateService function calls and removes the deprecated dependency service from the lpDependencies parameter.

-

You can control this fix further by typing the following command at the command prompt:

-

Deprecated_Service\App_Service/Deprecated_Service2 \App_Service2

-

Where Deprecated_Service is the name of the service that has been deprecated and App_Service is the name of the specific application service that is to be modified; for example, NtLmSsp\WMI.

-
-Note

If you do not provide an App_Service name, the deprecated service will be removed from all newly created services.

-
-
- -
-
-Note

You can separate multiple entries with a forward slash (/).

-
-
- -

DirectXVersionLie

This problem occurs when an application fails because it does not find the correct version number for DirectX®.

-

The fix modifies the DXDIAGN GetProp function call to return the correct DirectX version.

-

You can control this fix further by typing the following command at the command prompt:

-

MAJORVERSION.MINORVERSION.LETTER

-

For example, 9.0.c.

DetectorDWM8And16Bit

This fix offeres mitigation for applications that work in 8/16-bit display color mode because these legacy color modes are not supported in Windows 8 .

Disable8And16BitD3D

This fix improves performance of 8/16-bit color applications that render using D3D and do not mix directdraw.

Disable8And16BitModes

This fix disables 8/16-bit color mitigation and enumeration of 8/16-bit color modes.

DisableDWM

The problem occurs when some objects are not drawn or object artifacts remain on the screen in an application.

-

The fix temporarily disables the Windows Aero menu theme functionality for unsupported applications.

-
-Note

For more detailed information about this application fix, see Using the DisableDWM Fix.

-
-
- -

DisableFadeAnimations

The problem is indicated when an application fade animations, buttons, or other controls do not function properly.

-

The fix disables the fade animations functionality for unsupported applications.

DisableThemeMenus

The problem is indicated by an application that behaves unpredictably when it tries to detect and use the correct Windows settings.

-

The fix temporarily disables the Windows Aero menu theme functionality for unsupported applications.

DisableWindowsDefender

The fix disables Windows Defender for security applications that do not work with Windows Defender.

DWM8And16BitMitigation

The fix offers mitigation for applications that work in 8/16-bit display color mode because these legacy color modes are not supported in Windows 8.

DXGICompat

The fix allows application-specific compatibility instructions to be passed to the DirectX engine.

DXMaximizedWindowedMode

Applications that use DX8/9 are run in a maximized windowed mode. This is required for applications that use GDI/DirectDraw in addition to Direct3D.

ElevateCreateProcess

The problem is indicated when installations, de-installations, or updates fail because the host process calls the CreateProcess function and it returns an ERROR_ELEVATION_REQUIRED error message.

-

The fix handles the error code and attempts to recall the CreateProcess function together with requested elevation. If the fixed application already has a UAC manifest, the error code will be returned unchanged.

-
-Note

For more detailed information about this application fix, see Using the ElevateCreateProcess Fix.

-
-
- -

EmulateOldPathIsUNC

The problem occurs when an application fails because of an incorrect UNC path.

-

The fix changes the PathIsUNC function to return a value of True for UNC paths in Windows.

EmulateGetDiskFreeSpace

The problem is indicated when an application fails to install or to run, and it generates an error message that there is not enough free disk space to install or use the application, even though there is enough free disk space to meet the application requirements.

-

The fix determines the amount of free space, so that if the amount of free space is larger than 2 GB, the compatibility fix returns a value of 2 GB, but if the amount of free space is smaller than 2 GB, the compatibility fix returns the actual free space amount.

-
-Note

For more detailed information about this application fix, see Using the EmulateGetDiskFreeSpace Fix.

-
-
- -

EmulateSorting

The problem occurs when an application experiences search functionality issues.

-

The fix forces applications that use the CompareStringW/LCMapString sorting table to use an older version of the table.

-
-Note

For more detailed information about this e application fix, see Using the EmulateSorting Fix.

-
-
- -

EmulateSortingWindows61

The fix emulates the sorting order of Windows 7 and Windows Server 2008 R2 for various APIs.

EnableRestarts

The problem is indicated when an application and computer appear to hang because processes cannot end to allow the computer to complete its restart processes.

-

The fix enables the computer to restart and finish the installation process by verifying and enabling that the SeShutdownPrivilege service privilege exists.

-
-Note

For more detailed information about this application fix, see Using the EnableRestarts Fix.

-
-
- -

ExtraAddRefDesktopFolder

The problem occurs when an application invokes the Release() method too many times and causes an object to be prematurely destroyed.

-

The fix counteracts the application's tries to obtain the shell desktop folder by invoking the AddRef() method on the Desktop folder, which is returned by the SHGetDesktopFolder function.

FailObsoleteShellAPIs

The problem occurs when an application fails because it generated deprecated API calls.

-

The fix either fully implements the obsolete functions or implements the obsolete functions with stubs that fail.

-
-Note

You can type FailAll=1 at the command prompt to suppress the function implementation and force all functions to fail.

-
-
- -

FailRemoveDirectory

The problem occurs when an application uninstallation process does not remove all of the application files and folders.

-

This fix fails calls to RemoveDirectory() when called with a path matching the one specified in the shim command-line. Only a single path is supported. The path can contain environment variables, but must be an exact path – no partial paths are supported.

-

The fix can resolve an issue where an application expects RemoveDirectory() to delete a folder immediately even though a handle is open to it.

FakeLunaTheme

The problem occurs when a theme application does not properly display: the colors are washed out or the user interface is not detailed.

-

The fix intercepts the GetCurrentThemeName API and returns the value for the Windows XP default theme, (Luna).

-
-Note

For more detailed information about the FakeLunaTheme application fix, see Using the FakeLunaTheme Fix.

-
-
- -

FlushFile

This problem is indicated when a file is updated and changes do not immediately appear on the hard disk. Applications cannot see the file changes.

-

The fix enables the WriteFile function to call to the FlushFileBuffers APIs, which flush the file cache onto the hard disk.

FontMigration

The fix replaces an application-requested font with a better font selection, to avoid text truncation.

ForceAdminAccess

The problem occurs when an application fails to function during an explicit administrator check.

-

The fix allows the user to temporarily imitate being a part of the Administrators group by returning a value of True during the administrator check.

-
-Note

For more detailed information about this application fix, see Using the ForceAdminAccess Fix.

-
-
- -

ForceInvalidateOnClose

The fix invalidates any windows that exist under a closing or hiding window for applications that rely on the invalidation messages.

ForceLoadMirrorDrvMitigation

The fix loads the Windows 8 mirror driver mitigation for applications where the mitigation is not automatically applied.

FreestyleBMX

The fix resolves an application race condition that is related to window message order.

GetDriveTypeWHook

The application presents unusual behavior during installation; for example, the setup program states that it cannot install to a user-specified location.

-

The fix changes GetDriveType() so that only the root information appears for the file path. This is required when an application passes an incomplete or badly-formed file path when it tries to retrieve the drive type on which the file path exists.

GlobalMemoryStatusLie

The problem is indicated by a Computer memory full error message that displays when you start an application.

-

The fix modifies the memory status structure, so that it reports a swap file that is 400 MB, regardless of the true swap file size.

HandleBadPtr

The problem is indicated by an access violation error message that displays because an API is performing pointer validation before it uses a parameter.

-

The fix supports using lpBuffer validation from the InternetSetOptionA and InternetSetOptionW functions to perform the additional parameter validation.

HandleMarkedContentNotIndexed

The problem is indicated by an application that fails when it changes an attribute on a file or directory.

-

The fix intercepts any API calls that return file attributes and directories that are invoked from the %TEMP% directory, and resets the FILE_ATTRIBUTE_NOT_CONTENT_INDEXED attribute to its original state.

HeapClearAllocation

The problem is indicated when the allocation process shuts down unexpectedly.

-

The fix uses zeros to clear out the heap allocation for an application.

IgnoreAltTab

The problem occurs when an application fails to function when special key combinations are used.

-

The fix intercepts the RegisterRawInputDevices API and prevents the delivery of the WM_INPUT messages. This delivery failure forces the included hooks to be ignored and forces DInput to use Windows-specific hooks.

-
-Note

For more detailed information about this application fix, see Using the IgnoreAltTab Fix.

-
-
- -

IgnoreChromeSandbox

The fix allows Google Chrome to run on systems that have ntdll loaded above 4GB.

IgnoreDirectoryJunction

The problem is indicated by a read or access violation error message that displays when an application tries to find or open files.

-

The fix links the FindNextFileW, FindNextFileA, FindFirstFileExW, FindFirstFileExA, FindFirstFileW and FindFirstFileA APIs to prevent them from returning directory junctions.

-
-Note

Symbolic links appear starting in Windows Vista.

-
-
- -

IgnoreException

The problem is indicated when an application stops functioning immediately after it starts, or the application starts with only a cursor appearing on the screen.

-

The fix enables the application to ignore specified exceptions. By default, this fix ignores privileged-mode exceptions; however, it can be configured to ignore any exception.

-

You can control this fix further by typing the following command at the command prompt:

-

Exception1;Exception2

-

Where Exception1 and Exception2 are specific exceptions to be ignored. For example: ACCESS_VIOLATION_READ:1;ACCESS_VIOLATION_WRITE:1.

-
-Important

You should use this compatibility fix only if you are certain that it is acceptable to ignore the exception. You might experience additional compatibility issues if you choose to incorrectly ignore an exception.

-
-
- -
-
-Note

For more detailed information about this application fix, see Using the IgnoreException Fix.

-
-
- -

IgnoreFloatingPointRoundingControl

This fix enables an application to ignore the rounding control request and to behave as expected in previous versions of the application.

-

Before floating point SSE2 support in the C runtime library, the rounding control request was being ignored which would use round to nearest option by default. This shim ignores the rounding control request to support applications relying on old behavior.

IgnoreFontQuality

The problem occurs when application text appears to be distorted.

-

The fix enables color-keyed fonts to properly work with anti-aliasing.

IgnoreMessageBox

The problem is indicated by a message box that displays with debugging or extraneous content when the application runs on an unexpected operating system.

-

The fix intercepts the MessageBox* APIs and inspects them for specific message text. If matching text is found, the application continues without showing the message box.

-
-Note

For more detailed information about this application fix, see Using the IgnoreMessageBox Fix.

-
-
- -

IgnoreMSOXMLMF

The problem is indicated by an error message that states that the operating system cannot locate the MSVCR80D.DLL file.

-

The fix ignores the registered MSOXMLMF.DLL object, which Microsoft® Office 2007 loads into the operating system any time that you load an XML file, and then it fails the CoGetClassObject for its CLSID. This compatibility fix will just ignore the registered MSOXMLMF and fail the CoGetClassObject for its CLSID.

IgnoreSetROP2

The fix ignores read-modify-write operations on the desktop to avoid performance issues.

InstallComponent

The fix prompts the user to install.Net 3.5 or .Net 2.0 because .Net is not included with Windows 8.

LoadLibraryRedirect

The fix forces an application to load system versions of libraries instead of loading redistributable versions that shipped with the application.

LocalMappedObject

The problem occurs when an application unsuccessfully tries to create an object in the Global namespace.

-

The fix intercepts the function call to create the object and replaces the word Global with Local.

-
-Note

For more detailed information about this application fix, see Using the LocalMappedObject Fix.

-
-
- -

MakeShortcutRunas

The problem is indicated when an application fails to uninstall because of access-related errors.

-

The fix locates any RunDLL.exe-based uninstallers and forces them to run with different credentials during the application installation. After it applies this fix, the installer will create a shortcut that specifies a matching string to run during the application installation, thereby enabling the uninstallation to occur later.

-
-Note

For more detailed information about this application fix, see Using the MakeShortcutRunas Fix

-
-
- -

ManageLinks

The fix intercepts common APIs that are going to a directory or to an executable (.exe) file, and then converts any symbolic or directory junctions before passing it back to the original APIs.

MirrorDriverWithComposition

The fix allows mirror drivers to work properly with acceptable performance with desktop composition.

MoveToCopyFileShim

The problem occurs when an application experiences security access issues during setup.

-

The fix forces the CopyFile APIs to run instead of the MoveFile APIs. CopyFile APIs avoid moving the security descriptor, which enables the application files to get the default descriptor of the destination folder and prevents the security access issue.

OpenDirectoryAcl

The problem is indicated by an error message that states that you do not have the appropriate permissions to access the application.

-

The fix reduces the security privilege levels on a specified set of files and folders.

-
-Note

For more detailed information about this application fix, see Using the OpenDirectoryACL Fix.

-
-
- -

PopCapGamesForceResPerf

The fix resolves the performance issues in PopCap games like Bejeweled2. The performance issues are visible in certain low-end cards at certain resolutions where the 1024x768 buffer is scaled to fit the display resolution.

PreInstallDriver

The fix preinstalls drivers for applications that would otherwise try to install or start drivers during the initial start process.

PreInstallSmarteSECURE

The fix preinstalls computer-wide CLSIDs for applications that use SmartSECURE copy protection, which would otherwise try to install the CLSIDs during the initial start process.

ProcessPerfData

The problem is indicated by an Unhandled Exception error message because the application tried to read the process performance data registry value to determine if another instance of the application is running.

-

The fix handles the failure case by passing a fake process performance data registry key, so that the application perceives that it is the only instance running.

-
-Note

This issue seems to occur most frequently with .NET applications.

-
-
- -

PromoteDAM

The fix registers an application for power state change notifications.

PropagateProcessHistory

The problem occurs when an application incorrectly fails to apply an application fix.

-

The fix sets the _PROCESS_HISTORY environment variable so that child processes can look in the parent directory for matching information while searching for application fixes.

ProtectedAdminCheck

The problem occurs when an application fails to run because of incorrect Protected Administrator permissions.

-

The fix addresses the issues that occur when applications use non-standard Administrator checks, thereby generating false positives for user accounts that are being run as Protected Administrators. In this case, the associated SID exists, but it is set as deny-only.

RedirectCRTTempFile

The fix intercepts failing CRT calls that try to create a temporary file at the root of the volume, thereby redirecting the calls to a temporary file in the user's temporary directory.

RedirectHKCUKeys

The problem occurs when an application cannot be accessed because of User Account Control (UAC) restrictions.

-

The fix duplicates any newly created HKCU keys to other users' HKCU accounts. This fix is generic for UAC restrictions, whereby the HKCU keys are required, but are unavailable to an application at runtime.

RedirectMP3Codec

This problem occurs when you cannot play MP3 files.

-

The fix intercepts the CoCreateInstance call for the missing filter and then redirects it to a supported version.

RedirectShortcut

The problem occurs when an application cannot be accessed by its shortcut, or application shortcuts are not removed during the application uninstallation process.

-

The fix redirects all of the shortcuts created during the application setup to appear according to a specified path.

-
    -
  • Start Menu shortcuts: Appear in the \ProgramData\Microsoft\Windows\Start Menu directory for all users.

  • -
  • Desktop or Quick Launch shortcuts:You must manually place the shortcuts on the individual user's desktop or Quick Launch bar.

  • -
-

This issue occurs because of UAC restrictions: specifically, when an application setup runs by using elevated privileges and stores the shortcuts according to the elevated user's context. In this situation, a restricted user cannot access the shortcuts.

-

You cannot apply this fix to an .exe file that includes a manifest and provides a runlevel.

RelaunchElevated

The problem occurs when installers, uninstallers, or updaters fail when they are started from a host application.

-

The fix enables a child .exe file to run with elevated privileges when it is difficult to determine the parent process with either the ElevateCreateProcess fix or by marking the .exe files to RunAsAdmin.

-
-Note

For more detailed information about this application fix, see Using the RelaunchElevated Fix.

-
-
- -

RetryOpenSCManagerWithReadAccess

The problem occurs when an application tries to open the Service Control Manager (SCM) and receives an Access Denied error message.

-

The fix retries the call and requests a more restricted set of rights that include the following:

-

RetryOpenServiceWithReadAccess

The problem occurs when an Unable to open service due to your application using the OpenService() API to test for the existence of a particular service error message displays.

-

The fix retries the OpenService() API call and verifies that the user has Administrator rights, is not a Protected Administrator, and by using read-only access. Applications can test for the existence of a service by calling the OpenService() API but some applications ask for all access when making this check. This fix retries the call but only asking for read-only access. The user needs to be an administrator for this to work

-
-Note

For more detailed information about this application fix, see Using the RetryOpenServiceWithReadAccess Fix.

-
-
- -

RunAsAdmin

The problem occurs when an application fails to function by using the Standard User or Protected Administrator account.

-

The fix enables the application to run by using elevated privileges. The fix is the equivalent of specifying requireAdministrator in an application manifest.

-
-Note

For more detailed information about this application fix, see Using the RunAsAdmin Fix.

-
-
- -

RunAsHighest

The problem occurs when administrators cannot view the read/write version of an application that presents a read-only view to standard users.

-

The fix enables the application to run by using the highest available permissions. This is the equivalent of specifying highestAvailable in an application manifest.

-
-Note

For more detailed information about this application fix, see Using the RunAsHighest Fix.

-
-
- -

RunAsInvoker

The problem occurs when an application is not detected as requiring elevation.

-

The fix enables the application to run by using the privileges that are associated with the creation process, without requiring elevation. This is the equivalent of specifying asInvoker in an application manifest.

-
-Note

For more detailed information about this application fix, see Using the RunAsInvoker Fix.

-
-
- -

SecuROM7

The fix repairs applications by using SecuROM7 for copy protection.

SessionShim

The fix intercepts API calls from applications that are trying to interact with services that are running in another session, by using the terminal service name prefix (Global or Local) as the parameter.

-

At the command prompt, you can supply a list of objects to modify, separating the values by a double backslash (). Or, you can choose not to include any parameters, so that all of the objects are modified.

-
-Important

Users cannot log in as Session 0 (Global Session) in Windows Vista and later. Therefore, applications that require access to Session 0 automatically fail.

-
-
- -
-
-Note

For more detailed information about this application fix, see Using the SessionShim Fix.

-
-
- -

SetProtocolHandler

The fix registers an application as a protocol handler.

-

You can control this fix further by typing the following command at the command prompt:

-

Client;Protocol;App

-

Where the Client is the name of the email protocol, Protocol is mailto, and App is the name of the application.

-
-Note

Only the mail client and the mailto protocol are supported. You can separate multiple clients by using a backslash ().

-
-
- -

SetupCommitFileQueueIgnoreWow

The problem occurs when a 32-bit setup program fails to install because it requires 64-bit drivers.

-

The fix disables the Wow64 file system that is used by the 64-bit editions of Windows, to prevent 32-bit applications from accessing 64-bit file systems during the application setup.

SharePointDesigner2007

The fix resolves an application bug that severely slows the application when it runs in DWM.

ShimViaEAT

The problem occurs when an application fails, even after applying acompatibility fix that is known to fix an issue. Applications that use unicows.dll or copy protection often present this issue.

-

The fix applies the specified compatibility fixes by modifying the export table and by nullifying the use of module inclusion and exclusion.

-
-Note

For more information about this application fix, see Using the ShimViaEAT Fix.

-
-
- -

ShowWindowIE

The problem occurs when a web application experiences navigation and display issues because of the tabbing feature.

-

The fix intercepts the ShowWindow API call to address the issues that can occur when a web application determines that it is in a child window. This fix calls the real ShowWindow API on the top-level parent window.

SierraWirelessHideCDROM

The fix repairs the Sierra Wireless Driver installation, thereby preventing bugcheck.

Sonique2

The application uses an invalid window style, which breaks in DWM. This fix replaces the window style with a valid value.

SpecificInstaller

The problem occurs when an application installation file fails to be picked up by the GenericInstaller function.

-

The fix flags the application as being an installer file (for example, setup.exe), and then prompts for elevation.

-
-Note

For more detailed information about this application fix, see Using the SpecificInstaller Fix.

-
-
- -

SpecificNonInstaller

The problem occurs when an application that is not an installer (and has sufficient privileges) generates a false positive from the GenericInstaller function.

-

The fix flags the application to exclude it from detection by the GenericInstaller function.

-
-Note

For more detailed information about this application fix, see Using the SpecificNonInstaller Fix.

-
-
- -

SystemMetricsLie

The fix replaces SystemMetrics values and SystemParametersInfo values with the values of previous Windows versions.

TextArt

The application receives different mouse coordinates with DWM ON versus DWM OFF, which causes the application to hang. This fix resolves the issue.

TrimDisplayDeviceNames

The fix trims the names of the display devices that are returned by the EnumDisplayDevices API.

UIPICompatLogging

The fix enables the logging of Windows messages from Internet Explorer and other processes.

UIPIEnableCustomMsgs

The problem occurs when an application does not properly communicate with other processes because customized Windows messages are not delivered.

-

The fix enables customized Windows messages to pass through to the current process from a lower Desktop integrity level. This fix is the equivalent of calling the RegisterWindowMessage function, followed by the ChangeWindowMessageFilter function in the code.

-

You can control this fix further by typing the following command at the command prompt:

-

MessageString1 MessageString2

-

Where MessageString1 and MessageString2 reflect the message strings that can pass.

-
-Note

Multiple message strings must be separated by spaces. For more detailed information about this application fix, see Using the UIPIEnableCustomMsgs Fix.

-
-
- -

UIPIEnableStandardMsgs

The problem occurs when an application does not communicate properly with other processes because standard Windows messages are not delivered.

-

The fix enables standard Windows messages to pass through to the current process from a lower Desktop integrity level. This fix is the equivalent of calling the ChangeWindowMessageFilter function in the code.

-

You can control this fix further by typing the following command at the command prompt:

-

1055 1056 1069

-

Where 1055 reflects the first message ID, 1056 reflects the second message ID, and 1069 reflects the third message ID that can pass.

-
-Note

Multiple messages can be separated by spaces. For more detailed information about this application fix, see Using the UIPIEnableStandardMsgs Fix [act].

-
-
- -

VirtualizeDeleteFileLayer

The fix virtualizes DeleteFile operations for applications that try to delete protected files.

VirtualizeDesktopPainting

This fix improves the performance of a number of operations on the Desktop DC while using DWM.

VirtualRegistry

The problem is indicated when a Component failed to be located error message displays when an application is started.

-

The fix enables the registry functions to allow for virtualization, redirection, expansion values, version spoofing, the simulation of performance data counters, and so on.

-

For more detailed information about this application fix, see Using the VirtualRegistry Fix.

VirtualizeDeleteFile

The problem occurs when several error messages display and the application cannot delete files.

-

The fix makes the application's DeleteFile function call a virtual call in an effort to remedy the UAC and file virtualization issues that were introduced with Windows Vista. This fix also links other file APIs (for example, GetFileAttributes) to ensure that the virtualization of the file is deleted.

-
-Note

For more detailed information about this application fix, see Using the VirtualizeDeleteFile Fix.

-
-
- -

VirtualizeHKCRLite

The problem occurs when an application fails to register COM components at runtime.

-

The fix redirects the HKCR write calls (HKLM) to the HKCU hive for a per-user COM registration. This operates much like the VirtualRegistry fix when you use the VirtualizeHKCR parameter; however, VirtualizeHKCRLite provides better performance.

-

HKCR is a virtual merge of the HKCU\Software\Classes and HKLM\Software\Classes directories. The use of HKCU is preferred if an application is not elevated and is ignored if the application is elevated.

-

You typically will use this compatibility fix in conjunction with the VirtualizeRegisterTypeLib fix.

-

For more detailed information about this application fix, see Using the VirtualizeHKCRLite Fix.

VirtualizeRegisterTypeLib

The fix, when it is used with the VirtualizeHKCRLite fix, ensures that the type library and the COM class registration happen simultaneously. This functions much like the RegistryTypeLib fix when the RegisterTypeLibForUser parameter is used.

-
-Note

For more detailed information about this application fix, see Using the VirtualizeRegisterTypelib Fix.

-
-
- -

WaveOutIgnoreBadFormat

This problem is indicated by an error message that states: Unable to initialize sound device from your audio driver; the application then closes.

-

The fix enables the application to ignore the format error and continue to function properly.

WerDisableReportException

The fix turns off the silent reporting of exceptions to the Windows Error Reporting tool, including those that are reported by Object Linking and Embedding-Database (OLE DB). The fix intercepts the RtlReportException API and returns a STATUS_NOT_SUPPORTED error message.

Win7RTM/Win8RTM

The layer provides the application with Windows 7/Windows 8 compatibility mode.

WinxxRTMVersionLie

The problem occurs when an application fails because it does not find the correct version number for the required Windows operating system.

-

All version lie compatibility fixes address the issue whereby an application fails to function because it is checking for, but not finding, a specific version of the operating system. The version lie fix returns the appropriate operating system version information. For example, the VistaRTMVersionLie returns the Windows Vista version information to the application, regardless of the actual operating system version that is running on the computer.

Wing32SystoSys32

The problem is indicated by an error message that states that the WinG library was not properly installed.

-

The fix detects whether the WinG32 library exists in the correct directory. If the library is located in the wrong location, this fix copies the information (typically during the runtime of the application) into the %WINDIR% \system32 directory.

-
-Important

The application must have Administrator privileges for this fix to work.

-
-
- -

WinSrv08R2RTM

WinXPSP2VersionLie

The problem occurs when an application experiences issues because of a VB runtime DLL.

-

The fix forces the application to follow these steps:

-
    -
  1. Open the Compatibility Administrator, and then select None for Operating System Mode.

  2. -
  3. On the Compatibility Fixes page, click WinXPSP2VersionLie, and then click Parameters.

    -

    The Options for <fix_name> dialog box appears.

  4. -
  5. Type vbrun60.dll into the Module Name box, click Include, and then click Add.

  6. -
  7. Save the custom database.

    -
    -Note

    For more information about the WinXPSP2VersionLie application fix, see Using the WinXPSP2VersionLie Fix.

    -
    -
    - -
  8. -

WRPDllRegister

The application fails when it tries to register a COM component that is released together with Windows Vista and later.

-

The fix skips the processes of registering and unregistering WRP-protected COM components when calling the DLLRegisterServer and DLLUnregisterServer functions.

-

You can control this fix further by typing the following command at the command prompt:

-

Component1.dll;Component2.dll

-

Where Component1.dll and Component2.dll reflect the components to be skipped.

-
-Note

For more detailed information about this application fix, see Using the WRPDllRegister Fix.

-
-
- -

WRPMitigation

The problem is indicated when an access denied error message displays when the application tries to access a protected operating system resource by using more than read-only access.

-

The fix emulates the successful authentication and modification of file and registry APIs, so that the application can continue.

-
-Note

For more detailed information about WRPMitigation, see Using the WRPMitigation Fix.

-
-
- -

WRPRegDeleteKey

The problem is indicated by an access denied error message that displays when the application tries to delete a registry key.

-

The fix verifies whether the registry key is WRP-protected. If the key is protected, this fix emulates the deletion process.

XPAfxIsValidAddress

The fix emulates the behavior of Windows XP for MFC42!AfxIsValidAddress.

- - +|Fix|Fix Description| +|--- |--- | +|8And16BitAggregateBlts|Applications that are mitigated by 8/16-bit mitigation can exhibit performance issues. This layer aggregates all the blt operations and improves performance.| +|8And16BitDXMaxWinMode|Applications that use DX8/9 and are mitigated by the 8/16-bit mitigation are run in a maximized windowed mode. This layer mitigates applications that exhibit graphical corruption in full screen mode.| +|8And16BitGDIRedraw|This fix repairs applications that use GDI and that work in 8-bit color mode. The application is forced to repaint its window on RealizePalette.| +|AccelGdipFlush|This fix increases the speed of GdipFlush, which has perf issues in DWM.| +|AoaMp4Converter|This fix resolves a display issue for the AoA Mp4 Converter.| +|BIOSRead|This problem is indicated when an application cannot access the **Device\PhysicalMemory** object beyond the kernel-mode drivers, on any of the Windows Server® 2003 operating systems.

The fixenables OEM executable (.exe) files to use the GetSystemFirmwareTable function instead of the NtOpenSection function when the BIOS is queried for the **\Device\Physical** memory information..| +|BlockRunasInteractiveUser|This problem occurs when **InstallShield** creates installers and uninstallers that fail to complete and that generate error messages or warnings.

The fixblocks **InstallShield** from setting the value of RunAs registry keys to InteractiveUser Because InteractiveUser no longer has Administrator rights.

**Note:** For more detailed information about this application fix, see [Using the BlockRunAsInteractiveUser Fix](/previous-versions/windows/it-pro/windows-7/dd638336(v=ws.10)).
| +|ChangeFolderPathToXPStyle|This fix is required when an application cannot return shell folder paths when it uses the **SHGetFolder** API.

The fixintercepts the **SHGetFolder**path request to the common **appdata** file path and returns the Windows® XP-style file path instead of the Windows Vista-style file path.| +|ClearLastErrorStatusonIntializeCriticalSection|This fix is indicated when an application fails to start.

The fixmodifies the InitializeCriticalSection function call so that it checks the NTSTATUS error code, and then sets the last error to ERROR_SUCCESS.| +|CopyHKCUSettingsFromOtherUsers|This problem occurs when an application's installer must run in elevated mode and depends on the HKCU settings that are provided for other users.

The fixscans the existing user profiles and tries to copy the specified keys into the HKEY_CURRENT_USER registry area.

You can control this fix further by entering the relevant registry keys as parameters that are separated by the ^ Symbol; for example: Software\MyCompany\Key1^Software\MyCompany\Key2.

**Note:** For more detailed information about this application fix, see [Using the CopyHKCUSettingsFromOtherUsers Fix](/previous-versions/windows/it-pro/windows-7/dd638375(v=ws.10)).
| +|CorrectCreateBrushIndirectHatch|The problem is indicated by an access violation error message that displays and when the application fails when you select or crop an image.

The fixcorrects the brush style hatch value, which is passed to the CreateBrushIndirect() function and enables the information to be correctly interpreted.| +|CorrectFilePaths|The problem is indicated when an application tries to write files to the hard disk and is denied access or receives a file not found or path not found error message.

The fixmodifies the file path names to point to a new location on the hard disk.

**Note:** For more detailed information about the CorrectFilePaths application fix, see [Using the CorrectFilePaths Fix](/previous-versions/windows/it-pro/windows-7/cc766201(v=ws.10)). We recommend that you use this fix together with the CorrectFilePathsUninstall fix if you are applying it to a setup installation file.
| +|CorrectFilePathsUninstall|This problem occurs when an uninstalled application leaves behind files, directories, and links.

The fixcorrects the file paths that are used by the uninstallation process of an application.

**Note:** For more detailed information about this fix, see [Using the CorrectFilePathsUninstall Fix](/previous-versions/windows/it-pro/windows-7/dd638414(v=ws.10)). We recommend that you use this fix together with the CorrectFilePaths fix if you are applying it to a setup installation file.
| +|CorrectShellExecuteHWND|This problem occurs when you start an executable (.exe) and a taskbar item blinks instead of an elevation prompt being opened, or when the application does not provide a valid HWND value when it calls the ShellExecute(Ex) function.

The fixintercepts the ShellExecute(Ex) calls, and then inspects the HWND value. If the value is invalid, this fix enables the call to use the currently active HWND value.

**Note:** For more detailed information about the CorrectShellExecuteHWND application fix, see [Using the CorrectShellExecuteHWND Fix](/previous-versions/windows/it-pro/windows-7/cc722028(v=ws.10)).
| +|CustomNCRender|This fix instructs DWM to not render the non-client area, thereby forcing the application to do its own NC rendering. This often gives windows an XP look.| +|DelayApplyFlag|This fix applies a KERNEL, USER, or PROCESS flag if the specified DLL is loaded.

You can control this fix further by typing the following command at the command prompt:

`DLL_Name;Flag_Type;Hexidecimal_Value`
Where the DLL_Name is the name of the specific DLL, including the file extension. Flag_Type is KERNEL, USER, or PROCESS, and a Hexidecimal_Value, starting with 0x and up to 64-bits long.

**Note:** The PROCESS flag type can have a 32-bit length only. You can separate multiple entries with a backslash ().
| +|DeprecatedServiceShim|The problem is indicated when an application tries to install a service that has a dependency on a deprecated service. An error message displays.

The fixintercepts the CreateService function calls and removes the deprecated dependency service from the lpDependencies parameter.

You can control this fix further by typing the following command at the command prompt:

`Deprecated_Service\App_Service/Deprecated_Service2 \App_Service2`
Where Deprecated_Service is the name of the service that has been deprecated and App_Service is the name of the specific application service that is to be modified; for example, NtLmSsp\WMI.

**Note:** If you do not provide an App_Service name, the deprecated service will be removed from all newly created services.
**Note:** You can separate multiple entries with a forward slash (/).
| +|DirectXVersionLie|This problem occurs when an application fails because it does not find the correct version number for DirectX®.

The fixmodifies the DXDIAGN GetProp function call to return the correct DirectX version.

You can control this fix further by typing the following command at the command prompt:
`MAJORVERSION.MINORVERSION.LETTER`

For example, 9.0.c.| +|DetectorDWM8And16Bit|This fix offeres mitigation for applications that work in 8/16-bit display color mode because these legacy color modes are not supported in Windows 8 .| +|Disable8And16BitD3D|This fix improves performance of 8/16-bit color applications that render using D3D and do not mix directdraw.| +|Disable8And16BitModes|This fix disables 8/16-bit color mitigation and enumeration of 8/16-bit color modes.| +|DisableDWM|The problem occurs when some objects are not drawn or object artifacts remain on the screen in an application.

The fixtemporarily disables the Windows Aero menu theme functionality for unsupported applications.

**Note:** For more detailed information about this application fix, see [Using the DisableDWM Fix](/previous-versions/windows/it-pro/windows-7/cc722418(v=ws.10)).
| +|DisableFadeAnimations|The problem is indicated when an application fade animations, buttons, or other controls do not function properly.

The fixdisables the fade animations functionality for unsupported applications.| +|DisableThemeMenus|The problem is indicated by an application that behaves unpredictably when it tries to detect and use the correct Windows settings.

The fixtemporarily disables the Windows Aero menu theme functionality for unsupported applications.| +|DisableWindowsDefender|The fix disables Windows Defender for security applications that do not work with Windows Defender.| +|DWM8And16BitMitigation|The fix offers mitigation for applications that work in 8/16-bit display color mode because these legacy color modes are not supported in Windows 8.| +|DXGICompat|The fix allows application-specific compatibility instructions to be passed to the DirectX engine.| +|DXMaximizedWindowedMode|Applications that use DX8/9 are run in a maximized windowed mode. This is required for applications that use GDI/DirectDraw in addition to Direct3D.| +|ElevateCreateProcess|The problem is indicated when installations, de-installations, or updates fail because the host process calls the CreateProcess function and it returns an ERROR_ELEVATION_REQUIRED error message.

The fixhandles the error code and attempts to recall the CreateProcess function together with requested elevation. If the fixed application already has a UAC manifest, the error code will be returned unchanged.

**Note:** For more detailed information about this application fix, see [Using the ElevateCreateProcess Fix](/previous-versions/windows/it-pro/windows-7/cc722422(v=ws.10)).
| +|EmulateOldPathIsUNC|The problem occurs when an application fails because of an incorrect UNC path.

The fixchanges the PathIsUNC function to return a value of True for UNC paths in Windows.| +|EmulateGetDiskFreeSpace|The problem is indicated when an application fails to install or to run, and it generates an error message that there is not enough free disk space to install or use the application, even though there is enough free disk space to meet the application requirements.

The fixdetermines the amount of free space, so that if the amount of free space is larger than 2 GB, the compatibility fix returns a value of 2 GB, but if the amount of free space is smaller than 2 GB, the compatibility fix returns the actual free space amount.

**Note:** For more detailed information about this application fix, see [Using the EmulateGetDiskFreeSpace Fix](/previous-versions/windows/it-pro/windows-7/ff720129(v=ws.10)).
| +|EmulateSorting|The problem occurs when an application experiences search functionality issues.

The fixforces applications that use the CompareStringW/LCMapString sorting table to use an older version of the table.

**Note:** For more detailed information about this e application fix, see [Using the EmulateSorting Fix](/previous-versions/windows/it-pro/windows-7/cc749209(v=ws.10)).
| +|EmulateSortingWindows61|The fix emulates the sorting order of Windows 7 and Windows Server 2008 R2 for various APIs.| +|EnableRestarts|The problem is indicated when an application and computer appear to hang because processes cannot end to allow the computer to complete its restart processes.

The fixenables the computer to restart and finish the installation process by verifying and enabling that the SeShutdownPrivilege service privilege exists.

**Note:** For more detailed information about this application fix, see [Using the EnableRestarts Fix](/previous-versions/windows/it-pro/windows-7/ff720128(v=ws.10)).
| +|ExtraAddRefDesktopFolder|The problem occurs when an application invokes the Release() method too many times and causes an object to be prematurely destroyed.

The fixcounteracts the application's tries to obtain the shell desktop folder by invoking the AddRef() method on the Desktop folder, which is returned by the SHGetDesktopFolder function.| +|FailObsoleteShellAPIs|The problem occurs when an application fails because it generated deprecated API calls.

The fixeither fully implements the obsolete functions or implements the obsolete functions with stubs that fail.

**Note:** You can type FailAll=1 at the command prompt to suppress the function implementation and force all functions to fail.
| +|FailRemoveDirectory|The problem occurs when an application uninstallation process does not remove all of the application files and folders.

This fix fails calls to RemoveDirectory() when called with a path matching the one specified in the shim command-line. Only a single path is supported. The path can contain environment variables, but must be an exact path – no partial paths are supported.

The fixcan resolve an issue where an application expects RemoveDirectory() to delete a folder immediately even though a handle is open to it.| +|FakeLunaTheme|The problem occurs when a theme application does not properly display: the colors are washed out or the user interface is not detailed.

The fixintercepts the GetCurrentThemeName API and returns the value for the Windows XP default theme, (Luna).

**Note:** For more detailed information about the FakeLunaTheme application fix, see [Using the FakeLunaTheme Fix](/previous-versions/windows/it-pro/windows-7/cc766315(v=ws.10)).
| +|FlushFile|This problem is indicated when a file is updated and changes do not immediately appear on the hard disk. Applications cannot see the file changes.

The fixenables the WriteFile function to call to the FlushFileBuffers APIs, which flush the file cache onto the hard disk.| +|FontMigration|The fix replaces an application-requested font with a better font selection, to avoid text truncation.| +|ForceAdminAccess|The problem occurs when an application fails to function during an explicit administrator check.

The fixallows the user to temporarily imitate being a part of the Administrators group by returning a value of True during the administrator check.

**Note:** For more detailed information about this application fix, see [Using the ForceAdminAccess Fix](/previous-versions/windows/it-pro/windows-7/cc766024(v=ws.10)).
| +|ForceInvalidateOnClose|The fix invalidates any windows that exist under a closing or hiding window for applications that rely on the invalidation messages.| +|ForceLoadMirrorDrvMitigation|The fix loads the Windows 8 mirror driver mitigation for applications where the mitigation is not automatically applied.| +|FreestyleBMX|The fix resolves an application race condition that is related to window message order.| +|GetDriveTypeWHook|The application presents unusual behavior during installation; for example, the setup program states that it cannot install to a user-specified location.

The fixchanges GetDriveType() so that only the root information appears for the file path. This is required when an application passes an incomplete or badly-formed file path when it tries to retrieve the drive type on which the file path exists.| +|GlobalMemoryStatusLie|The problem is indicated by a Computer memory full error message that displays when you start an application.

The fixmodifies the memory status structure, so that it reports a swap file that is 400 MB, regardless of the true swap file size.| +|HandleBadPtr|The problem is indicated by an access violation error message that displays because an API is performing pointer validation before it uses a parameter.

The fixsupports using lpBuffer validation from the InternetSetOptionA and InternetSetOptionW functions to perform the additional parameter validation.| +|HandleMarkedContentNotIndexed|The problem is indicated by an application that fails when it changes an attribute on a file or directory.

The fixintercepts any API calls that return file attributes and directories that are invoked from the %TEMP% directory, and resets the FILE_ATTRIBUTE_NOT_CONTENT_INDEXED attribute to its original state.| +|HeapClearAllocation|The problem is indicated when the allocation process shuts down unexpectedly.

The fixuses zeros to clear out the heap allocation for an application.| +|IgnoreAltTab|The problem occurs when an application fails to function when special key combinations are used.

The fixintercepts the RegisterRawInputDevices API and prevents the delivery of the WM_INPUT messages. This delivery failure forces the included hooks to be ignored and forces DInput to use Windows-specific hooks.

**Note:** For more detailed information about this application fix, see [Using the IgnoreAltTab Fix](/previous-versions/windows/it-pro/windows-7/cc722093(v=ws.10)).
| +|IgnoreChromeSandbox|The fix allows Google Chrome to run on systems that have ntdll loaded above 4GB.| +|IgnoreDirectoryJunction|The problem is indicated by a read or access violation error message that displays when an application tries to find or open files.

The fixlinks the FindNextFileW, FindNextFileA, FindFirstFileExW, FindFirstFileExA, FindFirstFileW and FindFirstFileA APIs to prevent them from returning directory junctions.

**Note:** Symbolic links appear starting in Windows Vista.
| +|IgnoreException|The problem is indicated when an application stops functioning immediately after it starts, or the application starts with only a cursor appearing on the screen.

The fixenables the application to ignore specified exceptions. By default, this fix ignores privileged-mode exceptions; however, it can be configured to ignore any exception.

You can control this fix further by typing the following command at the command prompt:

`Exception1;Exception2`
Where Exception1 and Exception2 are specific exceptions to be ignored. For example: ACCESS_VIOLATION_READ:1;ACCESS_VIOLATION_WRITE:1.

**Important:** You should use this compatibility fix only if you are certain that it is acceptable to ignore the exception. You might experience additional compatibility issues if you choose to incorrectly ignore an exception.

**Note:** For more detailed information about this application fix, see [Using the IgnoreException Fix](/previous-versions/windows/it-pro/windows-7/cc766154(v=ws.10)).
| +|IgnoreFloatingPointRoundingControl|This fix enables an application to ignore the rounding control request and to behave as expected in previous versions of the application.

Before floating point SSE2 support in the C runtime library, the rounding control request was being ignored which would use round to nearest option by default. This shim ignores the rounding control request to support applications relying on old behavior.| +|IgnoreFontQuality|The problem occurs when application text appears to be distorted.

The fixenables color-keyed fonts to properly work with anti-aliasing.| +|IgnoreMessageBox|The problem is indicated by a message box that displays with debugging or extraneous content when the application runs on an unexpected operating system.

The fixintercepts the MessageBox* APIs and inspects them for specific message text. If matching text is found, the application continues without showing the message box.

**Note:** For more detailed information about this application fix, see [Using the IgnoreMessageBox Fix](/previous-versions/windows/it-pro/windows-7/cc749044(v=ws.10)).
| +|IgnoreMSOXMLMF|The problem is indicated by an error message that states that the operating system cannot locate the MSVCR80D.DLL file.

The fixignores the registered MSOXMLMF.DLL object, which Microsoft® Office 2007 loads into the operating system any time that you load an XML file, and then it fails the CoGetClassObject for its CLSID. This compatibility fix will just ignore the registered MSOXMLMF and fail the CoGetClassObject for its CLSID.| +|IgnoreSetROP2|The fix ignores read-modify-write operations on the desktop to avoid performance issues.| +|InstallComponent|The fix prompts the user to install.Net 3.5 or .Net 2.0 because .Net is not included with Windows 8.| +|LoadLibraryRedirect|The fix forces an application to load system versions of libraries instead of loading redistributable versions that shipped with the application.| +|LocalMappedObject|The problem occurs when an application unsuccessfully tries to create an object in the Global namespace.

The fixintercepts the function call to create the object and replaces the word Global with Local.

**Note:** For more detailed information about this application fix, see [Using the LocalMappedObject Fix](/previous-versions/windows/it-pro/windows-7/cc749287(v=ws.10)).
| +|MakeShortcutRunas|The problem is indicated when an application fails to uninstall because of access-related errors.

The fixlocates any RunDLL.exe-based uninstallers and forces them to run with different credentials during the application installation. After it applies this fix, the installer will create a shortcut that specifies a matching string to run during the application installation, thereby enabling the uninstallation to occur later.

**Note:** For more detailed information about this application fix, see [Using the MakeShortcutRunas Fix](/previous-versions/windows/it-pro/windows-7/dd638338(v=ws.10))
| +|ManageLinks|The fix intercepts common APIs that are going to a directory or to an executable (.exe) file, and then converts any symbolic or directory junctions before passing it back to the original APIs.| +|MirrorDriverWithComposition|The fix allows mirror drivers to work properly with acceptable performance with desktop composition.| +|MoveToCopyFileShim|The problem occurs when an application experiences security access issues during setup.

The fixforces the CopyFile APIs to run instead of the MoveFile APIs. CopyFile APIs avoid moving the security descriptor, which enables the application files to get the default descriptor of the destination folder and prevents the security access issue.| +|OpenDirectoryAcl|The problem is indicated by an error message that states that you do not have the appropriate permissions to access the application.

The fixreduces the security privilege levels on a specified set of files and folders.

**Note:** For more detailed information about this application fix, see [Using the OpenDirectoryACL Fix](/previous-versions/windows/it-pro/windows-7/dd638417(v=ws.10)).
| +|PopCapGamesForceResPerf|The fix resolves the performance issues in PopCap games like Bejeweled2. The performance issues are visible in certain low-end cards at certain resolutions where the 1024x768 buffer is scaled to fit the display resolution.| +|PreInstallDriver|The fix preinstalls drivers for applications that would otherwise try to install or start drivers during the initial start process.| +|PreInstallSmarteSECURE|The fix preinstalls computer-wide CLSIDs for applications that use SmartSECURE copy protection, which would otherwise try to install the CLSIDs during the initial start process.| +|ProcessPerfData|The problem is indicated by an Unhandled Exception error message because the application tried to read the process performance data registry value to determine if another instance of the application is running.

The fixhandles the failure case by passing a fake process performance data registry key, so that the application perceives that it is the only instance running.

**Note:** This issue seems to occur most frequently with .NET applications.| +|PromoteDAM|The fix registers an application for power state change notifications.
| +|PropagateProcessHistory|The problem occurs when an application incorrectly fails to apply an application fix.

The fixsets the _PROCESS_HISTORY environment variable so that child processes can look in the parent directory for matching information while searching for application fixes.| +|ProtectedAdminCheck|The problem occurs when an application fails to run because of incorrect Protected Administrator permissions.

The fixaddresses the issues that occur when applications use non-standard Administrator checks, thereby generating false positives for user accounts that are being run as Protected Administrators. In this case, the associated SID exists, but it is set as deny-only.| +|RedirectCRTTempFile|The fix intercepts failing CRT calls that try to create a temporary file at the root of the volume, thereby redirecting the calls to a temporary file in the user's temporary directory.| +|RedirectHKCUKeys|The problem occurs when an application cannot be accessed because of User Account Control (UAC) restrictions.

The fixduplicates any newly created HKCU keys to other users' HKCU accounts. This fix is generic for UAC restrictions, whereby the HKCU keys are required, but are unavailable to an application at runtime.| +|RedirectMP3Codec|This problem occurs when you cannot play MP3 files.

The fixintercepts the CoCreateInstance call for the missing filter and then redirects it to a supported version.| +|RedirectShortcut|The problem occurs when an application cannot be accessed by its shortcut, or application shortcuts are not removed during the application uninstallation process.

The fixredirects all of the shortcuts created during the application setup to appear according to a specified path.

Start Menu shortcuts: Appear in the \ProgramData\Microsoft\Windows\Start Menu directory for all users.
Desktop or Quick Launch shortcuts:You must manually place the shortcuts on the individual user's desktop or Quick Launch bar.

This issue occurs because of UAC restrictions: specifically, when an application setup runs by using elevated privileges and stores the shortcuts according to the elevated user's context. In this situation, a restricted user cannot access the shortcuts.

You cannot apply this fix to an .exe file that includes a manifest and provides a runlevel.| +|RelaunchElevated|The problem occurs when installers, uninstallers, or updaters fail when they are started from a host application.

The fixenables a child .exe file to run with elevated privileges when it is difficult to determine the parent process with either the ElevateCreateProcess fix or by marking the .exe files to RunAsAdmin.

**Note:** For more detailed information about this application fix, see [Using the RelaunchElevated Fix](/previous-versions/windows/it-pro/windows-7/dd638373(v=ws.10)).
| +|RetryOpenSCManagerWithReadAccess|The problem occurs when an application tries to open the Service Control Manager (SCM) and receives an Access Denied error message.

The fixretries the call and requests a more restricted set of rights that include the following:

  • SC_MANAGER_CONNECT
  • SC_MANAGER_ENUMERATE_SERVICE
  • SC_MANAGER_QUERY_LOCK_STATUS
  • STANDARD_READ_RIGHTS
    **Note:** For more detailed information about this application fix, see [Using the RetryOpenSCManagerwithReadAccess Fix](/previous-versions/windows/it-pro/windows-7/cc721915(v=ws.10)).
    | +|RetryOpenServiceWithReadAccess|The problem occurs when an Unable to open service due to your application using the OpenService() API to test for the existence of a particular service error message displays.

    The fixretries the OpenService() API call and verifies that the user has Administrator rights, is not a Protected Administrator, and by using read-only access. Applications can test for the existence of a service by calling the OpenService() API but some applications ask for all access when making this check. This fix retries the call but only asking for read-only access. The user needs to be an administrator for this to work

    **Note:** For more detailed information about this application fix, see [Using the RetryOpenServiceWithReadAccess Fix](/previous-versions/windows/it-pro/windows-7/cc766423(v=ws.10)).
    | +|RunAsAdmin|The problem occurs when an application fails to function by using the Standard User or Protected Administrator account.

    The fixenables the application to run by using elevated privileges. The fix is the equivalent of specifying requireAdministrator in an application manifest.

    **Note:** For more detailed information about this application fix, see [Using the RunAsAdmin Fix](/previous-versions/windows/it-pro/windows-7/dd638315(v=ws.10)).
    | +|RunAsHighest|The problem occurs when administrators cannot view the read/write version of an application that presents a read-only view to standard users.

    The fixenables the application to run by using the highest available permissions. This is the equivalent of specifying highestAvailable in an application manifest.

    **Note:** For more detailed information about this application fix, see [Using the RunAsHighest Fix](/previous-versions/windows/it-pro/windows-7/dd638322(v=ws.10)).
    | +|RunAsInvoker|The problem occurs when an application is not detected as requiring elevation.

    The fixenables the application to run by using the privileges that are associated with the creation process, without requiring elevation. This is the equivalent of specifying asInvoker in an application manifest.

    **Note:** For more detailed information about this application fix, see [Using the RunAsInvoker Fix](/previous-versions/windows/it-pro/windows-7/dd638389(v=ws.10)).
    | +|SecuROM7|The fix repairs applications by using SecuROM7 for copy protection.| +|SessionShim|The fix intercepts API calls from applications that are trying to interact with services that are running in another session, by using the terminal service name prefix (Global or Local) as the parameter.

    At the command prompt, you can supply a list of objects to modify, separating the values by a double backslash (). Or, you can choose not to include any parameters, so that all of the objects are modified.

    **Important:** Users cannot log in as Session 0 (Global Session) in Windows Vista and later. Therefore, applications that require access to Session 0 automatically fail.

    **Note:** For more detailed information about this application fix, see [Using the SessionShim Fix](/previous-versions/windows/it-pro/windows-7/cc722085(v=ws.10)).
    | +|SetProtocolHandler|The fix registers an application as a protocol handler.

    You can control this fix further by typing the following command at the command prompt:`Client;Protocol;App`
    Where the Client is the name of the email protocol, Protocol is mailto, and App is the name of the application.

    **Note:** Only the mail client and the mailto protocol are supported. You can separate multiple clients by using a backslash ().
    | +|SetupCommitFileQueueIgnoreWow|The problem occurs when a 32-bit setup program fails to install because it requires 64-bit drivers.

    The fixdisables the Wow64 file system that is used by the 64-bit editions of Windows, to prevent 32-bit applications from accessing 64-bit file systems during the application setup.| +|SharePointDesigner2007|The fix resolves an application bug that severely slows the application when it runs in DWM.| +|ShimViaEAT|The problem occurs when an application fails, even after applying acompatibility fix that is known to fix an issue. Applications that use unicows.dll or copy protection often present this issue.

    The fixapplies the specified compatibility fixes by modifying the export table and by nullifying the use of module inclusion and exclusion.

    **Note:** For more information about this application fix, see [Using the ShimViaEAT Fix](/previous-versions/windows/it-pro/windows-7/cc766286(v=ws.10)).
    | +|ShowWindowIE|The problem occurs when a web application experiences navigation and display issues because of the tabbing feature.

    The fixintercepts the ShowWindow API call to address the issues that can occur when a web application determines that it is in a child window. This fix calls the real ShowWindow API on the top-level parent window.| +|SierraWirelessHideCDROM|The fix repairs the Sierra Wireless Driver installation, thereby preventing bugcheck.| +|Sonique2|The application uses an invalid window style, which breaks in DWM. This fix replaces the window style with a valid value.| +|SpecificInstaller|The problem occurs when an application installation file fails to be picked up by the GenericInstaller function.

    The fixflags the application as being an installer file (for example, setup.exe), and then prompts for elevation.

    **Note:** For more detailed information about this application fix, see [Using the SpecificInstaller Fix](/previous-versions/windows/it-pro/windows-7/dd638397(v=ws.10)).
    | +|SpecificNonInstaller|The problem occurs when an application that is not an installer (and has sufficient privileges) generates a false positive from the GenericInstaller function.

    The fixflags the application to exclude it from detection by the GenericInstaller function.

    **Note:** For more detailed information about this application fix, see [Using the SpecificNonInstaller Fix](/previous-versions/windows/it-pro/windows-7/dd638326(v=ws.10)).
    | +|SystemMetricsLie|The fix replaces SystemMetrics values and SystemParametersInfo values with the values of previous Windows versions.| +|TextArt|The application receives different mouse coordinates with DWM ON versus DWM OFF, which causes the application to hang. This fix resolves the issue.| +|TrimDisplayDeviceNames|The fix trims the names of the display devices that are returned by the EnumDisplayDevices API.| +|UIPICompatLogging|The fix enables the logging of Windows messages from Internet Explorer and other processes.| +|UIPIEnableCustomMsgs|The problem occurs when an application does not properly communicate with other processes because customized Windows messages are not delivered.

    The fixenables customized Windows messages to pass through to the current process from a lower Desktop integrity level. This fix is the equivalent of calling the RegisterWindowMessage function, followed by the ChangeWindowMessageFilter function in the code.

    You can control this fix further by typing the following command at the command prompt:

    `MessageString1 MessageString2`
    Where MessageString1 and MessageString2 reflect the message strings that can pass.

    **Note:** Multiple message strings must be separated by spaces. For more detailed information about this application fix, see [Using the UIPIEnableCustomMsgs Fix](/previous-versions/windows/it-pro/windows-7/dd638320(v=ws.10)).
    | +|UIPIEnableStandardMsgs|The problem occurs when an application does not communicate properly with other processes because standard Windows messages are not delivered.

    The fixenables standard Windows messages to pass through to the current process from a lower Desktop integrity level. This fix is the equivalent of calling the ChangeWindowMessageFilter function in the code.

    You can control this fix further by typing the following command at the command prompt:

    `1055 1056 1069`

    Where 1055 reflects the first message ID, 1056 reflects the second message ID, and 1069 reflects the third message ID that can pass.

    **Note:** Multiple messages can be separated by spaces. For more detailed information about this application fix, see [Using the UIPIEnableStandardMsgs Fix [act]](/previous-versions/windows/it-pro/windows-7/dd638361(v=ws.10)).
    | +|VirtualizeDeleteFileLayer|The fix virtualizes DeleteFile operations for applications that try to delete protected files.| +|VirtualizeDesktopPainting|This fix improves the performance of a number of operations on the Desktop DC while using DWM.| +|VirtualRegistry|The problem is indicated when a Component failed to be located error message displays when an application is started.

    The fixenables the registry functions to allow for virtualization, redirection, expansion values, version spoofing, the simulation of performance data counters, and so on.

    For more detailed information about this application fix, see [Using the VirtualRegistry Fix](/previous-versions/windows/it-pro/windows-7/cc749368(v=ws.10)).| +|VirtualizeDeleteFile|The problem occurs when several error messages display and the application cannot delete files.

    The fixmakes the application's DeleteFile function call a virtual call in an effort to remedy the UAC and file virtualization issues that were introduced with Windows Vista. This fix also links other file APIs (for example, GetFileAttributes) to ensure that the virtualization of the file is deleted.

    **Note:** For more detailed information about this application fix, see [Using the VirtualizeDeleteFile Fix](/previous-versions/windows/it-pro/windows-7/dd638360(v=ws.10)).
    | +|VirtualizeHKCRLite|The problem occurs when an application fails to register COM components at runtime.

    The fixredirects the HKCR write calls (HKLM) to the HKCU hive for a per-user COM registration. This operates much like the VirtualRegistry fix when you use the VirtualizeHKCR parameter; however, VirtualizeHKCRLite provides better performance.

    HKCR is a virtual merge of the HKCU\Software\Classes and HKLM\Software\Classes directories. The use of HKCU is preferred if an application is not elevated and is ignored if the application is elevated.

    You typically will use this compatibility fix in conjunction with the VirtualizeRegisterTypeLib fix.
    For more detailed information about this application fix, see [Using the VirtualizeHKCRLite Fix](/previous-versions/windows/it-pro/windows-7/dd638327(v=ws.10)).| +|VirtualizeRegisterTypeLib|The fix, when it is used with the VirtualizeHKCRLite fix, ensures that the type library and the COM class registration happen simultaneously. This functions much like the RegistryTypeLib fix when the RegisterTypeLibForUser parameter is used.

    **Note:** For more detailed information about this application fix, see [Using the VirtualizeRegisterTypelib Fix](/previous-versions/windows/it-pro/windows-7/dd638385(v=ws.10)).
    | +|WaveOutIgnoreBadFormat|This problem is indicated by an error message that states: Unable to initialize sound device from your audio driver; the application then closes.

    The fixenables the application to ignore the format error and continue to function properly.| +|WerDisableReportException|The fix turns off the silent reporting of exceptions to the Windows Error Reporting tool, including those that are reported by Object Linking and Embedding-Database (OLE DB). The fix intercepts the RtlReportException API and returns a STATUS_NOT_SUPPORTED error message.| +|Win7RTM/Win8RTM|The layer provides the application with Windows 7/Windows 8 compatibility mode.| +|WinxxRTMVersionLie|The problem occurs when an application fails because it does not find the correct version number for the required Windows operating system.

    All version lie compatibility fixes address the issue whereby an application fails to function because it is checking for, but not finding, a specific version of the operating system. The version lie fix returns the appropriate operating system version information. For example, the VistaRTMVersionLie returns the Windows Vista version information to the application, regardless of the actual operating system version that is running on the computer.| +|Wing32SystoSys32|The problem is indicated by an error message that states that the WinG library was not properly installed.

    The fixdetects whether the WinG32 library exists in the correct directory. If the library is located in the wrong location, this fix copies the information (typically during the runtime of the application) into the %WINDIR% \system32 directory.

    **Important:** The application must have Administrator privileges for this fix to work.| +|WinSrv08R2RTM|| +|WinXPSP2VersionLie|The problem occurs when an application experiences issues because of a VB runtime DLL.

    The fixforces the application to follow these steps:

  • Open the Compatibility Administrator, and then select None for Operating System Mode.
  • On the Compatibility Fixes page, click WinXPSP2VersionLie, and then click Parameters.
  • The Options for <fix_name> dialog box appears.
  • Type vbrun60.dll into the Module Name box, click Include, and then click Add.
  • Save the custom database.
    **Note:** For more information about the WinXPSP2VersionLie application fix, see [Using the WinXPSP2VersionLie Fix](/previous-versions/windows/it-pro/windows-7/cc749518(v=ws.10)).
    | +|WRPDllRegister|The application fails when it tries to register a COM component that is released together with Windows Vista and later.

    The fixskips the processes of registering and unregistering WRP-protected COM components when calling the DLLRegisterServer and DLLUnregisterServer functions.

    You can control this fix further by typing the following command at the command prompt:

    `Component1.dll;Component2.dll`
    Where Component1.dll and Component2.dll reflect the components to be skipped.

    **Note:** For more detailed information about this application fix, see [Using the WRPDllRegister Fix](/previous-versions/windows/it-pro/windows-7/dd638345(v=ws.10)).
    | +|WRPMitigation|The problem is indicated when an access denied error message displays when the application tries to access a protected operating system resource by using more than read-only access.

    The fixemulates the successful authentication and modification of file and registry APIs, so that the application can continue.

    **Note:** For more detailed information about WRPMitigation, see [Using the WRPMitigation Fix](/previous-versions/windows/it-pro/windows-7/dd638325(v=ws.10)).
    | +|WRPRegDeleteKey|The problem is indicated by an access denied error message that displays when the application tries to delete a registry key.

    The fixverifies whether the registry key is WRP-protected. If the key is protected, this fix emulates the deletion process.| +|XPAfxIsValidAddress|The fix emulates the behavior of Windows XP for MFC42!AfxIsValidAddress.| ## Compatibility Modes - The following table lists the known compatibility modes. - ----- - - - - - - - - - - - - - - - - - - - -
    Compatibility Mode NameDescriptionIncluded Compatibility Fixes

    WinSrv03

    Emulates the Windows Server 2003 operating system.

      -
    • Win2k3RTMVersionLie

    • -
    • VirtualRegistry

    • -
    • ElevateCreateProcess

    • -
    • EmulateSorting

    • -
    • FailObsoleteShellAPIs

    • -
    • LoadLibraryCWD

    • -
    • HandleBadPtr

    • -
    • GlobalMemoryStatus2GB

    • -
    • RedirectMP3Codec

    • -
    • EnableLegacyExceptionHandlinginOLE

    • -
    • NoGhost

    • -
    • HardwareAudioMixer

    • -

    WinSrv03Sp1

    Emulates the Windows Server 2003 with Service Pack 1 (SP1) operating system.

      -
    • Win2K3SP1VersionLie

    • -
    • VirtualRegistry

    • -
    • ElevateCreateProcess

    • -
    • EmulateSorting

    • -
    • FailObsoleteShellAPIs

    • -
    • LoadLibraryCWD

    • -
    • HandleBadPtr

    • -
    • EnableLegacyExceptionHandlinginOLE

    • -
    • RedirectMP3Codec

    • -
    • HardwareAudioMixer

    • -
    \ No newline at end of file +|Compatibility Mode Name|Description|Included Compatibility Fixes| +|--- |--- |--- | +|WinSrv03|Emulates the Windows Server 2003 operating system.|

  • Win2k3RTMVersionLie
  • VirtualRegistry
  • ElevateCreateProcess
  • EmulateSorting
  • FailObsoleteShellAPIs
  • LoadLibraryCWD
  • HandleBadPtr
  • GlobalMemoryStatus2GB
  • RedirectMP3Codec
  • EnableLegacyExceptionHandlinginOLE
  • NoGhost
  • HardwareAudioMixer| +|WinSrv03Sp1|Emulates the Windows Server 2003 with Service Pack 1 (SP1) operating system.|
  • Win2K3SP1VersionLie
  • VirtualRegistry
  • ElevateCreateProcess
  • EmulateSorting
  • FailObsoleteShellAPIs
  • LoadLibraryCWD
  • HandleBadPtr
  • EnableLegacyExceptionHandlinginOLE
  • RedirectMP3Codec
  • HardwareAudioMixer| \ No newline at end of file diff --git a/windows/deployment/planning/deployment-considerations-for-windows-to-go.md b/windows/deployment/planning/deployment-considerations-for-windows-to-go.md index 51718fd6c5..465e0d5809 100644 --- a/windows/deployment/planning/deployment-considerations-for-windows-to-go.md +++ b/windows/deployment/planning/deployment-considerations-for-windows-to-go.md @@ -78,145 +78,27 @@ Wi-Fi network adapter drivers are one of the most important drivers to make sure The following list of commonly used Wi-Fi network adapters that are not supported by the default drivers provided with Windows 10 is provided to help you ascertain whether or not you need to add drivers to your image. - ------ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Vendor name

    Product description

    HWID

    Windows Update availability

    Broadcom

    802.11abgn Wireless SDIO adapter

    sd\vid_02d0&pid_4330&fn_1

    Contact the system OEM or Broadcom for driver availability.

    Broadcom

    802.11n Network Adapter

    pci\ven_14e4&dev_4331&subsys_00d6106b&rev_02

    Contact the system OEM or Broadcom for driver availability.

    Broadcom

    802.11n Network Adapter

    pci\ven_14e4&dev_4331&subsys_00f5106b&rev_02

    Contact the system OEM or Broadcom for driver availability.

    Broadcom

    802.11n Network Adapter

    pci\ven_14e4&dev_4331&subsys_00ef106b&rev_02

    Contact the system OEM or Broadcom for driver availability.

    Broadcom

    802.11n Network Adapter

    pci\ven_14e4&dev_4331&subsys_00f4106b&rev_02

    Contact the system OEM or Broadcom for driver availability.

    Broadcom

    802.11n Network Adapter

    pci\ven_14e4&dev_4331&subsys_010e106b&rev_02

    Contact the system OEM or Broadcom for driver availability.

    Broadcom

    802.11n Network Adapter

    pci\ven_14e4&dev_4331&subsys_00e4106b&rev_02

    Contact the system OEM or Broadcom for driver availability.

    Broadcom

    802.11n Network Adapter

    pci\ven_14e4&dev_4331&subsys_433114e4&rev_02

    Contact the system OEM or Broadcom for driver availability.

    Broadcom

    802.11n Network Adapter

    pci\ven_14e4&dev_4331&subsys_010f106b&rev_02

    Contact the system OEM or Broadcom for driver availability.

    Marvell

    Yukon 88E8001/8003/8010 PCI Gigabit Ethernet

    pci\ven_11ab&dev_4320&subsys_811a1043

    32-bit driver

    -

    64-bit driver

    Marvell

    Libertas 802.11b/g Wireless

    pci\ven_11ab&dev_1faa&subsys_6b001385&rev_03

    32-bit driver

    -

    64-bit driver

    Qualcomm

    Atheros AR6004 Wireless LAN Adapter

    sd\vid_0271&pid_0401

    32-bit driver

    -

    64-bit driver not available

    Qualcomm

    Atheros AR5BWB222 Wireless Network Adapter

    pci\ven_168c&dev_0034&subsys_20031a56

    32-bit driver

    -

    64-bit driver not available

    Qualcomm

    Atheros AR5BWB222 Wireless Network Adapter

    pci\ven_168c&dev_0034&subsys_020a1028&rev_01

    Contact the system OEM or Qualcom for driver availability.

    Qualcomm

    Atheros AR5005G Wireless Network Adapter

    pci\ven_168c&dev_001a&subsys_04181468&rev_01

    32-bit driver

    -

    64-bit driver

    Ralink

    Wireless-G PCI Adapter

    pci\ven_1814&dev_0301&subsys_00551737&rev_00

    32-bit driver

    -

    64-bit driver

    Ralink

    Turbo Wireless LAN Card

    pci\ven_1814&dev_0301&subsys_25611814&rev_00

    32-bit driver

    -

    64-bit driver

    Ralink

    Wireless LAN Card V1

    pci\ven_1814&dev_0302&subsys_3a711186&rev_00

    32-bit driver

    -

    64-bit driver

    Ralink

    D-Link AirPlus G DWL-G510 Wireless PCI Adapter(rev.C)

    pci\ven_1814&dev_0302&subsys_3c091186&rev_00

    32-bit driver

    -

    64-bit driver

    +|Vendor name|Product description|HWID|Windows Update availability| +|--- |--- |--- |--- | +|Broadcom|802.11abgn Wireless SDIO adapter|sd\vid_02d0&pid_4330&fn_1|Contact the system OEM or Broadcom for driver availability.| +|Broadcom|802.11n Network Adapter|pci\ven_14e4&dev_4331&subsys_00d6106b&rev_02|Contact the system OEM or Broadcom for driver availability.| +|Broadcom|802.11n Network Adapter|pci\ven_14e4&dev_4331&subsys_00f5106b&rev_02|Contact the system OEM or Broadcom for driver availability.| +|Broadcom|802.11n Network Adapter|pci\ven_14e4&dev_4331&subsys_00ef106b&rev_02|Contact the system OEM or Broadcom for driver availability.| +|Broadcom|802.11n Network Adapter|pci\ven_14e4&dev_4331&subsys_00f4106b&rev_02|Contact the system OEM or Broadcom for driver availability.| +|Broadcom|802.11n Network Adapter|pci\ven_14e4&dev_4331&subsys_010e106b&rev_02|Contact the system OEM or Broadcom for driver availability.| +|Broadcom|802.11n Network Adapter|pci\ven_14e4&dev_4331&subsys_00e4106b&rev_02|Contact the system OEM or Broadcom for driver availability.| +|Broadcom|802.11n Network Adapter|pci\ven_14e4&dev_4331&subsys_433114e4&rev_02|Contact the system OEM or Broadcom for driver availability.| +|Broadcom|802.11n Network Adapter|pci\ven_14e4&dev_4331&subsys_010f106b&rev_02|Contact the system OEM or Broadcom for driver availability.| +|Marvell|Yukon 88E8001/8003/8010 PCI Gigabit Ethernet|pci\ven_11ab&dev_4320&subsys_811a1043|[32-bit driver](https://go.microsoft.com/fwlink/p/?LinkId=619080)
    [64-bit driver](https://go.microsoft.com/fwlink/p/?LinkId=619082)| +|Marvell|Libertas 802.11b/g Wireless|pci\ven_11ab&dev_1faa&subsys_6b001385&rev_03|[32-bit driver](https://go.microsoft.com/fwlink/p/?LinkId=619128)
    [64-bit driver](https://go.microsoft.com/fwlink/p/?LinkId=619129)| +|Qualcomm|Atheros AR6004 Wireless LAN Adapter|sd\vid_0271&pid_0401|[32-bit driver](https://go.microsoft.com/fwlink/p/?LinkId=619086)
    64-bit driver not available| +|Qualcomm|Atheros AR5BWB222 Wireless Network Adapter|pci\ven_168c&dev_0034&subsys_20031a56|[32-bit driver](https://go.microsoft.com/fwlink/p/?LinkId=619348)
    64-bit driver not available| +|Qualcomm|Atheros AR5BWB222 Wireless Network Adapter|pci\ven_168c&dev_0034&subsys_020a1028&rev_01|Contact the system OEM or Qualcom for driver availability.| +|Qualcomm|Atheros AR5005G Wireless Network Adapter|pci\ven_168c&dev_001a&subsys_04181468&rev_01|[32-bit driver](https://go.microsoft.com/fwlink/p/?LinkId=619349)

    [64-bit driver](https://go.microsoft.com/fwlink/p/?LinkId=619091)| +|Ralink|Wireless-G PCI Adapter|pci\ven_1814&dev_0301&subsys_00551737&rev_00|[32-bit driver](https://go.microsoft.com/fwlink/p/?LinkId=619092)

    [64-bit driver](https://go.microsoft.com/fwlink/p/?LinkId=619093)| +|Ralink|Turbo Wireless LAN Card|pci\ven_1814&dev_0301&subsys_25611814&rev_00|[32-bit driver](https://go.microsoft.com/fwlink/p/?LinkId=619094)

    [64-bit driver](https://go.microsoft.com/fwlink/p/?LinkId=619095)| +|Ralink|Wireless LAN Card V1|pci\ven_1814&dev_0302&subsys_3a711186&rev_00|[32-bit driver](https://go.microsoft.com/fwlink/p/?LinkId=619097)

    [64-bit driver](https://go.microsoft.com/fwlink/p/?LinkId=619098)| +|Ralink|D-Link AirPlus G DWL-G510 Wireless PCI Adapter(rev.C)|pci\ven_1814&dev_0302&subsys_3c091186&rev_00|[32-bit driver](https://go.microsoft.com/fwlink/p/?LinkId=619099)

    [64-bit driver](https://go.microsoft.com/fwlink/p/?LinkId=619100)| IT administrators that want to target Windows To Go images for specific systems should test their images to ensure that the necessary system drivers are in the image, especially for critical functionality like Wi-Fi that is not supported by class drivers. Some consumer devices require OEM-specific driver packages, which may not be available on Windows Update. For more information on how to add a driver to a Windows Image, please refer to the [Basic Windows Deployment Step-by-Step Guide](/previous-versions/windows/it-pro/windows-8.1-and-8/hh825212(v=win.10)). diff --git a/windows/deployment/planning/fixing-applications-by-using-the-sua-tool.md b/windows/deployment/planning/fixing-applications-by-using-the-sua-tool.md index ea3a21ed29..c8cdbe2b03 100644 --- a/windows/deployment/planning/fixing-applications-by-using-the-sua-tool.md +++ b/windows/deployment/planning/fixing-applications-by-using-the-sua-tool.md @@ -37,33 +37,11 @@ On the user interface for the Standard User Analyzer (SUA) tool, you can apply f 3. On the **Mitigation** menu, click the command that corresponds to the action that you want to take. The following table describes the commands. - - - - - - - - - - - - - - - - - - - - - - - - - -
    Mitigation menu commandDescription

    Apply Mitigations

    Opens the Mitigate AppCompat Issues dialog box, in which you can select the fixes that you intend to apply to the application.

    Undo Mitigations

    Removes the application fixes that you just applied.

    -

    This option is available only after you apply an application fix and before you close the SUA tool. Alternatively, you can manually remove application fixes by using Programs and Features in Control Panel.

    Export Mitigations as Windows Installer file

    Exports your application fixes as a Windows® Installer (.msi) file, which can then be deployed to other computers that are running the application.

    + |Mitigation menu command|Description| + |--- |--- | + |**Apply Mitigations**|Opens the **Mitigate AppCompat Issues** dialog box, in which you can select the fixes that you intend to apply to the application.| + |**Undo Mitigations**|Removes the application fixes that you just applied.

    This option is available only after you apply an application fix and before you close the SUA tool. Alternatively, you can manually remove application fixes by using **Programs and Features** in Control Panel.| + |**Export Mitigations as Windows Installer file**|Exports your application fixes as a Windows® Installer (.msi) file, which can then be deployed to other computers that are running the application.|   diff --git a/windows/deployment/planning/managing-application-compatibility-fixes-and-custom-fix-databases.md b/windows/deployment/planning/managing-application-compatibility-fixes-and-custom-fix-databases.md index 3aac6db8f1..54b272cb6c 100644 --- a/windows/deployment/planning/managing-application-compatibility-fixes-and-custom-fix-databases.md +++ b/windows/deployment/planning/managing-application-compatibility-fixes-and-custom-fix-databases.md @@ -31,37 +31,14 @@ This section provides information about managing your application-compatibility ## In this section - - ---- - - - - - - - - - - - - - - - - - - - - -
    TopicDescription

    Understanding and Using Compatibility Fixes

    As the Windows operating system evolves to support new technology and functionality, the implementations of some functions may change. This can cause problems for applications that relied upon the original implementation. You can avoid compatibility issues by using the Microsoft Windows Application Compatibility (Compatibility Fix) infrastructure to create a specific application fix for a particular version of an application.

    Compatibility Fix Database Management Strategies and Deployment

    After you determine that you will use compatibility fixes in your application-compatibility mitigation strategy, you must define a strategy to manage your custom compatibility-fix database. Typically, you can use one of two approaches:

    Testing Your Application Mitigation Packages

    This topic provides details about testing your application-mitigation packages, including recommendations about how to report your information and how to resolve any outstanding issues.

    - - +|Topic|Description| +|--- |--- | +|[Understanding and Using Compatibility Fixes](understanding-and-using-compatibility-fixes.md)|As the Windows operating system evolves to support new technology and functionality, the implementations of some functions may change. This can cause problems for applications that relied upon the original implementation. You can avoid compatibility issues by using the Microsoft Windows Application Compatibility (Compatibility Fix) infrastructure to create a specific application fix for a particular version of an application.| +|[Compatibility Fix Database Management Strategies and Deployment](compatibility-fix-database-management-strategies-and-deployment.md)|After you determine that you will use compatibility fixes in your application-compatibility mitigation strategy, you must define a strategy to manage your custom compatibility-fix database. Typically, you can use one of two approaches:| +|[Testing Your Application Mitigation Packages](testing-your-application-mitigation-packages.md)|This topic provides details about testing your application-mitigation packages, including recommendations about how to report your information and how to resolve any outstanding issues.| ## Related topics + [Compatibility Administrator User's Guide](compatibility-administrator-users-guide.md) [Using the Compatibility Administrator Tool](using-the-compatibility-administrator-tool.md) diff --git a/windows/deployment/planning/showing-messages-generated-by-the-sua-tool.md b/windows/deployment/planning/showing-messages-generated-by-the-sua-tool.md index d4b510cd08..69a2bc6507 100644 --- a/windows/deployment/planning/showing-messages-generated-by-the-sua-tool.md +++ b/windows/deployment/planning/showing-messages-generated-by-the-sua-tool.md @@ -37,41 +37,12 @@ On the user interface for the Standard User Analyzer (SUA) tool, you can show th 3. On the **View** menu, click the command that corresponds to the messages that you want to see. The following table describes the commands. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    View menu commandDescription

    Error Messages

    When this command is selected, the user interface shows error messages that the SUA tool has generated. Error messages are highlighted in pink.

    -

    This command is selected by default.

    Warning Messages

    When this command is selected, the user interface shows warning messages that the SUA tool has generated. Warning messages are highlighted in yellow.

    Information Messages

    When this command is selected, the user interface shows informational messages that the SUA tool has generated. Informational messages are highlighted in green.

    Detailed Information

    When this command is selected, the user interface shows information that the SUA tool has generated, such as debug, stack trace, stop code, and severity information.

    - -   - -  +|View menu command|Description| +|--- |--- | +|**Error Messages**|When this command is selected, the user interface shows error messages that the SUA tool has generated. Error messages are highlighted in pink.

    This command is selected by default.| +|**Warning Messages**|When this command is selected, the user interface shows warning messages that the SUA tool has generated. Warning messages are highlighted in yellow.| +|**Information Messages**|When this command is selected, the user interface shows informational messages that the SUA tool has generated. Informational messages are highlighted in green.| +|**Detailed Information**|When this command is selected, the user interface shows information that the SUA tool has generated, such as debug, stack trace, stop code, and severity information.|   diff --git a/windows/deployment/planning/sua-users-guide.md b/windows/deployment/planning/sua-users-guide.md index 2d34aa8326..d3fad3aced 100644 --- a/windows/deployment/planning/sua-users-guide.md +++ b/windows/deployment/planning/sua-users-guide.md @@ -38,33 +38,9 @@ You can use SUA in either of the following ways: ## In this section - - ---- - - - - - - - - - - - - - - - - -
    TopicDescription

    Using the SUA Wizard

    The Standard User Analyzer (SUA) Wizard works much like the SUA tool to evaluate User Account Control (UAC) issues. However, the SUA Wizard does not offer detailed analysis, and it cannot disable virtualization or elevate your permissions.

    Using the SUA Tool

    By using the Standard User Analyzer (SUA) tool, you can test your applications and monitor API calls to detect compatibility issues with the User Account Control (UAC) feature.

    - - - - - +|Topic|Description| +|--- |--- | +|[Using the SUA Wizard](using-the-sua-wizard.md)|The Standard User Analyzer (SUA) Wizard works much like the SUA tool to evaluate User Account Control (UAC) issues. However, the SUA Wizard does not offer detailed analysis, and it cannot disable virtualization or elevate your permissions.| +|[Using the SUA Tool](using-the-sua-tool.md)|By using the Standard User Analyzer (SUA) tool, you can test your applications and monitor API calls to detect compatibility issues with the User Account Control (UAC) feature.| diff --git a/windows/deployment/planning/tabs-on-the-sua-tool-interface.md b/windows/deployment/planning/tabs-on-the-sua-tool-interface.md index d3c279c3eb..b1fcb63b8d 100644 --- a/windows/deployment/planning/tabs-on-the-sua-tool-interface.md +++ b/windows/deployment/planning/tabs-on-the-sua-tool-interface.md @@ -31,76 +31,15 @@ The tabs in the Standard User Analyzer (SUA) tool show the User Account Control The following table provides a description of each tab on the user interface for the SUA tool. - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Tab nameDescription

    App Info

    Provides the following information for the selected application:

    -
      -
    • Debugging information

    • -
    • Error, warning, and informational messages (if they are enabled)

    • -
    • Options for running the application

    • -

    File

    Provides information about access to the file system.

    -

    For example, this tab might show an attempt to write to a file that only administrators can typically access.

    Registry

    Provides information about access to the system registry.

    -

    For example, this tab might show an attempt to write to a registry key that only administrators can typically access.

    INI

    Provides information about WriteProfile API issues.

    -

    For example, in the Calculator tool (Calc.exe) in Windows® XP, when you change the view from Standard to Scientific, Calc.exe calls the WriteProfile API to write to the Windows\Win.ini file. The Win.ini file is writable only for administrators.

    Token

    Provides information about access-token checking.

    -

    For example, this tab might show an explicit check for the Builtin\Administrators security identifier (SID) in the user's access token. This operation may not work for a standard user.

    Privilege

    Provides information about permissions.

    -

    For example, this tab might show an attempt to explicitly enable permissions that do not work for a standard user.

    Name Space

    Provides information about creation of system objects.

    -

    For example, this tab might show an attempt to create a new system object, such as an event or a memory map, in a restricted namespace. Applications that attempt this kind of operation do not function for a standard user.

    Other Objects

    Provides information related to applications accessing objects other than files and registry keys.

    Process

    Provides information about process elevation.

    -

    For example, this tab might show the use of the CreateProcess API to open an executable (.exe) file that, in turn, requires process elevation that will not function for a standard user.

    - -  - -  - -  - - - - +|Tab name|Description| +|--- |--- | +|App Info|Provides the following information for the selected application:

  • Debugging information
  • Error, warning, and informational messages (if they are enabled)
  • Options for running the application| +|File|Provides information about access to the file system.

    For example, this tab might show an attempt to write to a file that only administrators can typically access.| +|Registry|Provides information about access to the system registry.

    For example, this tab might show an attempt to write to a registry key that only administrators can typically access.| +|INI|Provides information about WriteProfile API issues.

    For example, in the Calculator tool (Calc.exe) in Windows® XP, when you change the view from **Standard** to **Scientific**, Calc.exe calls the WriteProfile API to write to the Windows\Win.ini file. The Win.ini file is writable only for administrators.| +|Token|Provides information about access-token checking.

    For example, this tab might show an explicit check for the Builtin\Administrators security identifier (SID) in the user's access token. This operation may not work for a standard user.| +|Privilege|Provides information about permissions.

    For example, this tab might show an attempt to explicitly enable permissions that do not work for a standard user.| +|Name Space|Provides information about creation of system objects.

    For example, this tab might show an attempt to create a new system object, such as an event or a memory map, in a restricted namespace. Applications that attempt this kind of operation do not function for a standard user.| +|Other Objects|Provides information related to applications accessing objects other than files and registry keys.| +|Process|Provides information about process elevation.

    For example, this tab might show the use of the CreateProcess API to open an executable (.exe) file that, in turn, requires process elevation that will not function for a standard user.| diff --git a/windows/deployment/planning/using-the-compatibility-administrator-tool.md b/windows/deployment/planning/using-the-compatibility-administrator-tool.md index cb84beaa58..8847407f48 100644 --- a/windows/deployment/planning/using-the-compatibility-administrator-tool.md +++ b/windows/deployment/planning/using-the-compatibility-administrator-tool.md @@ -32,63 +32,17 @@ This section provides information about using the Compatibility Administrator to ## In this section - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    TopicDescription

    Available Data Types and Operators in Compatibility Administrator

    The Compatibility Administrator tool provides a way to query your custom-compatibility databases.

    Searching for Fixed Applications in Compatibility Administrator

    With the search functionality in Compatibility Administrator, you can locate specific executable (.exe) files with previously applied compatibility fixes, compatibility modes, or AppHelp messages. This is particularly useful if you are trying to identify applications with a specific compatibility fix or identifying which fixes are applied to a specific application.

    Searching for Installed Compatibility Fixes with the Query Tool in Compatibility Administrator

    You can access the Query tool from within Compatibility Administrator. The Query tool provides the same functionality as using the Search feature.

    Creating a Custom Compatibility Fix in Compatibility Administrator

    The Compatibility Administrator tool uses the term fix to describe the combination of compatibility information added to a customized database for a specific application. This combination can include single application fixes, groups of fixes that work together as a compatibility mode, and blocking and non-blocking AppHelp messages.

    Creating a Custom Compatibility Mode in Compatibility Administrator

    Windows® provides several compatibility modes, groups of compatibility fixes found to resolve many common application-compatibility issues. While working with Compatibility Administrator, you might decide to group some of your individual compatibility fixes into a custom-compatibility mode, which you can then deploy and use on any of your compatibility databases.

    Creating an AppHelp Message in Compatibility Administrator

    The Compatibility Administrator tool enables you to create an AppHelp text message. This is a blocking or non-blocking message that appears when a user starts an application that you know has major functionality issues on the Windows® operating system.

    Viewing the Events Screen in Compatibility Administrator

    The Events screen enables you to record and to view your activities in the Compatibility Administrator tool, provided that the screen is open while you perform the activities.

    Enabling and Disabling Compatibility Fixes in Compatibility Administrator

    You can disable and enable individual compatibility fixes in your customized databases for testing and troubleshooting purposes.

    Installing and Uninstalling Custom Compatibility Databases in Compatibility Administrator

    The Compatibility Administrator tool enables the creation and the use of custom-compatibility and standard-compatibility databases. Both the custom databases and the standard databases store the known compatibility fixes, compatibility modes, and AppHelp messages. They also store the required application-matching information for installation on your local computers.

    - - - - - - - +|Topic|Description| +|--- |--- | +|[Available Data Types and Operators in Compatibility Administrator](available-data-types-and-operators-in-compatibility-administrator.md)|The Compatibility Administrator tool provides a way to query your custom-compatibility databases.| +|[Searching for Fixed Applications in Compatibility Administrator](searching-for-fixed-applications-in-compatibility-administrator.md)|With the search functionality in Compatibility Administrator, you can locate specific executable (.exe) files with previously applied compatibility fixes, compatibility modes, or AppHelp messages. This is particularly useful if you are trying to identify applications with a specific compatibility fix or identifying which fixes are applied to a specific application.| +|[Searching for Installed Compatibility Fixes with the Query Tool in Compatibility Administrator](searching-for-installed-compatibility-fixes-with-the-query-tool-in-compatibility-administrator.md)|You can access the Query tool from within Compatibility Administrator. The Query tool provides the same functionality as using the Search feature.| +|[Creating a Custom Compatibility Fix in Compatibility Administrator](creating-a-custom-compatibility-fix-in-compatibility-administrator.md)|The Compatibility Administrator tool uses the term fix to describe the combination of compatibility information added to a customized database for a specific application. This combination can include single application fixes, groups of fixes that work together as a compatibility mode, and blocking and non-blocking AppHelp messages.| +|[Creating a Custom Compatibility Mode in Compatibility Administrator](creating-a-custom-compatibility-mode-in-compatibility-administrator.md)|Windows® provides several compatibility modes, groups of compatibility fixes found to resolve many common application-compatibility issues. While working with Compatibility Administrator, you might decide to group some of your individual compatibility fixes into a custom-compatibility mode, which you can then deploy and use on any of your compatibility databases.| +|[Creating an AppHelp Message in Compatibility Administrator](creating-an-apphelp-message-in-compatibility-administrator.md)|The Compatibility Administrator tool enables you to create an AppHelp text message. This is a blocking or non-blocking message that appears when a user starts an application that you know has major functionality issues on the Windows® operating system.| +|[Viewing the Events Screen in Compatibility Administrator](viewing-the-events-screen-in-compatibility-administrator.md)|The **Events** screen enables you to record and to view your activities in the Compatibility Administrator tool, provided that the screen is open while you perform the activities.| +|[Enabling and Disabling Compatibility Fixes in Compatibility Administrator](enabling-and-disabling-compatibility-fixes-in-compatibility-administrator.md)|You can disable and enable individual compatibility fixes in your customized databases for testing and troubleshooting purposes.| +|[Installing and Uninstalling Custom Compatibility Databases in Compatibility Administrator](installing-and-uninstalling-custom-compatibility-databases-in-compatibility-administrator.md)|The Compatibility Administrator tool enables the creation and the use of custom-compatibility and standard-compatibility databases. Both the custom databases and the standard databases store the known compatibility fixes, compatibility modes, and AppHelp messages. They also store the required application-matching information for installation on your local computers.| diff --git a/windows/deployment/planning/using-the-sdbinstexe-command-line-tool.md b/windows/deployment/planning/using-the-sdbinstexe-command-line-tool.md index 649a832f90..2f2994c38c 100644 --- a/windows/deployment/planning/using-the-sdbinstexe-command-line-tool.md +++ b/windows/deployment/planning/using-the-sdbinstexe-command-line-tool.md @@ -59,56 +59,14 @@ Sdbinst.exe \[-?\] \[-p\] \[-q\] \[-u\] \[-g\] \[-u filepath\] \[-g *GUID*\] \[- The following table describes the available command-line options. - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    OptionDescription

    -?

    Displays the Help for the Sdbinst.exe tool.

    -

    For example,

    -

    sdbinst.exe -?

    -p

    Allows SDBs installation with Patches

    -

    For example,

    -

    sdbinst.exe -p C:\Windows\AppPatch\Myapp.sdb

    -q

    Performs a silent installation with no visible window, status, or warning information. Fatal errors appear only in Event Viewer (Eventvwr.exe).

    -

    For example,

    -

    sdbinst.exe -q

    -u filepath

    Performs an uninstallation of the specified database.

    -

    For example,

    -

    sdbinst.exe -u C:\example.sdb

    -g GUID

    Specifies the customized database to uninstall by a globally unique identifier (GUID).

    -

    For example,

    -

    sdbinst.exe -g 6586cd8f-edc9-4ea8-ad94-afabea7f62e3

    -n "name"

    Specifies the customized database to uninstall by file name.

    -

    For example,

    -

    sdbinst.exe -n "My_Database"

    +|Option|Description| +|--- |--- | +|-?|Displays the Help for the Sdbinst.exe tool.

    For example,
    `sdbinst.exe -?`| +|-p|Allows SDBs installation with Patches.

    For example,
    `sdbinst.exe -p C:\Windows\AppPatch\Myapp.sdb`| +|-q|Performs a silent installation with no visible window, status, or warning information. Fatal errors appear only in Event Viewer (Eventvwr.exe).

    For example,
    `sdbinst.exe -q`| +|-u (filepath)|Performs an uninstallation of the specified database.

    For example,
    `sdbinst.exe -u C:\example.sdb`| +|-g (GUID)|Specifies the customized database to uninstall by a globally unique identifier (GUID).

    For example,
    `sdbinst.exe -g 6586cd8f-edc9-4ea8-ad94-afabea7f62e3`| +|-n ("name")|Specifies the customized database to uninstall by file name.

    For example,
    `sdbinst.exe -n "My_Database"`| ## Related topics [Compatibility Administrator User's Guide](compatibility-administrator-users-guide.md) diff --git a/windows/deployment/planning/windows-to-go-overview.md b/windows/deployment/planning/windows-to-go-overview.md index 5dff0dda28..a35fdac4bf 100644 --- a/windows/deployment/planning/windows-to-go-overview.md +++ b/windows/deployment/planning/windows-to-go-overview.md @@ -135,93 +135,27 @@ When assessing the use of a PC as a host for a Windows To Go workspace you shoul The following table details the characteristics that the host computer must have to be used with Windows To Go: - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ItemRequirement

    Boot process

    Capable of USB boot

    Firmware

    USB boot enabled. (PCs certified for use with Windows 7 or later can be configured to boot directly from USB, check with the hardware manufacturer if you are unsure of the ability of your PC to boot from USB)

    Processor architecture

    Must support the image on the Windows To Go drive

    External USB Hubs

    Not supported; connect the Windows To Go drive directly to the host machine

    Processor

    1 Ghz or faster

    RAM

    2 GB or greater

    Graphics

    DirectX 9 graphics device with WDDM 1.2 or greater driver

    USB port

    USB 2.0 port or greater

    +|Item|Requirement| +|--- |--- | +|Boot process|Capable of USB boot| +|Firmware|USB boot enabled. (PCs certified for use with Windows 7 or later can be configured to boot directly from USB, check with the hardware manufacturer if you are unsure of the ability of your PC to boot from USB)| +|Processor architecture|Must support the image on the Windows To Go drive| +|External USB Hubs|Not supported; connect the Windows To Go drive directly to the host machine| +|Processor|1 Ghz or faster| +|RAM|2 GB or greater| +|Graphics|DirectX 9 graphics device with WDDM 1.2 or greater driver| +|USB port|USB 2.0 port or greater| **Checking for architectural compatibility between the host PC and the Windows To Go drive** In addition to the USB boot support in the BIOS, the Windows 10 image on your Windows To Go drive must be compatible with the processor architecture and the firmware of the host PC as shown in the table below. - ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Host PC Firmware TypeHost PC Processor ArchitectureCompatible Windows To Go Image Architecture

    Legacy BIOS

    32-bit

    32-bit only

    Legacy BIOS

    64-bit

    32-bit and 64-bit

    UEFI BIOS

    32-bit

    32-bit only

    UEFI BIOS

    64-bit

    64-bit only

    +|Host PC Firmware Type|Host PC Processor Architecture|Compatible Windows To Go Image Architecture| +|--- |--- |--- | +|Legacy BIOS|32-bit|32-bit only| +|Legacy BIOS|64-bit|32-bit and 64-bit| +|UEFI BIOS|32-bit|32-bit only| +|UEFI BIOS|64-bit|64-bit only| ## Additional resources diff --git a/windows/deployment/update/waas-integrate-wufb.md b/windows/deployment/update/waas-integrate-wufb.md index b5d5e02b67..67198f4b71 100644 --- a/windows/deployment/update/waas-integrate-wufb.md +++ b/windows/deployment/update/waas-integrate-wufb.md @@ -41,11 +41,13 @@ For Windows 10, version 1607 and later, devices can be configured to receive upd - Admin has opted to put updates to Office and other products on WSUS - Admin has also put 3rd party drivers on WSUS - - - - -
    ContentMetadata sourcePayload sourceDeferred?
    Updates to WindowsWindows UpdateWindows UpdateYesdiagram of content flow
    Updates to Office and other productsWSUSWSUSNo
    Third-party driversWSUSWSUSNo
    +|Content|Metadata source|Payload source|Deferred?| +|--- |--- |--- |--- | +|Updates to Windows|Windows Update|Windows Update|Yes| +|Updates to Office and other products|WSUS|WSUS|No| +|Third-party drivers|WSUS|WSUS|No| + +![diagram of content flow](images/wufb-config1a.png) ### Configuration example \#2: Excluding drivers from Windows quality updates using Windows Update for Business @@ -55,13 +57,13 @@ For Windows 10, version 1607 and later, devices can be configured to receive upd - Device is also configured to be managed by WSUS - Admin has opted to put Windows Update drivers on WSUS +|Content|Metadata source|Payload source|Deferred?| +|--- |--- |--- |--- | +|Updates to Windows (excluding drivers)|Windows Update|Windows Update|Yes| +|Updates to Office and other products|WSUS|WSUS|No| +|Drivers|WSUS|WSUS|No| - - - - - -
    ContentMetadata sourcePayload sourceDeferred?
    Updates to Windows (excluding drivers)Windows UpdateWindows UpdateYesdiagram of content flow
    Updates to Office and other productsWSUSWSUSNo
    DriversWSUSWSUSNo
    +![diagram of content flow 2](images/wufb-config2.png) ### Configuration example \#3: Device configured to receive Microsoft updates @@ -75,12 +77,13 @@ In this example, the deferral behavior for updates to Office and other non-Windo - In a non-WSUS case, these updates would be deferred just as any update to Windows would be. - However, with WSUS also configured, these updates are sourced from Microsoft but deferral policies are not applied. +|Content|Metadata source|Payload source|Deferred?| +|--- |--- |--- |--- | +|Updates to Windows (excluding drivers)|Microsoft Update|Microsoft Update|Yes| +|Updates to Office and other products|Microsoft Update|Microsoft Update|No| +|Drivers, third-party applications|WSUS|WSUS|No| - - - - -
    ContentMetadata sourcePayload sourceDeferred?
    Updates to Windows (excluding drivers)Microsoft UpdateMicrosoft UpdateYesdiagram of content flow
    Updates to Office and other productsMicrosoft UpdateMicrosoft UpdateNo
    Drivers, third-party applicationsWSUSWSUSNo
    +![diagram of content flow](images/wufb-config3a.png) >[!NOTE] > Because the admin enabled **Update/AllowMUUpdateService**, placing the content on WSUS was not needed for the particular device, as the device will always receive Microsoft Update content from Microsoft when configured in this manner. diff --git a/windows/deployment/upgrade/log-files.md b/windows/deployment/upgrade/log-files.md index b37d7a9c41..189b0ba691 100644 --- a/windows/deployment/upgrade/log-files.md +++ b/windows/deployment/upgrade/log-files.md @@ -33,30 +33,16 @@ Several log files are created during each phase of the upgrade process. These lo The following table describes some log files and how to use them for troubleshooting purposes:
    -
    - - - - - - - - - - - - - - - - -
    Log filePhase: LocationDescriptionWhen to use
    setupact.logDown-Level:
    $Windows.~BT\Sources\Panther
    Contains information about setup actions during the downlevel phase. All down-level failures and starting point for rollback investigations.
    This is the most important log for diagnosing setup issues.
    OOBE:
    $Windows.~BT\Sources\Panther\UnattendGC
    Contains information about actions during the OOBE phase.Investigating rollbacks that failed during OOBE phase and operations – 0x4001C, 0x4001D, 0x4001E, 0x4001F.
    Rollback:
    $Windows.~BT\Sources\Rollback
    Contains information about actions during rollback.Investigating generic rollbacks - 0xC1900101.
    Pre-initialization (prior to downlevel):
    Windows
    Contains information about initializing setup.If setup fails to launch.
    Post-upgrade (after OOBE):
    Windows\Panther
    Contains information about setup actions during the installation.Investigate post-upgrade related issues.
    setuperr.logSame as setupact.logContains information about setup errors during the installation.Review all errors encountered during the installation phase.
    miglog.xmlPost-upgrade (after OOBE):
    Windows\Panther
    Contains information about what was migrated during the installation.Identify post upgrade data migration issues.
    BlueBox.logDown-Level:
    Windows\Logs\Mosetup
    Contains information communication between setup.exe and Windows Update.Use during WSUS and WU down-level failures or for 0xC1900107.
    Supplemental rollback logs:
    -Setupmem.dmp
    -setupapi.dev.log
    -Event logs (*.evtx)
    $Windows.~BT\Sources\RollbackAdditional logs collected during rollback. -Setupmem.dmp: If OS bug checks during upgrade, setup will attempt to extract a mini-dump.
    -Setupapi: Device install issues - 0x30018
    -Event logs: Generic rollbacks (0xC1900101) or unexpected reboots.
    +| Log file | Phase: Location | When to use | +|--- |--- |--- | +|setupact.log|Down-Level:
    $Windows.~BT\Sources\Panther|Contains information about setup actions during the downlevel phase.|All down-level failures and starting point for rollback investigations.
    This is the most important log for diagnosing setup issues.|setupact.log|OOBE:
    $Windows.~BT\Sources\Panther\UnattendGC|Contains information about actions during the OOBE phase.|Investigating rollbacks that failed during OOBE phase and operations – 0x4001C, 0x4001D, 0x4001E, 0x4001F.| +|setupact.log|Rollback:
    $Windows.~BT\Sources\Rollback|Contains information about actions during rollback.|Investigating generic rollbacks - 0xC1900101.| +|setupact.log|Pre-initialization (prior to downlevel):
    Windows|Contains information about initializing setup.|If setup fails to launch.| +|setupact.log|Post-upgrade (after OOBE):
    Windows\Panther|Contains information about setup actions during the installation.|Investigate post-upgrade related issues.| +|setuperr.log|Same as setupact.log|Contains information about setup errors during the installation.|Review all errors encountered during the installation phase.| +|miglog.xml|Post-upgrade (after OOBE):
    Windows\Panther|Contains information about what was migrated during the installation.|Identify post upgrade data migration issues.| +|BlueBox.log|Down-Level:
    Windows\Logs\Mosetup|Contains information communication between setup.exe and Windows Update.|Use during WSUS and WU down-level failures or for 0xC1900107.| +|Supplemental rollback logs:
    Setupmem.dmp
    setupapi.dev.log
    Event logs (*.evtx)|$Windows.~BT\Sources\Rollback|Additional logs collected during rollback.|Setupmem.dmp: If OS bug checks during upgrade, setup will attempt to extract a mini-dump.
    Setupapi: Device install issues - 0x30018
    Event logs: Generic rollbacks (0xC1900101) or unexpected reboots.| ## Log entry structure diff --git a/windows/deployment/upgrade/resolution-procedures.md b/windows/deployment/upgrade/resolution-procedures.md index 3a353c8752..8f3493ee92 100644 --- a/windows/deployment/upgrade/resolution-procedures.md +++ b/windows/deployment/upgrade/resolution-procedures.md @@ -69,196 +69,39 @@ See the following general troubleshooting procedures associated with a result co ## Other result codes -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Error codeCauseMitigation
    0xC1800118WSUS has downloaded content that it cannot use due to a missing decryption key.See Steps to resolve error 0xC1800118 for information.
    0xC1900200Setup.exe has detected that the machine does not meet the minimum system requirements.Ensure the system you are trying to upgrade meets the minimum system requirements.
    See Windows 10 specifications for information.
    0x80090011A device driver error occurred during user data migration.Contact your hardware vendor and get all the device drivers updated. It is recommended to have an active internet connection during upgrade process. -
    Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.
    0xC7700112Failure to complete writing data to the system drive, possibly due to write access failure on the hard disk.This issue is resolved in the latest version of Upgrade Assistant. -
    Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.
    0x80190001An unexpected error was encountered while attempting to download files required for upgrade.To resolve this issue, download and run the media creation tool. See Download windows 10. -
    0x80246007The update was not downloaded successfully.Attempt other methods of upgrading the operating system.
    -Download and run the media creation tool. See Download windows 10. -
    Attempt to upgrade using .ISO or USB.
    -Note
    Windows 10 Enterprise isn’t available in the media creation tool. For more information, go to the Volume Licensing Service Center. -
    0x80244018Your machine is connected through a proxy server.Make sure Automatically Detect Settings is selected in internet options. (Control Panel > Internet Options > Connections > LAN Settings). -
    0xC1900201The system did not pass the minimum requirements to install the update.Contact the hardware vendor to get the latest updates.
    0x80240017The upgrade is unavailable for this edition of Windows.Administrative policies enforced by your organization might be preventing the upgrade. Contact your IT administrator.
    0x80070020The existing process cannot access the file because it is being used by another process.Use the MSCONFIG tool to perform a clean boot on the machine and then try to perform the update again. For more information, see How to perform a clean boot in Windows.
    0x80070522The user doesn’t have required privilege or credentials to upgrade.Ensure that you have signed in as a local administrator or have local administrator privileges.
    0xC1900107A cleanup operation from a previous installation attempt is still pending and a system reboot is required in order to continue the upgrade. -Restart the device and run setup again. If restarting the device does not resolve the issue, then use the Disk Cleanup utility and clean up the temporary files as well as the System files. For more information, see Disk cleanup in Windows 10.
    0xC1900209The user has chosen to cancel because the system does not pass the compatibility scan to install the update. Setup.exe will report this error when it can upgrade the machine with user data but cannot migrate installed applications.Incompatible software is blocking the upgrade process. Uninstall the application and try the upgrade again. See Windows 10 Pre-Upgrade Validation using SETUP.EXE for more information. -
    You can also download the Windows Assessment and Deployment Kit (ADK) for Windows 10 and install Application Compatibility Tools. -
    0x8007002 This error is specific to upgrades using System Center 2012 Configuration Manager R2 SP1 CU3 (5.00.8238.1403)Analyze the SMSTS.log and verify that the upgrade is failing on "Apply Operating system" Phase: Error 80072efe DownloadFileWithRanges() failed. 80072efe. ApplyOperatingSystem (0x0760) -
    The error 80072efe means that the connection with the server was terminated abnormally. -
    To resolve this issue, try the OS Deployment test on a client in same VLAN as the Configuration Manager server. Check the network configuration for random client-server connection issues happening on the remote VLAN. -
    0x80240FFF Occurs when update synchronization fails. It can occur when you are using Windows Server Update Services on its own or when it is integrated with Microsoft Endpoint Configuration Manager. If you enable update synchronization before you install hotfix 3095113, WSUS doesn't recognize the Upgrades classification and instead treats the upgrade like a regular update. You can prevent this by installing hotfix 3095113 before you enable update synchronization. However, if you have already run into this problem, do the following: -
      -
    1. Disable the Upgrades classification.
    2. -
    3. Install hotfix 3095113.
    4. -
    5. Delete previously synched updates.
    6. -
    7. Enable the Upgrades classification.
    8. -
    9. Perform a full synch.
    10. -
    -For detailed information on how to run these steps check out How to delete upgrades in WSUS.

    -
    0x8007007EOccurs when update synchronization fails because you do not have hotfix 3095113 installed before you enable update synchronization. Specifically, the CopyToCache operation fails on clients that have already downloaded the upgrade because Windows Server Update Services has bad metadata related to the upgrade. It can occur when you are using standalone Windows Server Update Services or when WSUS is integrated with Microsoft Endpoint Configuration Manager. Use the following steps to repair Windows Server Update Services. You must run these steps on each WSUS server that synched metadata before you installed the hotfix. -
      -
    1. Stop the Windows Update service. Sign in as a user with administrative privileges, and then do the following: -
        -
      1. Open Administrative Tools from the Control Panel.
      2. -
      3. Double-click Services.
      4. -
      5. Find the Windows Update service, right-click it, and then select Stop. If prompted, enter your credentials.
      6. -
      -
    2. -
    3. Delete all files and folders under c:\Windows\SoftwareDistribution\DataStore.
    4. -
    5. Restart the Windows Update service.
    6. -
    -
    +|Error code|Cause|Mitigation| +|--- |--- |--- | +|0xC1800118|WSUS has downloaded content that it cannot use due to a missing decryption key.|See [Steps to resolve error 0xC1800118](/archive/blogs/wsus/resolving-error-0xc1800118) for information.| +|0xC1900200|Setup.exe has detected that the machine does not meet the minimum system requirements.|Ensure the system you are trying to upgrade meets the minimum system requirements. See [Windows 10 specifications](https://www.microsoft.com/windows/windows-10-specifications) for information.| +|0x80090011|A device driver error occurred during user data migration.|Contact your hardware vendor and get all the device drivers updated. It is recommended to have an active internet connection during upgrade process.

    Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.| +|0xC7700112|Failure to complete writing data to the system drive, possibly due to write access failure on the hard disk.|This issue is resolved in the latest version of Upgrade Assistant.

    Ensure that "Download and install updates (recommended)" is accepted at the start of the upgrade process.| +|0x80190001|An unexpected error was encountered while attempting to download files required for upgrade.|To resolve this issue, download and run the media creation tool. See [Download windows 10](https://www.microsoft.com/software-download/windows10).| +|0x80246007|The update was not downloaded successfully.|Attempt other methods of upgrading the operating system.

    Download and run the media creation tool. See [Download windows 10](https://www.microsoft.com/software-download/windows10).

    Attempt to upgrade using .ISO or USB.

    **Note:** Windows 10 Enterprise isn’t available in the media creation tool. For more information, go to the [Volume Licensing Service Center](https://www.microsoft.com/licensing/servicecenter/default.aspx).| +|0x80244018|Your machine is connected through a proxy server.|Make sure Automatically Detect Settings is selected in internet options. (Control Panel > Internet Options > Connections > LAN Settings).| +|0xC1900201|The system did not pass the minimum requirements to install the update.|Contact the hardware vendor to get the latest updates.| +|0x80240017|The upgrade is unavailable for this edition of Windows.|Administrative policies enforced by your organization might be preventing the upgrade. Contact your IT administrator.| +|0x80070020|The existing process cannot access the file because it is being used by another process.|Use the MSCONFIG tool to perform a clean boot on the machine and then try to perform the update again. For more information, see [How to perform a clean boot in Windows](https://support.microsoft.com/kb/929135).| +|0x80070522|The user doesn’t have required privilege or credentials to upgrade.|Ensure that you have signed in as a local administrator or have local administrator privileges.| +|0xC1900107|A cleanup operation from a previous installation attempt is still pending and a system reboot is required in order to continue the upgrade.|Restart the device and run setup again. If restarting the device does not resolve the issue, then use the Disk Cleanup utility and clean up the temporary files as well as the System files. For more information, see [Disk cleanup in Windows 10](https://support.microsoft.com/instantanswers/8fef4121-711b-4be1-996f-99e02c7301c2/disk-cleanup-in-windows-10).| +|0xC1900209|The user has chosen to cancel because the system does not pass the compatibility scan to install the update. Setup.exe will report this error when it can upgrade the machine with user data but cannot migrate installed applications.|Incompatible software is blocking the upgrade process. Uninstall the application and try the upgrade again. See [Windows 10 Pre-Upgrade Validation using SETUP.EXE](/archive/blogs/mniehaus/windows-10-pre-upgrade-validation-using-setup-exe) for more information.

    You can also download the Windows Assessment and Deployment Kit (ADK) for Windows 10 and install Application Compatibility Tools.| +|0x8007002|This error is specific to upgrades using System Center 2012 Configuration Manager R2 SP1 CU3 (5.00.8238.1403)|Analyze the SMSTS.log and verify that the upgrade is failing on "Apply Operating system" Phase: Error 80072efe DownloadFileWithRanges() failed. 80072efe. ApplyOperatingSystem (0x0760)

    The error 80072efe means that the connection with the server was terminated abnormally.

    To resolve this issue, try the OS Deployment test on a client in same VLAN as the Configuration Manager server. Check the network configuration for random client-server connection issues happening on the remote VLAN.| +|0x80240FFF|Occurs when update synchronization fails. It can occur when you are using Windows Server Update Services on its own or when it is integrated with Microsoft Endpoint Configuration Manager. If you enable update synchronization before you install hotfix 3095113, WSUS doesn't recognize the Upgrades classification and instead treats the upgrade like a regular update.|You can prevent this by installing hotfix 3095113 before you enable update synchronization. However, if you have already run into this problem, do the following:

    1. Disable the Upgrades classification.
    2. Install hotfix 3095113.
    3. Delete previously synched updates.
    4. Enable the Upgrades classification.
    5. Perform a full synch.

    For detailed information on how to run these steps check out How to delete upgrades in WSUS.| +|0x8007007E|Occurs when update synchronization fails because you do not have hotfix 3095113 installed before you enable update synchronization. Specifically, the CopyToCache operation fails on clients that have already downloaded the upgrade because Windows Server Update Services has bad metadata related to the upgrade. It can occur when you are using standalone Windows Server Update Services or when WSUS is integrated with Microsoft Endpoint Configuration Manager.|Use the following steps to repair Windows Server Update Services. You must run these steps on each WSUS server that synched metadata before you installed the hotfix.

    Stop the Windows Update service.

  • Sign in as a user with administrative privileges, and then do the following:
  • Open Administrative Tools from the Control Panel.
  • Double-click Services.
  • Find the Windows Update service, right-click it, and then select Stop. If prompted, enter your credentials.

    Delete all files and folders under c:\Windows\SoftwareDistribution\DataStore.

    Restart the Windows Update service.| ## Other error codes -
    - - - - - - - - - - - - - -
    Error CodesCauseMitigation
    0x80070003- 0x20007 -This is a failure during SafeOS phase driver installation. - -Verify device drivers on the computer, and analyze log files to determine the problem driver. -
    0x8007025D - 0x2000C -This error occurs if the ISO file's metadata is corrupt."Re-download the ISO/Media and re-attempt the upgrade. - -Alternatively, re-create installation media the [Media Creation Tool](https://www.microsoft.com/software-download/windows10). - -
    0x80070490 - 0x20007An incompatible device driver is present. - -Verify device drivers on the computer, and analyze log files to determine the problem driver. - -
    0xC1900101 - 0x2000c -An unspecified error occurred in the SafeOS phase during WIM apply. This can be caused by an outdated driver or disk corruption. -Run checkdisk to repair the file system. For more information, see the quick fixes section in this guide. -
    Update drivers on the computer, and select "Download and install updates (recommended)" during the upgrade process. Disconnect devices other than the mouse, keyboard and display.
    0xC1900200 - 0x20008 - -The computer doesn’t meet the minimum requirements to download or upgrade to Windows 10. - -See Windows 10 Specifications and verify the computer meets minimum requirements. - -Review logs for [compatibility information](/archive/blogs/askcore/using-the-windows-10-compatibility-reports-to-understand-upgrade-issues).
    0x80070004 - 0x3000D -This is a problem with data migration during the first boot phase. There are multiple possible causes. - -Analyze log files to determine the issue.
    0xC1900101 - 0x4001E -Installation failed in the SECOND_BOOT phase with an error during PRE_OOBE operation. -This is a generic error that occurs during the OOBE phase of setup. See the 0xC1900101 section of this guide and review general troubleshooting procedures described in that section.
    0x80070005 - 0x4000D -The installation failed in the SECOND_BOOT phase with an error in during MIGRATE_DATA operation. This error indicates that access was denied while attempting to migrate data. -Analyze log files to determine the data point that is reporting access denied.
    0x80070004 - 0x50012 -Windows Setup failed to open a file. -Analyze log files to determine the data point that is reporting access problems.
    0xC190020e -
    0x80070070 - 0x50011 -
    0x80070070 - 0x50012 -
    0x80070070 - 0x60000 -
    These errors indicate the computer does not have enough free space available to install the upgrade. -To upgrade a computer to Windows 10, it requires 16 GB of free hard drive space for a 32-bit OS, and 20 GB for a 64-bit OS. If there is not enough space, attempt to free up drive space before proceeding with the upgrade. - -> [!NOTE] -> If your device allows it, you can use an external USB drive for the upgrade process. Windows setup will back up the previous version of Windows to a USB external drive. The external drive must be at least 8GB (16GB is recommended). The external drive should be formatted using NTFS. Drives that are formatted in FAT32 may run into errors due to FAT32 file size limitations. USB drives are preferred over SD cards because drivers for SD cards are not migrated if the device does not support Connected Standby. -
    +| Error Codes | Cause | Mitigation | +| --- | --- | --- | +|0x80070003- 0x20007|This is a failure during SafeOS phase driver installation.|[Verify device drivers](/windows-hardware/drivers/install/troubleshooting-device-and-driver-installations) on the computer, and [analyze log files](log-files.md#analyze-log-files) to determine the problem driver.| +|0x8007025D - 0x2000C|This error occurs if the ISO file's metadata is corrupt.|Re-download the ISO/Media and re-attempt the upgrade

    Alternatively, re-create installation media the [Media Creation Tool](https://www.microsoft.com/software-download/windows10).| +|0x80070490 - 0x20007|An incompatible device driver is present.|[Verify device drivers](/windows-hardware/drivers/install/troubleshooting-device-and-driver-installations) on the computer, and [analyze log files](log-files.md#analyze-log-files) to determine the problem driver.| +|0xC1900101 - 0x2000c|An unspecified error occurred in the SafeOS phase during WIM apply. This can be caused by an outdated driver or disk corruption.|Run checkdisk to repair the file system. For more information, see the [quick fixes](quick-fixes.md) section in this guide.
    Update drivers on the computer, and select "Download and install updates (recommended)" during the upgrade process. Disconnect devices other than the mouse, keyboard and display.| +|0xC1900200 - 0x20008|The computer doesn’t meet the minimum requirements to download or upgrade to Windows 10.|See [Windows 10 Specifications](https://www.microsoft.com/windows/windows-10-specifications) and verify the computer meets minimum requirements.

    Review logs for [compatibility information](/archive/blogs/askcore/using-the-windows-10-compatibility-reports-to-understand-upgrade-issues).| +|0x80070004 - 0x3000D|This is a problem with data migration during the first boot phase. There are multiple possible causes.|[Analyze log files](log-files.md#analyze-log-files) to determine the issue.| +|0xC1900101 - 0x4001E|Installation failed in the SECOND_BOOT phase with an error during PRE_OOBE operation.|This is a generic error that occurs during the OOBE phase of setup. See the [0xC1900101](#0xc1900101) section of this guide and review general troubleshooting procedures described in that section.| +|0x80070005 - 0x4000D|The installation failed in the SECOND_BOOT phase with an error in during MIGRATE_DATA operation. This error indicates that access was denied while attempting to migrate data.|[Analyze log files](log-files.md#analyze-log-files) to determine the data point that is reporting access denied.| +|0x80070004 - 0x50012|Windows Setup failed to open a file.|[Analyze log files](log-files.md#analyze-log-files) to determine the data point that is reporting access problems.| +|0xC190020e
    0x80070070 - 0x50011
    0x80070070 - 0x50012
    0x80070070 - 0x60000|These errors indicate the computer does not have enough free space available to install the upgrade.|To upgrade a computer to Windows 10, it requires 16 GB of free hard drive space for a 32-bit OS, and 20 GB for a 64-bit OS. If there is not enough space, attempt to [free up drive space](https://support.microsoft.com/help/17421/windows-free-up-drive-space) before proceeding with the upgrade.

    **Note:** If your device allows it, you can use an external USB drive for the upgrade process. Windows setup will back up the previous version of Windows to a USB external drive. The external drive must be at least 8GB (16GB is recommended). The external drive should be formatted using NTFS. Drives that are formatted in FAT32 may run into errors due to FAT32 file size limitations. USB drives are preferred over SD cards because drivers for SD cards are not migrated if the device does not support Connected Standby.
    | ## Modern setup errors