c#使用非管理员用户权限更新程序文件

本文关键字:权限 更新 程序 文件 用户 管理员 | 更新日期: 2023-09-27 18:26:20

如您所知,C:''Program Files是一个受限制的文件夹,只有管理员才能修改此文件夹的内容。我的c应用程序能够自我更新。因此,我需要以编程方式从服务器下载一些文件,并用旧文件替换它们。这些文件在程序文件中。我该怎么办?

c#使用非管理员用户权限更新程序文件

如果您需要让应用程序运行在需要管理员权限才能更新的任何地方,那么您将非常困难。您必须将进程的权限提升到管理员级别才能执行更新。

这个问题的解决方案是将应用程序安装到其他地方——不需要管理员权限的地方。

您将需要生成一个助手应用程序,该应用程序将升级以获得适当的权限,将新的二进制文件复制到需要的位置,然后退出。也许您可以将copy.exe与知道升级的Process.Start结合使用。这篇SO文章似乎表明你可以毫不费力地完成它。但是,如果您的程序位于C:'Program Files 中,则无法绕过管理权限