2012-05-22 64 views
0

唯一文件,我有Word插件,它不断更新 “winword.exe.config.xml” 文件存在于“C:\ Program Files文件\的Microsoft Office \写作阅读从C#

我需要更改写入该文件,在运行MS字更新几个参数

当用户是“管理员”,这些变化都在文件中成功更新没有任何问题

在非时 - 管理员账户(他们没有文件权限),但是这些更改没有反映出来,因为写入权限不存在。

有没有什么办法可以写成这些文件成功从非管理员帐户的C#代码也没有要求用户更改文件的权限。

+0

非管理员帐户的想法是不允许修改受保护的文件而不要求权限? –

回答

0

如果你在控制加载项,那么你只需要为配置文件选择一个不同的位置。标准用户拥有写入权限的位置。

如果你是不是在外接的控制,那么有两种可行的方案:

  1. 始终运行Word作为管理员。
  2. 将ACL添加到配置文件以授予对标准用户的写入访问权限。

你问:

有什么办法,我可以写从非管理员帐户也C#代码,成功地将这些文件,而不要求用户更改文件的权限。

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

+0

我试过将配置文件写入其他位置的用户有权限的选项,但是当MS Word加载时,它总是从默认目录加载配置文件,我的更改无用。事情对.Net 1.1来说是完美的,但.Net 2.0有这个问题。 –

+0

好吧,我不知道你是如何加载配置文件。但是,您需要将它保存并加载到Program Files以外的某个位置。 –

+0

接受:)谢谢 –