我想創建一個具有自我更新功能的應用程序。如何僅在需要時提升管理員權限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'裏面,還是運行該代碼的不同程序? –