我想创建一个具有自我更新功能的应用程序。如何仅在需要时提升管理员权限vb.net
不幸的是,当我想点击名为“Update”的按钮时,它会抛出一个错误消息:“Access Denied!”
这里是我使用的代码:
Public Sub versionfileUPDATE()
Try
If System.IO.File.Exists(My.Settings.telepitesihely & "/seemtahelperv1downloader.exe") Then
System.IO.File.Delete(My.Settings.telepitesihely & "/seemtahelperv1downloader.exe")
Threading.Thread.Sleep(500)
client.DownloadFileAsync(New Uri("https://dl.dropboxusercontent.com/s/azz6qundbe2rna1/SeeMta%20PK%20Generator%20V1.exe?dl=11"), My.Settings.telepitesihely & "/seemtahelperv1downloader.exe")
Else
client.DownloadFileAsync(New Uri("https://dl.dropboxusercontent.com/s/azz6qundbe2rna1/SeeMta%20PK%20Generator%20V1.exe?dl=1"), My.Settings.telepitesihely & "/seemtahelperv1downloader.exe")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
那么,有没有什么解决方案需要管理员权限,当用户点击更新按钮?
如果当前正在运行的可执行文件将不能被删除,因为它将被文件系统锁定。这可能是您收到错误的原因。 –
我知道,它会在删除文件之前关闭文件。 –
运行'versionfileUPDATE()'的代码在'seemtahelperv1downloader.exe'里面,还是运行该代码的不同程序? –