首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >需要使用c#删除程序文件中的文件,文件不会删除

需要使用c#删除程序文件中的文件,文件不会删除
EN

Stack Overflow用户
提问于 2012-04-25 02:32:02
回答 3查看 7K关注 0票数 0

为什么测试文件夹中的文件不会删除??如何获得管理员访问权限??

代码语言:javascript
运行
复制
namespace Delete
{
    using System;
    using System.Windows.Forms;
    using System.IO;

    public class Delete
    {
        public Delete()
        {
            if (Directory.Exists(@"C:\Program Files (x86)\test\"))
            {
                string[] filePaths = Directory.GetFiles(@"C:\Program Files (x86)\test\");
                foreach (string file in filePaths) { File.Delete(file); }
            }
        }
    }
}
EN

回答 3

Stack Overflow用户

发布于 2012-04-25 03:00:28

你需要重新考虑你的策略。

如果你在你的应用程序中以编程方式添加/删除文件,它们应该存储在一个单独的位置(这将不需要管理员权限来提升写入/删除等):

  1. 喜欢用户的数据目录/您的公司/您的应用程序,或者
  2. 用户的文档/您的公司/您的应用程序

Program Files目录用于特定于应用程序的文件(DLL等),这些文件随程序一起安装,但在安装/更新后不会更改。

以下是按应用程序划分的用户数据目录的示例:

代码语言:javascript
运行
复制
public static DirectoryInfo ApplicationVersionDirectory()
{
    return new DirectoryInfo(System.Windows.Forms.Application.UserAppDataPath);
}
票数 3
EN

Stack Overflow用户

发布于 2012-04-25 02:40:48

这要归功于UAC。因此,您可以通过右键单击->“以管理员身份运行”来以管理员身份运行可执行文件,或者如果您希望以编程方式执行此操作,请参考其他帖子,如Windows 7 and Vista UAC - Programmatically requesting elevation in C#

票数 2
EN

Stack Overflow用户

发布于 2012-04-25 02:44:54

为了从"Program Files“文件夹中删除文件,您需要以管理员身份启动应用程序。否则,您将无法访问%PROGRAMFILES%。

以下是重启当前应用程序并以管理员身份运行的示例代码:

代码语言:javascript
运行
复制
ProcessStartInfo proc = new ProcessStartInfo();
proc.UseShellExecute = true;
proc.FileName = Application.ExecutablePath;
proc.Verb = "runas";



try
            {

                Process.Start(proc);

            }

            catch

            {

                // The user refused the elevation.

                // Do nothing and return directly ...

                return;

            }

            Application.Exit();  // Quit itself
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10303914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档