Registrations are now open. Join us today!
There is still a lot of work to do on the wiki yet! More information about editing can be found here.
Already have an account?

Microsoft KB Archive/172982

From BetaArchive Wiki
Knowledge Base


16-bit ShellExecute Fails if Application Exists in Long Path

Article ID: 172982

Article Last Modified on 11/1/2006



APPLIES TO

  • Microsoft Windows NT Server 4.0, Terminal Server Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 4.0 Standard Edition



This article was previously published under Q172982

SYMPTOMS

You may get a get an error code 2 (ERROR_FILE_NOT_FOUND) from ShellExecute if the associated executable file exists in a directory path containing a long file name.

CAUSE

The 16-bit WinExec is unable to handle unquoted long file names properly. It will incorrectly detect spaces as argument separators. For example, if you run ShellExecute on readme.txt, from 16-bit Visual Basic, it will try to locate the associated notepad.exe. If it exists in a directory with spaces or the file with which you run ShellExecute has spaces, ShellExecute will fail with the Error 2.

RESOLUTION

To resolve this problem, obtain the latest service pack for Windows NT 4.0 or Windows NT Server 4.0, Terminal Server Edition. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

152734 How to Obtain the Latest Windows NT 4.0 Service Pack




STATUS

Microsoft has confirmed that this is a problem in Windows NT 4.0 and Windows NT Server 4.0, Terminal Server Edition. This problem was first corrected in Windows NT 4.0 Service Pack 4.0 and Windows NT Server 4.0, Terminal Server Edition Service Pack 4.


Keywords: kbbug kberrmsg kbfix KB172982