【发布时间】:2014-05-15 18:55:44
【问题描述】:
我用 c# 开发了一个 win 应用程序,它在 c:\ 驱动器的文件夹中生成文件。当尝试生成文件时,会出现权限问题,但是当应用程序在 C:\ 以外的其他驱动器中生成文件时,则不会出现问题。因此,当我将我的应用程序设置分发给最终用户时,我将不确定将安装我的应用程序的用户是否有权在 C:\ 驱动器中生成文件。
所以请指导我如何克服这个问题。 我应该在 win OS 中使用 Manifests 来提升应用程序吗?
我有一些文章
http://blogs.msdn.com/b/nikhiln/archive/2007/04/19/embed-a-manifest-to-make-an-application-elevate-in-vista.aspx
http://www.codeproject.com/Articles/105506/Getting-Elevated-Privileges-on-Demand-using-C
http://archive.msdn.microsoft.com/KB981778
等等......请用正确的知识指导我。谢谢
【问题讨论】:
-
除非绝对必要,否则您不想提升权限。 Windows 不允许任何程序直接写入 C: 驱动器是有原因的。相反,请使用为此目的指定的文件夹 C:\ProgramData。
-
没有名为 programdata 的文件夹,而是名为 program files 的文件夹。
-
如果您使用的是 Windows XP,那么它将改为 C:\Documents and Settings\All Users\Application Data。在 Windows 7/8 中,它是 C:\ProgramData。
标签: c# permissions elevated-privileges