【问题标题】:copying file to a directory(c: or c:program files) that i dont have permission [duplicate]将文件复制到我没有权限的目录(c:或c:程序文件)[重复]
【发布时间】:2011-08-26 00:16:55
【问题描述】:

可能重复:
Allow access permission to write in Program Files of Windows 7

好的,这是我的代码:

System.IO.File.WriteAllBytes(path1, path2);

但是,有一个问题。 用户(Windows 7 用户无权将文件复制到 c:默认情况下)(...我的意思是程序...) 因此,程序失败。 如果用户授予在 c 中复制文件的权限:程序工作正常。但是你不能告诉每个用户“去权限............”所以我怎样才能让用户允许我将我的文件复制到 c://

【问题讨论】:

  • WriteAllBytes 不采用两条路径。
  • 在没有权限的情况下不能写入目录是一种权限,不是吗?如果任何程序都可以绕过这一点,那么整个概念将毫无用处......
  • 米格尔,是的。我用它来复制文件。路径 1 是我要复制的路径,2 是我的文件所在的路径

标签: c# visual-studio permissions path file-permissions


【解决方案1】:

您可以通过选择Add New Item 在您的项目中添加Application Manifest File。将requestedExecutionLevel 更新为

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

这样会询问用户应用程序需要在管理模式下运行。希望对您有所帮助。

【讨论】:

  • 非常感谢。这就像魅力!但是,我有一个问题。 uiAccess 是做什么的?当我将其设置为 true 以查看差异时...程序失败。不是因为我没有权限,而是因为它设置为 true。为什么 ? uiaccess 是做什么的?
【解决方案2】:

您的应用程序不应写入C drive。只有具有权限的用户或管理员才能授权应用程序执行此操作。相反,请尝试写入不受严格安全限制的文件夹。你可以看到一些them here。

【讨论】:

  • Windows ???严重地 ?写入 c:不允许,但我可以更改 windows 文件?
  • 作为用户授予您的权限不一定与授予应用程序的权限相同。想象一下,您让随机应用程序在您的计算机上疯狂运行并开始删除所有系统文件。不会很有趣。有安全措施来确保这些事情不会发生,或者确保用户知道他们正在授予应用程序一定级别的访问权限。
【解决方案3】:

你不能。您必须授予用户权限。

【讨论】:

  • 那么安装程序是如何工作的呢?如果不可能,则没有安装程序。
  • 应用程序权限是根据当前使用用户的权限来的。您不能在没有权限的情况下超越文件系统中的权限。这将完全消除首先获得权限的目的。获得未授予您的权限没有任何技巧。
  • 我要问的是如何让该用户授予我权限。
  • 您还是您的安装人员?如果您希望用户授予您权限,请询问。如果您希望安装程序具有正确的权限,则需要由具有应用于其帐户的权限的用户运行。
猜你喜欢
  • 2010-11-26
  • 2015-05-02
  • 2010-09-30
  • 2015-07-30
  • 2018-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-23
相关资源
最近更新 更多