如何将文件复制到C:\ Program Files(x86)\

问题描述 投票:-1回答:1

我可以将文件复制到C:\Program Files (x86)\... ...但只能使用管理员帐户。

这个文件是像App.Config这样的配置文件,但名称不同,我想把它放到应用程序路径的子文件夹中。

场景如下。

  1. 将初始配置文件放在\ Cfg \ org.cfg中
  2. 启动应用程序myApp.exe时,检查应用程序路径中是否存在配置文件。
  3. 如果它不存在,请将org.cfg复制到myApp.exe.config并加载它。

我尝试过DirectoryInfo.SetAccessControl(),但也会发生以下错误。

“试图执行未经授权的操作”

c#
1个回答
2
投票

Program Files (x86)需要行政许可才能写信。更改权限也是如此,这就是SetAccessControl失败的原因。真的没办法解决这个问题。如果要使应用程序可以写入配置文件,那么在具有管理访问权限时,可以考虑在安装程序期间更改配置文件的权限。

但是我建议将配置文件放在用户配置文件中的某个位置,默认情况下可以为所有用户写入,例如%LOCALAPPDATA%

您也可以从任意位置加载配置文件,它不必位于可执行文件旁边的.config文件中。举个例子,看看this question

© www.soinside.com 2019 - 2024. All rights reserved.