Using the VirtualRegistry Fix
Applies To: Windows 7, Windows Vista
This section includes information about using the VirtualRegistry compatibility fix, including the associated issues, intercepted APIs, the available command-line options, and usage.
VirtualRegistry
The VirtualRegistry compatibility fix is one of the most commonly used fixes and can be used to:
Redirect a registry key
Spoof the existence of a registry key, including its value
Expand keys of the REG_EXPAND_SZ type to return to the REG_SZ type
Remove leading "\" characters from registry keys
Add the MAXIMUM_ALLOWED security attributes to all registry keys
Adjust the parameters of the QueryInfoKey to match those in Microsoft Windows® 95
Enable the deletion of keys that have subkeys, to match the behavior of Windows 95
Protect registry values and keys from deletion
Enable customized triggers to occur when a registry key opens
Investigating the Issue
Registry-related issues that can be resolved by applying the VirtualRegistry compatibility fix can be detected by using registry monitoring tools. The most frequently used tool is the Sysinternals' Process Monitor, which enables you to review the registry keys that are accessed prior to a failure, so that you can begin to predict potential fixes.
Important
In a few cases, the command-line options are named after the first application in which the issue was located. It is possible that additional applications can use the same fix, if they are experiencing the same type of issue. Microsoft has made every attempt to be accurate in this section. However, there are cases where multiple fixes exist for the same issue and there is a potential for some issues to no longer be valid and, therefore, no longer require the fix.
Intercepted APIs
The following table provides a list of APIs that are intercepted by the VirtualRegistry fix.
API | Description |
---|---|
RegOpenUserClassesRoot | Makes a virtual call to the RegOpenUserClassesRoot API. The HKEY_CLASSES_ROOT virtual keys are children to this virtual key. |
RegConnectRegistryA / RegConnectRegistryW | Makes a virtual call to connect to the registry on a specified computer. |
RegOpenKeyA / RegOpenKeyW | Makes a virtual call to open a registry key. |
RegOpenKeyExA / RegOpenKeyExW | Makes a virtual call to open a registry key. |
RegQueryValueExA / RegQueryValueExW | Makes a virtual call to query the value of a registry key. |
RegCreateKeyA / RegCreateKeyW | Makes a virtual call to create a registry key. |
RegCreateKeyExA / RegCreateKeyExW | Makes a virtual call to create a registry key. |
RegEnumValueA / RegEnumValueW | Makes a virtual call to enumerate the values of a registry key. |
RegEnumKeyA / RegEnumKeyW | Makes a virtual call to enumerate the subkeys of a registry key. |
RegEnumKeyExA / RegEnumKeyExW | Makes a virtual call to enumerate the subkeys of a registry key. |
RegQueryInfoKeyA / RegQueryInfoKeyW | Makes a virtual call to retrieve information about a registry key. |
RegSetValueA / RegSetValueW | Makes a virtual call to set the value of a registry key. |
RegSetValueExA / RegSetValueExW | Makes a virtual call to set the value of a registry key. |
RegDeleteKeyA / RegDeleteKeyW | Makes a virtual call to delete a registry key. |
RegCloseKey | Makes a virtual call to close a registry key. |
Command-Line Options
The following table provides details for each of the available command-line options, including its usage.
Option | Description | ||
---|---|---|---|
ADDREDIRECT(key_to_redirect_from^key_to_redirect_to) |
Adds a generic registry redirection, which points from one registry key to any other registry key. You can use this command-line option to resolve permissions issues (by redirecting from a protected area of the registry to an unprotected one) or to resolve version-checking issues (by redirecting from the actual registry key to another key that contains the spoof value).
|
||
AIRLINETYCOON |
Resolves an issue related to applications attempting to retrieve CD-ROM information, by using a recursive search. This fix adds a virtual key for the path request in the original API call, with a CurrentDriveLetterAssignment value provided by the recursive search results. |
||
AUTORUN |
Resolves the issue whereby a registry key was a REG_BINARY type on the Windows 9x operating system, but is now a REG_DWORD type. This fix adds the HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer registry key, with the NoDriveTypeAutoRun value being provided by the existing key and then converted to the REG_BINARY type. |
||
BOGUSCTRLID |
Adds the Shell Compatibility flag for applications that require the IDOK control ID for the ToolBarWindows32 class. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ShellCompatibility\Applications\<path_to_application> virtual key, with a value of FILEOPENBOGUSCTRLID. |
||
BUILDHOTFIX |
Resolves an issue that occurs when an application expects to, but does not, find at least one hotfix (Windows update) on the computer. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Hotfix virtual key, with a Fix Description value of "". |
||
CODECS |
Resolves an issue that occurs when multiple VirtualRegistry command-line options are required to handle the expectated values for older codec packages. This fix applies the following command-line options as a group.
|
||
COOKIEPATH |
Resolves a known issue with retrieving the file path to your cookies from the registry. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Cache\Special Paths\Cookies registry key, with a Directory value of %USERPROFILE% \Cookies. |
||
CURRENT_CONFIG |
Resolves issues related to display settings. This fix adds the HKEY_CURRENT_CONFIG\Display\Settings registry key, with the BitsPerPixel value taken from the EnumDisplaySettings.dmBitsPerPel key, and the Resolution value taken from both the EnumDisplaySettings.dmPelsWidth and EnumDisplaySettings.dmPelsHeight keys. This fix also redirects the HKEY_CURRENT_CONFIG\Display\Fonts registry key to the HKEY_CURRENT_CONFIG\Software\Fonts registry key. |
||
D3DReleaseProcessVid |
Resolves an issue that occurs when an application does not destroy an exclusive mode Direct3D® device before creating an exclusive mode DirectDraw® device. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Direct3D virtual key, with a ReleaseProcessVidPnSourceOwnersAndRetry value of "0x00000001". |
||
DDRawReleaseProcessVid |
Resolves an issue that occurs when an application does not destroy an exclusive mode DirectDraw device before creating an exclusive mode Direct 3D device. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\DirectDraw virtual key, with a ReleaseProcessVidPnSourceOwnersAndRetry value of "0x00000001". |
||
DELPHI5PRO |
Resolves an issue related to the instreg.exe RunOnce key, whereby it needs to be quoted by adding an additional virtual registry key and through modification of the key itself. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce virtual key, with a BorlandReboot1 value provided by the path to the quoted executable. |
||
DISABLEWIN9XMODE |
Resolves an issue that occurs when the default corrections for Windows 9x should not be applied to the fixed application, disabling the fixes application-wide. |
||
DSCACHEPOSITIONS [device1 | device2 | ...] |
Resolves an issue whereby an application checks the IDirectSoundBuffer::GetCurrentPosition() API by caching the position. This fix adds the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MediaResources\DirectSound\Application Compatibility\<key determined by command-line options> virtual key, based on the following command-line option. DEVICEn [EMULATEDRENDER | KSRENDER | EMULATEDCAPTURE | KSCAPTURE] |
||
DSDEVACCEL [accellevel][device1 | device2 | ...] |
Resolves an issue whereby an application ceases to function when used with a particular Microsoft DirectSound® acceleration level. This fix adds the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MediaResources\DirectSound\Application Compatibility\<key determined by command-line options> virtual key, based on the following command-line options: ACCELLEVEL [NONE | STANDARD | FULL] DEVICEn [EMULATEDRENDER | KSRENDER | EMULATEDCAPTURE | KSCAPTURE] |
||
DSDISABLEDEVICE [device1 | device2 | ...] |
Resolves an issue whereby a device does not function properly. This fix disables the physical device and emulates a device that works, by adding the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MediaResources\DirectSound\Application Compatibility\<key determined by command-line options> virtual key, based on the following command-line option. DEVICEn [EMULATEDRENDER | KSRENDER | EMULATEDCAPTURE | KSCAPTURE] |
||
DSPADCURSORS [numMilliseconds] |
Resolves an issue whereby an application is unable to properly handle the cursor position with the DirectSound application. This fix enables the IDirectSoundBuffer::GetCursorPosition() API to return a user specified value that is higher than the true value. This fix adds the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MediaResources\DirectSound\Application Compatibility\DSAPPHACKID_PADCURSORS virtual key, with a "" value provided by the [numMilliseconds] command-line option. |
||
DSRETURNWRITEPOS [device1 | device2 | ...] |
Resolves an issue whereby an application attempts to stream audio into a DirectSound buffer, but keys off of the wrong cursor, returning the write cursor value when the play cursor value is requested. This fix adds the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MediaResources\DirectSound\Application Compatibility\<key determined by command-line options> virtual key, based on the following command-line option. DEVICEn [EMULATEDRENDER | KSRENDER | EMULATEDCAPTURE | KSCAPTURE] |
||
DSSMOOTHWRITEPOS [numMilliseconds] |
Resolves an issue whereby an application behaves unexpectedly if it returns a write position value that is larger than the true write position. This fix adds the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MediaResources\DirectSound\Application Compatibility\DSAPPHACKID_SMOOTHWRITEPOS virtual key, with a "" value provided by the [numMilliseconds] command-line option. |
||
DX7A |
Emulates the version checks that are performed by the registry for Microsoft DirectX® 7.0a. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\DirectX virtual key, with a Version value of "4.07.00.0716". |
||
DX8 |
Emulates the version checks that are performed by the registry for Microsoft DirectX® 8. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\DirectX virtual key, with a Version value of "4.08.00.0902". |
||
DXDIAG |
Adds the dxdiag.exe utility file path location to the virtual registry. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\dxdiag.exe virtual key, with a "" value provided by the GetSystemDirectory API \dxdiag.exe. |
||
DYN_DATA |
Emulates the HKEY_DYN_DATA registry keys, which were used by the Windows 9x operating system to collect performance data. This fix redirects the HKEY_LOCAL_MACHINE\Enum key to the HKEY_LOCAL_MACHINE\CurrentControlSet\Enum key. This fix also adds the following virtual keys:
|
||
EXPAND |
Converts the registry keys that were of the REG_SZ type on Windows 9x, but are now REG_EXPAND_SZ, back to REG_SZ, for backwards compatibility. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion virtual key, with the DevicePath, ProgramFilesPath, and WallPaperDir values provided by the ExpandEnvironmentStrings API. |
||
FILENETWEBSERVER |
Resolves an issue related to version checks that are performed by the registry for the Web server. This fix adds the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters key, with a MajorVersion value of 0x00000005. |
||
FUTURECOP |
Resolves an issue whereby the Future Cop application does not always run in full screen mode. This fix adds the HKEY_LOCAL_MACHINE\Software\Electronic Arts\Future Cop\Settings virtual key, with a FullScreen value of 0x01 |
||
HASBRO |
Resolves an installer error, where the registry searches for the PALFILE path to locate the installation path, instead of the CD-ROM path. This fix enumerates the contents of the HKEY_LOCAL_MACHINE\Software\Hasbro Interactive registry, adds a virtual PALFILE value to each entry, locates all of the available CD-ROM drives, searches for one that contains a *.PAL file, and then sets the keys to this value. |
||
HEDZ |
Resolves an issue related to screen resolution checks that are performed by the registry. This fix adds the HKEY_LOCAL_MACHINE\Config\0001\Display\Settings virtual key, with a BitsPerPixel value of "16" and a Resolution value provided by the GetSystemMetrics API call. |
||
IBMDIRECTOR |
Resolves an issue whereby the .NET login process fails to continue, due to applications attempting to add the twgproc.dll file to the AppInit_DLLS directory. This fix protects the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs registry key. |
||
IE401 |
Resolves an issue related to version checks that are performed by the registry for Microsoft® Internet Explorer® 4.01. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer virtual key, with a Version value of "4.72.2106.9". |
||
IE55 |
Resolves an issue related to version checks that are performed by the registry for Microsoft® Internet Explorer® 5.5. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer virtual key, with a Version value of "5.50.4522.1800". |
||
IE60 |
Resolves an issue related to version checks that are performed by the registry for Microsoft® Internet Explorer® 6. This fix adds the following virtual keys:
|
||
IESETUPPATH |
Resolves an issue that occurs when an application expects to find registry keys for Internet Explorer® that have been deprecated on Windows Vista. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\IE Setup\Setup virtual key, with a Path value of " %PROGRAMFILES% \Internet Explorer". |
||
ILLUSTRATOR8 |
Resolves an issue related to applications that are accessing the Adobe registry keys, which are located in the HKEY_LOCAL_MACHINE registry, with insufficient privileges. This fix redirects HKEY_LOCAL_MACHINE\Software\Adobe to HKEY_CURRENT_USER\Software\Adobe. |
||
INDEO3 |
Adds support for the deprecated Indeo 3 codec. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Drivers32 virtual key, with a vidc.iv31 value of "ir32_32.dll" and a vidc.iv32 value of "ir32_32.dll". |
||
INDEO4 |
Adds support for the deprecated Indeo 4 codec. This fix adds the following virtual keys:
|
||
INDEO5 |
Adds support for the deprecated Indeo 5 codec. This fix adds the following virtual keys:
|
||
INDEOSOUND |
Adds support for the deprecated IndeoSound codec. This fix adds the following virtual keys:
|
||
INETCOMM |
Resolves an issue that occurs when an application expects to find Outlook Express registry keys that have been deprecated by the new operating system. This fix adds the following virtual keys:
|
||
iRCPlayer |
Resolves an issue that occurs when an application expects to find registry keys for Media Center that have been deprecated on Windows Vista. This fix adds the HKEY_LOCAL_MACHINE\System\WPA\MediaCenter virtual key, with an Installed value of "0x00000001". |
||
InstallRoot |
Resolves an issue that occurs when an application cannot locate Outlook Express through the registry. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Outlook Express virtual key, with an InstallRoot value of " %PROGRAMFILES% \Windows Mail". |
||
ITUNESREDIRECTHKCR |
Resolves a redirection issue with the iTunes registry keys. Note The command-line is limited to 1,024 characters in the application fix engine.
This fix redirects the following keys:
|
||
JOYSTICK |
Resolves an issue related to applications that depend on short names for input devices. This fix adds the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\OEM\<subkey_name> virtual key, with the OEMName value derived from the original API value, but trimmed to 31 characters plus the NULL termination to string. |
||
KRONDOR |
Resolves an issue related to the checks performed by the Audio Compression Manager (ACM) drivers, in the event that the registry keys have been moved. This fix adds the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\MediaResources\ACM\MSACM.MSADPCM virtual key, with a Driver value provided by the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Drivers32\MSACM.MSADPCM key. |
||
LOCALE |
Resolves the issue whereby a value is stored in the "(Default)" string, instead of in the "" (the true default) value. This fix adds the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\NLS\Locale registry key, with a "" value taken from the actual "(Default)" string, not the RegEdit display for the NULL value. |
||
MODEMWIZARD |
Resolves issues related to relocated registry keys. This fix redirects the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\Root key to the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum key. |
||
MSA2001 |
Resolves an issue with Aces Research, Inc's Middle School Advantage 2001 application, whereby the application queries for a "health" value that is not properly set by the application. This fix adds the HKEY_LOCAL_MACHINE\Software\Encore Software\Middle School Advantage 2001\1.0 virtual key, with the proper Health value provided by the HKEY_LOCAL_MACHINE\Software\Classes\Body5\Open\Shell\Command key. |
||
MSI |
Resolves issues related to the Office Developer 1.5 application searching for components in the wrong location. This fix redirects the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVerison\Installer\Components\359E92CC2CB71D119A12000A9CE1A22A key to one of the following keys:
-or-
or
|
||
MSOGL |
Resolves an issue that occurs if an application requires the Microsoft OpenGL Installable Client drivers. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\OpenGLDrivers\msogl virtual key, with the following values:
|
||
NETWORK_CARDS |
Adds a ProductName value to every network card description, emulating the behavior on Microsoft Windows NT® 4.0. This fix adds the following virtual keys:
|
||
NORTONANTIVIRUS |
Resolves an issue related to an application that attempts to hide the language bar, by changing the registry value. This fix protects the HKEY_CURRENT_USER\Software\Microsoft\CTF\LangBar\ShowStatus registry key. |
||
NOWROBLUE |
Resolves a redirection issue with the Nowro Blue registry keys. This fix redirects the following keys:
|
||
NT4SP5 |
Emulates the version checks that are performed by the registry for the Windows NT 4.0 with Service Pack 5 (SP5) operating system. This fix adds the following virtual keys:
|
||
NT50 |
Emulates the version checks that are performed by the registry for the Microsoft Windows® 2000 operating system. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version virtual key, with a CurrentVersion value of "5.0" and a ProductName value of "Microsoft Windows 2000". |
||
NT51 |
Emulates the version checks that are performed by the registry for the Windows® XP operating system. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version virtual key, with a CurrentVersion value of "5.1" and a ProductName value of "Microsoft Windows XP". |
||
OLEVIEWREDIRECT |
Resolves an issue that occurs when the OLE/COM Object Viewer (oleview.exe) requires a number of registry key redirections. Note The command-line is limited to 1,024 characters in the application fix engine.
This fix redirects the following keys:
|
||
PAGEKEEPPRO30 |
Resolves issues with Caere Corporation's PageKeeper Pro settings. This fix adds the following virtual keys:
|
||
PAGEMAKER65 |
Resolves an issue whereby Adobe PageMaker 6.5 is writing to the HKEY_CURRENT_USER registry hive instead of the HKEY_LOCAL_MACHINE registry hive. This fix redirects the HKEY_CURRENT_USER\Software\Adobe\PageMaker65 key to the HKEY_LOCAL_MACHINE\Software\Adobe\PageMaker65 key. |
||
PAGINGFILES |
Resolves an issue whereby an application does not support the PagingFiles registry value format. This fix adds the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Memory Management virtual key, with a PagingFiles value that is determined by using other registry queries and the NtQuerySystemInformation API. |
||
PRINCETONACT |
Resolves an issue whereby an application attempts to create a MSN registry key at the root of the HKEY_LOCAL_MACHINE registry hive. This fix redirects the HKEY_LOCAL_MACHINE\MSN key to the HKEY_LOCAL_MACHINE\Software\Microsoft\MSN key. |
||
PRINTER |
Adds a default printer key that can be delay loaded, so that the WINSPOOL initialization routine is complete before the printer key loads. This fix adds the HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\Print\Printers registry key, with a Default value provided by the GetDefaultPrinterW API call. Note This process may still fail if the application is looking for this registry key in the DLLMain location. In this situation, the exception will be caught and the API will return an ERROR_FILE_NOT_FOUND message.
|
||
PRODUCTSUITE |
Resolves an issue that occurs when an application expects to find a NULL string for the ProductOptions value. Note ProductOptions has been replaced with Remote Desktop for Windows Vista.
This fix adds the following virtual keys:
|
||
PROFILE |
Redirects the Windows registry key write actions from the HKEY_CURRENT_USER registry to the HKEY_LOCAL_MACHINE registry. This fix redirects the HKEY_CURRENT_USER\Software\Microsoft\Windows registry to the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows registry. |
||
REDIRECT |
Handles the redirection of files, folders, and keys, which have changed location through the various versions of the Windows operating system. This fix redirects the following registry keys:
|
||
REGISTEREDOWNER |
Adds a virtual key that mirrors the registered owner and organization registry key contents, which are located in a different location. This fix adds the HKEY_LOCAL_MACHINE \Software\Microsoft\Windows\CurrentVersion virtual key, with the RegisteredOrganization value provided by HKEY_LOCAL_MACHINE \Software\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization and the RegisteredOwner value provided by HKEY_LOCAL_MACHINE \Software\Microsoft\Windows NT\CurrentVersion\RegisteredOwner. |
||
SPELLITDELUXE |
Resolves an issue related to an application searching for the hard-coded file path of C:\voices32\ecn-1k8.dll. This fix updates the HKEY_LOCAL_MACHINE\Software\FirstByte\ProVoice\SpeechFonts registry key with a Path value provided by the GetSystemDirectory API call \Voices32. |
||
SRV03LIE |
Resolves an issue related to version checks that are performed by the registry for Windows Server® 2003. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion virtual key, with a ProductName value of "Microsoft Windows Server 2003", a CurrentVersion value of "5.2", a CurrentBuildNumber value of "3790", a CSDVersion value of "", and a SubVersionNumber value of "". |
||
SRV03SP1LIE |
Resolves an issue related to version checks that are performed by the registry for Windows Server 2003 with Service Pack 1 (SP1). This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion virtual key, with a ProductName value of "Microsoft Windows Server 2003", a CurrentVersion value of "5.2", a CurrentBuildNumber value of "3790", a CSDVersion value of "Service Pack 1", and a SubVersionNumber value of "". |
||
STARTREKARMADA |
Resolves an issue whereby a multi-threaded application requests the DirectDraw API to support thread safety, after the runtime process has already initialized. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Direct3D virtual key, with a DisableST value of "1". |
||
TALKINGDICTIONARY |
Resolves the issue whereby an application requires the deprecated SharedDir registry key. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup registry key, with a SharedDir value provided by the GetWindowsDirectoryW API call. |
||
ThemeActive |
Resolves an issue that occurs when an application uses the registry to attempt to determine if themes are being used, instead of calling the IsThemeActive function from the uxtheme.dll file. This fix adds the HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ThemeManager, with a ThemeActive value of "0". |
||
TRUEMOTION20 |
Adds support for the deprecated TrueMotion® codec. This fix adds the following virtual keys:
|
||
VIRTUALIZEHKCR |
Resolves an issue that occurs when the default mapping from the HKEY_CLASSES_ROOT registry hive to the HKEY_LOCAL_MACHINE registry hive fails by instead mapping to the HKEY_CURRENT_USER registry hive. This fix virtualizes all of the HKEY_CURRENT_USER registry keys, and then performs runtime checks to verify whether the HKEY_CURRENT_USER registry can be used. If it cannot be used, the fix uses the HKEY_LOCAL_MACHINE registry. Note We generally recommend using the VirtualizeHKCRLite application fix, described in the Windows Vista and Windows 7 Operating Systems topic, as it easier and faster to use.
|
||
WABDLLPath |
Resolves an issue that occurs when an application expects to find an expanded string variable for the Windows Address Book DLL. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\WAB\DLLPath virtual key, with a value provided by the ExpandEnvironmentStringsW(L"%COMMONPROGRAMFILES%\system\wab32.dll") function. |
||
WEBSPHERESETUP |
Resolves an issue related to version checks that are performed by the registry for the Web Server. This fix adds the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters virtual key, with a MajorVersion value of "0x5". Note This fix is equivalent to the FILENETWEBSERVER fix.
|
||
WIN2KSP2LIE |
Resolves an issue related to version checks that are performed by the registry for Windows 2000 with Service Pack 2 (SP2). This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion virtual key, with a ProductName value of "Microsoft Windows 2000", a CurrentVersion value of "5.0", a CurrentBuildNumber value of "2165", a CSDVersion value of "Service Pack 2", and a SubVersionNumber value of "". |
||
WIN2KSP3LIE |
Resolves an issue related to version checks that are performed by the registry for Windows 2000 with Service Pack 3 (SP3). This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion virtual key, with a ProductName value of "Microsoft Windows 2000", a CurrentVersion value of "5.0", a CurrentBuildNumber value of "2165", a CSDVersion value of "Service Pack 3", and a SubVersionNumber value of "". |
||
WIN98SE |
Returns the Microsoft Windows® 98 SE version number for applications that require this version of the operating system. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion registry key, with a VersionNumber value of 4.10.2222. |
||
WIN9X |
Resolves an issue that occurs when multiple VirtualRegistry command-line options are required to simulate Windows 9x. This fix applies the following command-line options as a group:
|
||
WINHELPPATH |
Resolves an issue that occurs when an application expects to find the expanded file path value to HTML Help. This fix adds the HKEY_CLASSES_ROOT\chm.file\shell\open\command virtual key, with a "" value that represents the original API and the ExpandEnvironmentStringsW API expanded value. |
||
WINNT |
Resolves an issue that occurs when multiple VirtualRegistry command-line options are required to simulate Microsoft Windows NT®. This fix applies the following command-line options as a group.
|
||
WinNTCurrentVersion |
Resolves an issue related to version checks that are performed by the registry for Windows XP with Service Pack 2 (SP2). This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion virtual key, with a CurrentVersion value of "5.1". Note This fix performs the same action as the NT51 application fix.
|
||
WINXP |
Resolves an issue that occurs when multiple VirtualRegistry command-line options are required to simulate Windows XP. This fix applies the following command-line options as a group.
|
||
WORDPAD |
Resolves issues related to applications that are looking for the WordPad application, but cannot to properly handle the spaces in the file path. This fix adds the following registry keys:
|
||
WORDPERFECT2002 |
Resolves an issue due to applications attempting to delete the ODBC key. This fix protects the HKEY_LOCAL_MACHINE\Software\ODBC registry key. |
||
X86ARCHLIE |
Resolves an issue related to x86 architecture checks that are performed by an application. This fix adds the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment virtual key, with a PROCESSOR_ARCHITECTURE value of "x86", a PROCESSOR_IDENTIFIER value of "x86 Family 15 Model 1 Stepping 2, GenuineIntel". |
||
XPLIE |
Resolves an issue related to version checks that are performed by the registry for Windows XP. This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion virtual key, with a ProductName value of "Microsoft Windows XP", a CurrentVersion value of "5.1", a CurrentBuildNumber value of "2600", a CSDVersion value of "", and a SubVersionNumber value of "". |
||
XPSP1LIE |
Resolves an issue related to version checks that are performed by the registry for Windows XP with Service Pack 1 (SP1). This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion virtual key, with a ProductName value of "Microsoft Windows XP", a CurrentVersion value of "5.1", a CurrentBuildNumber value of "2600", a CSDVersion value of "Service Pack 1", and a SubVersionNumber value of "". |
||
XPSP2LIE |
Resolves an issue related to version checks that are performed by the registry for Windows XP with Service Pack 2 (SP2). This fix adds the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion virtual key, with a ProductName value of "Microsoft Windows XP", a CurrentVersion value of "5.1", a CurrentBuildNumber value of "2600", a CSDVersion value of "Service Pack 2", and a SubVersionNumber value of "". |
Included Modules
The following modules are included by the VirtualRegistry compatibility fix.
shiwapi.dll
msvfw32.dll
devenum.dll
opengl32.dll
Fixing Your Code
We recommend the following modifications to fix your application's registry-related issues:
Modify your application so that it does not access undocumented portions of the registry to look for features and versions. Undocumented areas, which include the registry, will often be modified by newer versions of the Windows operating system.
Modify your application so that it performs its version checks by using the GREATER THAN or EQUAL TO operators, instead of an equality comparison.
Modify your application so that it gracefully handles the situations whereby a key is not found or access is denied.
Important
Since the VirtualRegistry fix works by simulating registry key values, you can modify the registry itself; however, this is not a recommended strategy. By changing the value of the registry for all applications, you might find that you have broken more applications than you have fixed.