我可以将文件复制到C:\Program Files (x86)\...
...,但只能使用管理员帐户。
此文件是App.Config
之类的配置文件,但是名称不同,我想将其放入应用程序路径的子文件夹中。
情况如下。
将初始配置文件放入\ Cfg \ org.cfg
启动应用程序myApp.exe时,请检查应用程序路径中是否存在配置文件。
如果不存在,请将org.cfg复制到myApp.exe.config并加载它。
我尝试使用DirectoryInfo.SetAccessControl(),但也会发生以下错误。
“尝试执行未经授权的操作”
答案 0 :(得分:2)
Program Files (x86)
需要写入的管理权限。更改权限也是如此,这就是SetAccessControl
失败的原因。真的没有办法解决。如果您希望配置文件可被应用程序写入,那么当您具有管理访问权限时,可以考虑在程序安装期间更改配置文件的权限。
但是,我建议您将配置文件放置在用户个人资料的某个位置,默认情况下,所有用户均可写入该文件,例如%LOCALAPPDATA%
。
您也可以从任意位置加载配置文件,它不必位于可执行文件旁边的.config
文件中。有关示例,请查看this question。