Access Denied Error Starting Program When Directory Named Program Exists

ID: Q179147


The information in this article applies to:
  • Microsoft Windows NT Workstation version 4.0
  • Microsoft Windows NT Server version 4.0
  • Microsoft Windows NT Server, Enterprise Edition version 4.0
  • Microsoft Windows NT Server version 4.0, Terminal Server Edition


SYMPTOMS

When you attempt to start a program from the desktop, the Start menu, a shortcut, or from a file association, you may receive one of the following error messages:

Access to the specified device, path or file is denied.
-or-
Access to the driver, specified path, or file is denied.
NOTE: This problem only affects programs whose executable files are located in folders within the Program Files folder.


CAUSE

These error messages can occur if any of the following conditions exists:

  • You have a Program folder on the same drive as the Program Files folder.


  • You are trying to run a program that does not write quoted path strings containing long file names into the registry. The execution of a process is handled by the Win32 CreateProcess() API. CreateProcess() is unable to distinguish between spaces in long file names, and spaces delimiting arguments to the function. If a quoted string is passed to the API, CreateProcess() is able to make this distinction and starts the program as expected.


  • In Windows Explorer, the view option is set to hide DLLs. This is the default setting and should be changed to "Show all Files" if you recieve this error message when running a 16-bit program.



RESOLUTION

To resolve this problem, use the appropriate method below:

Program Does Not Quote Long File Name Paths in the Registry

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, please see the following article in the Microsoft Knowledge Base:
Q152734 How to Obtain the Latest Windows NT 4.0 Service Pack

A Program Folder Exists on the Same Drive as the Program Files Folder

Rename the Program folder to a name other than Program. To do so, right- click the Program folder in Windows NT Explorer, click Rename, type a new name for the folder, and then press ENTER.


STATUS

Microsoft has confirmed this to be 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.


MORE INFORMATION

This behavior has been known to occur with the Inbox and Internet Explorer icon, and with shortcuts pointing to Microsoft Access databases. In addition, if you have a file on the root folder named C:\Program, the above problems may occur.

For information about additional symptoms that may occur, please see the following articles in the Microsoft Knowledge Base:

ARTICLE-ID: Q165763
TITLE : Windows NT Does Not Recognize a Space in a Registry Value

ARTICLE-ID: Q149533
TITLE : OLE Problems When Running 16-bit Applications on Windows NT

ARTICLE-ID: Q170669
TITLE : Creating C:\Program Folder Causes Add/Remove Program to Fail

ARTICLE-ID: Q175653
TITLE : Err Msg: At Least One Service or Driver Failed...

Additional query words: ole shell open command run context menu office 4.00

Keywords : NT4SP4Fix kbbug4.00 kbfix4.00.sp4 NTSrvWkst
Version : winnt:4.0
Platform : winnt
Issue type : kbbug


Last Reviewed: September 30, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.