如何使用管理员权限执行文件操作



我正在尝试更新应用程序中的一些文件。我正在尝试下载该文件,将当前文件重命名为(.old),然后将下载的文件重命名为原始文件名(.exe)。

当我在XP中运行它时,它运行得很好。在Windows7中,它会给我一个错误,说访问被拒绝。如果我从桌面快捷方式运行应用程序,并将快捷方式的属性设置为以管理员身份运行,它会起作用,但每次运行时都会提示我以管理员身份来运行应用程序。我已经以管理员身份登录,所以我不想每次运行都被提示。

在我的程序中,有没有一种方法可以简单地以管理员身份重命名文件?

这是我的重命名代码:

Dim old_file_name As String = Now.TimeOfDay.TotalMilliseconds & ".old"
File.Move(Application.StartupPath & "myprog.exe", Application.StartupPath _
   & "" & old_file_name)

在我的案例中,我发现没有一种好的(安静的)方式可以在不提示提升权限的情况下作为管理员在Windows7上执行操作。一种选择是让最终用户更改他们的UAC设置,这样他们就不会得到提示,这是不可行的选择。另一个是更改我的程序清单,但每次运行时都会提示管理员权限,这也不是很理想。另一种是简单地将快捷方式属性更改为以管理员身份运行,但每次运行时都会提示您具有管理员权限。因此,我最终只让我的程序以普通用户身份运行,当他们想要升级程序时,他们会选择执行升级。升级由一个单独的程序(从我的主程序调用)处理,该程序的清单已更改为以管理员身份运行,这将提示用户获得权限。这样,他们只有在想要运行升级程序时才会得到提示。

相关内容

  • 没有找到相关文章

最新更新