我可以将文件复制到C:\Program Files (x86)\...
...但只能使用管理员帐户。
这个文件是像App.Config
这样的配置文件,但名称不同,我想把它放到应用程序路径的子文件夹中。
场景如下。
我尝试过DirectoryInfo.SetAccessControl(),但也会发生以下错误。
“试图执行未经授权的操作”
Program Files (x86)
需要行政许可才能写信。更改权限也是如此,这就是SetAccessControl
失败的原因。真的没办法解决这个问题。如果要使应用程序可以写入配置文件,那么在具有管理访问权限时,可以考虑在安装程序期间更改配置文件的权限。
但是我建议将配置文件放在用户配置文件中的某个位置,默认情况下可以为所有用户写入,例如%LOCALAPPDATA%
。
您也可以从任意位置加载配置文件,它不必位于可执行文件旁边的.config
文件中。举个例子,看看this question。