Папка Program Files и ее содержимое доступны только для чтения обычным пользователям. Это сделано специально, и вы обнаружите, что это относится и к Windows XP. Это просто в Windows XP, так что многие люди работают с правами администратора все время, что вам может сойти с рук Это. Если вы когда-нибудь захотите распространить свое приложение в бизнес-среде, вы скоро обнаружите, что оно не будет работать там и на XP.
Решение - НЕ помещать файлы в исполняемую папку программы, если обычным пользователям понадобится доступ для записи. Поместите их в папку Application Data. Для большинства машин XP это будет здесь:
C: \ Documents And Settings \ Все пользователи \ Данные приложения \ Ваше приложение
Однако это не всегда так, и в Vista все равно немного иначе, поэтому убедитесь, что вы получаете этот путь через механизм, предоставляемый вашей средой программирования. В .Net вы можете использовать функцию Environment.GetFolderPath()
.