Knowledge Base

BUG: WritePrivateProfileString Requires Delete Access on INI

Article ID: 175033

Article Last Modified on 11/21/2006


APPLIES TO


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.

Keywords: kbbug kbsyssettings KB175033