写入C#中的只读文件

时间:2012-05-22 09:03:01

标签: ms-word c#-2.0 file-permissions

我有Word加载项,它不断更新“C:\ program files \ microsoft office \”中出现的“winword.exe.config.xml”文件。

我需要对此文件进行更改,在运行MS word时更新几个参数。

当用户是“管理员”时,更改会在文件中成功更新,没有任何问题。

如果是非管理员帐户(他们没有文件权限),则不会反映更改,因为写入权限不存在。

我是否可以通过非管理员帐户的C#代码成功写入这些文件,而无需要求用户更改文件的权限。

1 个答案:

答案 0 :(得分:0)

如果您控制加载项,则只需为配置文件选择其他位置即可。标准用户具有写入权限的位置。

如果您无法控制加载项,那么您有两个可行的选项:

  1. 始终以管理员身份运行Word。
  2. 在配置文件中添加ACL,以授予标准用户写入权限。
  3. 你问:

      

    我是否可以通过非管理员帐户的C#代码成功写入这些文件,而无需要求用户更改文件的权限。

    不,没有。想象一下,如果有办法做到这一点。这将完全否定文件系统安全性的实用性。