无法使用 UAC 和管理员帐户在 C# 中以编程方式删除文件

本文关键字:编程 方式 文件 删除 UAC 管理员 | 更新日期: 2023-09-27 18:34:16

>我正在为我的应用程序开发一个自我更新系统,该系统比较程序集版本号,然后擦除本地目录并复制新的服务器文件。应用具有需要 UAC 激活的自定义清单,并在管理帐户下运行。下面是要删除的代码:

            /* Clear target directory */
        DirectoryInfo di = new DirectoryInfo(args[1]);
        foreach (FileInfo file in di.GetFiles())
        {
            file.Delete();
        }

在此之前,需要更新文件的进程将被终止。以下是控制台输出:输出

该程序成功删除了一个文件,但在.exe崩溃停止。我已经在寻找解决方案几个小时了,有人可以帮助我吗?

无法使用 UAC 和管理员帐户在 C# 中以编程方式删除文件

我通过添加解决了这个问题

System.Threading.Thread.Sleep(3000);

在我的更新程序尝试删除可执行文件之前,该过程实际上有时间结束。