Вместо этого поместите этот файл в папку AppData?
Это может помочь узнать точное выбрасываемое исключение.UnauthorizedAccessException генерируется, когда файл, доступный только для чтения, открывается для записи, а SecurityException генерируется, если код выполняется в домене приложения, у которого нет разрешений на открытие этого файла в указанном режиме.Таким образом, первое произойдет только в том случае, если вы действительно пытаетесь записать файл только для чтения, а второе может произойти, если пользователь или код даже не могут его прочитать.
Кроме того, просто выстрел вdark, попробуйте указать значение FileShare для Read, которое позволит другим потокам / процессам также читать файл.По умолчанию установлено значение «Нет», что блокирует любой другой доступ к файлу и может вызвать проблему, если Windows считает, что полная блокировка как-то приравнивается к доступу на запись.