Installation Failure Issues

Applies To: Windows 7, Windows Vista

There are several known installation failure issues addressed by the Compatibility Administrator through compatibility fixes and compatibility modes.

Fix Name Symptom Fix Description

CorrectOpenFileExclusive

You receive a "ComponentMoveData" error message when you attempt to install an application.

Forces the OpenFile function to fail if the file is already open, emulating the behavior of Windows 95 and Windows 98.

EmulateGetProfileString

The Destination Directory dialog box appears unreadable when performing a default installation.

Causes the Windows XP Professional version of the GetPrivateProfileString function to remove the white space and comments from the end of a returned string.

CorrectVerInstallFile

You receive an error message stating "The application or DLL  %SYSTEMDRIVE% :\ %WINDIR% \system32\ole2.dll is not a valid Windows image" when you attempt to install an application.

Corrects a problem that occurs in Windows XP Professional when calling the VerInstallFile function, due to a destination file existing in a destination directory with an 8.3 file name rather than a long file name.

This compatibility fix searches the destination directory for either the long file name or the 8.3 file name to determine whether to overwrite the destination file.

EmulateCreateProcess

The application Autorun fails during installation.

Modifies the CreateProcess function to ensure that all parameters have acceptable values for the Windows XP Professional version of the function.

IgnoreOemToChar

The application installation fails, using InstallShield 5.0 if East Asian characters appear in the name.

Modifies the OemToCharA function to ignore certain strings that are already in the American National Standards Institute (ANSI) format.

KeepWindowOnMonitor

The application becomes unresponsive during Setup due to an error message occupying the space beyond the visible desktop.

Forces all windows to appear centered on the correct monitor. This compatibility fix can also prevent windows from being moved off the screen.

RedirectEXE

The application installation fails or the application fails to register services.

After creating a new process, this compatibility fix adds the process to the PATH environment variable, launches a new instance of the process with the updated environment, and terminates the current process.

EmulateLZHandles

The application installation fails.

Modifies the LZOpenFile function to ensure that the returned handle value is not zero. This compatibility fix also modifies the LZClose, LZCopy, LZInit, LZRead, and LZSeek functions to use the modified handle.

SingleProcAffinity

The application installation fails during installation or initial startup on dual processor computers.

After creating a new process, this compatibility fix automatically sets the process affinity mask to a single processor.

HandleDBCS User Name

The application installation cannot locate a file path if a double-byte character set (DBCS) user name is used.

Places the application file path in double quotation marks for GetCommandLineA. You may still experience issues even after applying this fix due to an applications inability to process high ASCII characters.

HandleDBCS User Name2

The application installation cannot find a file path when a DBCS user name is used.

Disables the DBCS feature of the CharNextA function if the string is a DBCS user profile. Some old non-DBCS applications handle characters by byte instead of by character, breaking the DBCS character at the second byte.

FileVersionInfoLie

You receive an access violation error message when installing an application.

Modifies the GetFileVersionInfo and GetFileVersionInfoSize functions so that they return different version information for DirectX version 6.1 components.

This only applies to applications designed to use earlier versions of DirectX.

LimitFindFile

You receive an access violation error message when the application installation searches for any previously installed versions.

Modifies the FindFile function to limit the depth, the number of subdirectories, the fully qualified file path, and the number of files returned by the function. Optionally, this compatibility fix can limit relative file paths and return short file names.

RemoveBroadcastPostMessage

You receive an access violation error message when installing or starting an application.

Intercepts and removes any broadcast messages to the application window process.

IgnoreFreeLibrary

You receive an access violation error message when installing an application.

Ignores calls to the FreeLibrary function when releasing certain DLL files, such as User32.dll and Gdi32.dll. Some applications free DLL files that are still in use and then attempt to make a call to a function exported by the DLL, which results in an access violation.

HideDisplayModes

You receive an access violation error message when attempting to install an application from an Autorun file.

Reduces the number of display modes reported by Windows XP Professional and stores that information in a fixed-length buffer, emulating Windows 95 and Windows 98.

FailOpenFile

You receive an error message stating "Cannot open files" when installing an application.

Causes the OpenFile function to fail for specified files. You must supply the blocked file names in the Command Prompt window.

DuplicateHandleFix

You receive an access violation error message after running an application's setup program.

Modifies the DuplicateHandle function so that it does not set the lpTargetHandle parameter to NULL if the function fails.

DeRandomizeExeName

You receive an error message stating "Setup32: This product does not support Windows NT" when starting an application.

Ensures that a randomly named executable program that performs the application setup is specifically named. You must use a command prompt, formatting your parameters so that the specific name follows the source name, using a semicolon separator. For example:

*.EXE;RANDOMSETUP.EXE.

DisableW2KOwnerDrawButtonStates

You receive an error message stating "Unknown button state" when using an application.

Removes the owner-draw button states, sent to an application during WM_DRAWITEM. This only applies to applications written for versions of Windows prior to Windows 2000.

EmulateGetProfileString

You receive a message, stating that a specific DLL is required for installation.

Causes the Windows XP Professional version of the GetPrivateProfileString function to remove white space and comments from the end of the returned string.

ForceAdminAccess

You receive an error message, stating "Must be an administrator to install" when attempting to install an application.

Modifies the CheckTokenInformation function so that it always returns a value of TRUE in the IsMember parameter, even if the function is successful.

ForceWorkingDirectoryToEXEPath

After an application's setup program finishes, the Configuration menu appears blank, and InstallShield fails.

Modifies the system-implemented IShellLink::SetWorkingDirectory and IShellLink::SetPath functions to set the working directory of the shortcut to the executable file path.

HeapLookasideFree

The application does not start without registration.

Addresses potential problems with freeing heap memory by delaying the freeing of the memory. Also checks to ensure that all heap memory free calls are made on the correct heap.

EnableRestarts

Your computer fails to restart after confirming the application's restart request.

Enables an application to call the ExitWindowsEx function using the correct administrative credentials to restart the computer.

HandleRegExpandSzRegistryKeys

You cannot open the Readme.txt file.

Modifies the RegQueryValueEx function of the REG_EXPAND_SZ registry keys so that it automatically expands the environment strings.

See Also

Concepts

Known Compatibility Fixes, Compatibility Modes, and AppHelp Messages
Internet Explorer Compatibility Test Tool