BUG: WritePrivateProfileString Requires Delete Access on INI (175033)



The information in this article applies to:

  • Microsoft Win32 Application Programming Interface (API), when used with:
    • the operating system: Microsoft Windows NT 4.0

This article was previously published under Q175033

SYMPTOMS

WritePrivateProfileString() fails to update the target INI file when the user's permissions on the file do not include "Delete" access. GetLastError() returns ACCESS_DENIED.

CAUSE

WritePrivateProfileString() invariably requests "Delete" access when attempting to open the INI file.

RESOLUTION

There are no workarounds short of taking direct control of the file I/O.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.

MORE INFORMATION

Steps to Reproduce Behavior

  1. Set access for the subdirectory containing the .INI file to (RWX)(RW).
  2. Make certain that access on the .INI file is set to (RW). NOTE: You will not be able to delete the file.
  3. Attempts to write to the .INI file with WriteProfileString() will fail.
  4. Set access to the .INI file to (RWD).
  5. WritePrivateProfileString() succeeds.

Modification Type:MajorLast Reviewed:11/5/2003
Keywords:kbBug kbSysSettings KB175033