How To: Fix Error 'The application failed to initialize properly (0x0000022)'

Applies to: Microsoft Windows NT, 2000, XP

Symptoms

A user under Windows NT, Windows 2000 or Windows XP is trying to start an application, and instead receives the error message: The application failed to initialize properly (0x0000022). Click OK to terminate.

Cause

This error message means that the user concerned doesn't have read access to some system file required by the application. This sometimes occurs with Visual Basic applications where the appropriate permissions aren't set to allow read access to the Visual Basic runtime DLL. But it can occur if read access is not permitted for any DLL, OCX or other component used by the application. It usually only occurs if the software components have been manually copied to the application folder or Windows System folder instead of being installed using the Setup program provided by the application developer.

Solution

Log in to the system using a username that has administrator rights. Open a command prompt, then type the command:

CACLS <full-path-to-file> /E /G BUILTIN\Users:R

where <full-path-to-file> is the full pathname of the runtime file or other component to which the application requires access.

If you don't know the identity of the file that is causing the problem, you could try giving all users read access to all DLL and OCX files in the application folder and the Windows System folder:

CACLS %systemroot%\System32\*.dll /E /G BUILTIN\Users:R
CACLS %systemroot%\System32\*.ocx /E /G BUILTIN\Users:R

There is really no reason why any user should not have read access to any shared system files.