Event ID 7000 and "%1 Is Not a Valid Win32 Application" Error Message When You Start a Service (812486)



The information in this article applies to:

  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional

SYMPTOMS

One or more of the services that are installed on your computer do not start, and one of the following issues occurs:
  • You receive the following error message:
    Error 193: %1 is not a valid Win32 application.
    -and-
  • The following event is logged in the System event log for each service that does not start:Event ID: 7000
    Source: Service Control Manager
    Type: Error
    Description:
    The ServiceName service failed to start due to the following error: %1 is not a valid Win32 application.

CAUSE

This issue may occur if the path of the executable file for the service contains spaces.

When Windows starts a service, it parses the path of the service from left to right. If both of the following conditions are true:
  • The path of a service's executable file contains spaces.
  • There is a file or folder on your computer's hard disk that has the same name as a file or folder in the path to the service's executable file.
Windows may locate and try to run the file or folder before it locates and runs the executable file for the service.

For example, if the path of the executable file for a service is C:\Program Files\MyProgram\MyService.exe, and if a folder that is named C:\Program also exists on your hard disk, Windows locates the C:\Program folder on your hard disk before the C:\Program Files\MyProgram\My Service.exe file, and then tries to run it.

RESOLUTION

WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk. To resolve this issue, add quotation marks around the following value in the Windows registry, where <ServiceName> is the name of the service:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<ServiceName>\ImagePath

The ImagePath value contains the path of the executable file for the service. To add quotation marks around the ImagePath value for a service:

  1. Click Start, and then click Run.
  2. In the Open box, type regedit, and then click OK.
  3. Locate, and then click the following registry entry, where <ServiceName> is the name of the service:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<ServiceName>.

    For example, if the service is named MyService, locate the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService key.
  4. In the right pane, double-click ImagePath.
  5. In the Value data box, add quotation marks around the complete path of the executable file for the service.

    For example, if the path of the MyService service is C:\Program Files\MyProgram\MyService.exe, change the entry in the Value data box for the MyService service to the following

    "C:\Program Files\MyProgram\MyService.exe"

  6. Click OK, and then quit Registry Editor.

Modification Type:MajorLast Reviewed:6/6/2003
Keywords:kbprb KB812486