ID: Q127860
The information in this article applies to:
- Microsoft Windows NT version 3.5
When you spawn a 16-bit Windows-based application using CreateProcess() where neither lpApplicationName and lpCommandLine are NULL, WOW gives a popup saying:
Cannot find file (or one of its components). Check to ensure the path
and filename are correct and that all required libraries are available.
NTVDM expects the first token in the command line (lpCommandLine) to be the program name, although the Win32 subsystem does not. The current design will not be changed.
Make lpApplicationName NULL and put the full command line in lpCommandLine.
This behavior is by design.
The documentation for CreateProcess() states:
If the process to be created is an MS-DOS-based or Windows-based
application, lpCommandLine should be a full command line in which
the first element is the application name.
In this case (lpApplicationName is not NULL), lpCommandLine not only
should be a full command line, but it must be a full command line.
If the 16-bit application resides on a UNC share and you are not willing to pass NULL for lpApplicationName, you must specify a fully-qualified path for lpApplicationName. An attempt to use a relative path for lpApplicationName still fails with the error listed at the beginning of this article.
Additional query words:
Keywords : kbSDKPlatform kbSDKWin32
Issue type : kbprb
Last Reviewed: October 13, 1998