community.borland.com

Article #25842: Error 0193: %1 is not a valid NT application

Problem:
When starting the IB guardian as a service on NT or after restarting the server, the service does not start and gets error message:

"Error 0193: %1 is not a valid NT application"

One of the following system events appears in Event Viewer:

Event ID 7000: The InterBase Guardian service failed to start due to the following error: %1 is not a valid Windows NT application.

Event ID 7000: The InterBase Server service failed to start due to the following error: %1 is not a valid Windows NT application.

Event ID 7000: The InterBase Guardian service failed to start due to the following error: The system cannot find the path specified.

Solution:
The information in this article applies to:
* InterBase v5.x on Windows NT

This problem occurs if the InterBase guardian (ibguard.exe) or InterBase server (ibserver.exe) executables are corrupted or missing.

-or-

The problem can also occur if the folder location of the executable contains spaces in the directory name (long filename). An example would be when the executable is located in the folder.

To correct this problem if the file is missing service component file. For example, if the in Event ID 7000 is "InterBase Guardian", copy ibguard.exe from the InterBase CD-ROM to the folder.

To correct this problem if the file is located in a folder with a long file name, modify the registry key containing the executable path to be enclosed in quotation marks or change the executable to use the standard 8.3 (tilde ~) path notation.

For example:

1. Run Registry Editor (Regedt32.exe), and then navigate to the following key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InterBaseGuardian

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InterBaseRemoteService

2. Double click the ImagePath value, and then change the Value Data of ImagePath by adding quotation marks around the complete path, including the executable name.

String: "C:\Program Files\InterBase Corp\InterBase\bin\ibguard.exe" -s

String: "C:\Program Files\InterBase Corp\InterBase\bin\ibserver.exe" -s -g

3. Another possible solution is to use short file names instead of quotes for the above solution. This would mean the imagepath would be:

C:\Progra~1\InterB~1\InterB~1\bin\ibserver.exe -s -g

and

C:\Progra~1\InterB~1\InterB~1\bin\ibguard.exe -s

Last Modified: 23-JAN-01