如何在C#中获得对Windows目录的完全访问权限

时间:2014-05-21 06:36:05

标签: c#

我正在开发一个在用户windows字体目录中安装某些字体的应用程序。但问题是当软件试图安装字体时,Windows拒绝其访问,我的软件显示错误,如“访问路径c:\ windows \ fonts \ segoeuisl.ttf被拒绝”给用户。

我在stackoverflow和其他网站上尝试了很多方法,但我的问题仍然存在,我不明白为什么它不起作用。

所以我在这里问你如何解决这个问题。

我在等待任何建议。

编辑1:

我还使用File.Copy方法安装字体。

编辑2:

我不想让用户以管理员身份运行我的软件,因为在此之后,用户无法拖动&删除任何文件。

我想直接从我的软件访问。现在我想问你如何使用我自己的软件访问被拒绝的目录而不使用管理员权限?!!!感谢

1 个答案:

答案 0 :(得分:0)

看起来您正在尝试模拟安装程序。为什么不实际使用?

您可以查看InstallShield。这是一个实用程序,允许您创建可用于部署字体的安装程序。

另一种选择是让用户以管理员身份运行程序。将以下行添加到Manifest文件中。

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

每次程序执行时都会提示用户,并要求管理员授权。

不建议使用第二个选项,并且很可能会导致您的用户因允许以管理员身份运行的常量弹出窗口而烦恼。

然后,为什么你想要一个真正的安装程序来模拟安装程序?