Программы, как правило, не должны путаться с вещами в папке Program Files, но если вам нужно это сделать, вам необходимо убедиться, что разрешения для папки установки вашей программы установлены как часть процесса установки.
Теперь, когда я ругал вас за попытку сделать это, я приведу пример из установщика WiX для программы, которую я поддерживаю, которая выполняет такую же непослушную запись в файл журнала:
<Directory Id="DirectoryLogs" Name="Logs">
<Component Id="ComponentCreateFolderLogs" Guid="SOME-GUID">
<CreateFolder>
<Permission
GenericAll="yes"
User="Authenticated Users" />
</CreateFolder>
<RemoveFile
Id="RemoveFileLogsAll"
Name="*.*"
On="uninstall" />
</Component>
</Directory>
Таким образом, установщик создаст папку Logs
, предоставит все разрешения Authenticated Users
NTFS для разрушения этого каталога и сместит все файлы журналов, которые были созданы после первоначальной установки, в рамках процесса удаления, чтобы оставить чистую удалить.
Отличный дизайн? Нет - требования к логотипу Windows приводят в замешательство по этому поводу - но это часто случается, особенно во внутренней среде, поэтому вы так и делаете.
Удачи!