Hallo
Ich wusste nicht, was ich in die Überschrift schreiben sollte. Was besseres ist mir nicht eingefallen.
Also, es geht darum, dass ich einen Updater für mein Programm programmiert habe, welcher sich im selben Verzeichnis wie die exe-Datei befindet. Dieser soll nach dem Start prüfen, ob sich die alte Version der exe-Datei im StartupPath des Updaters befindet. Ist das der Fall, soll er die Datei löschen. Und nicht gleich böse werden, kenn mich noch nicht so gut aus.
Aber genau dann kommt der Fehler:
"Zugriff wurde Verweigert"
(Siehe Bild)
Ich habe folgenden Code benutzt (ein Teil davon):
Stimmt da was nicht? Auch wenn ich mein Programm als Administrator ausführe, kommt dieser Fehler. Was mach ich falsch? Stimmt der Code überhaupt so, oder ist das totaler Mist? Auf jeden Fall ging der Updater vorhin noch, als ich noch einen SaveFileDialog zum Speicherort festlegen drin hatte. Aber jetzt habe ich mir gedacht, der Updater soll automatisch die alte Version löschen und die neue einfügen.
Hoffe ihr könnt mir helfen!
Ich wusste nicht, was ich in die Überschrift schreiben sollte. Was besseres ist mir nicht eingefallen.
Also, es geht darum, dass ich einen Updater für mein Programm programmiert habe, welcher sich im selben Verzeichnis wie die exe-Datei befindet. Dieser soll nach dem Start prüfen, ob sich die alte Version der exe-Datei im StartupPath des Updaters befindet. Ist das der Fall, soll er die Datei löschen. Und nicht gleich böse werden, kenn mich noch nicht so gut aus.
Aber genau dann kommt der Fehler:
"Zugriff wurde Verweigert"
(Siehe Bild)
Ich habe folgenden Code benutzt (ein Teil davon):
VB.NET-Quellcode
- Imports System.Net
- Public Class Form1
- Private WithEvents httpclient As WebClient
- Dim Pfad As String = Nothing
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- If My.Computer.FileSystem.FileExists(Application.StartupPath & "\rechner_install.exe") Then ' Prüfen ob Datei vorhanden ist
- My.Computer.FileSystem.DeleteFile(Application.StartupPath & "\rechner_install.exe") ' Wenn ja löschen
- End If
- Pfad = Application.StartupPath
- Try
- Me.Show()
- httpclient = New WebClient
- Dim URL As String = "https://dl.dropbox.com/u/58564123/RechnerInstallver.exe"
- Application.DoEvents()
- httpclient.DownloadFileAsync(New Uri(URL), Pfad)
- Application.DoEvents()
- Catch ex As Exception
- MsgBox("Es ist folgender Fehler aufgetreten:" & vbNewLine & ex.ToString, MsgBoxStyle.Critical, "Es ist ein Fehler aufgetreten!")
- End
- End Try
- End Sub
Stimmt da was nicht? Auch wenn ich mein Programm als Administrator ausführe, kommt dieser Fehler. Was mach ich falsch? Stimmt der Code überhaupt so, oder ist das totaler Mist? Auf jeden Fall ging der Updater vorhin noch, als ich noch einen SaveFileDialog zum Speicherort festlegen drin hatte. Aber jetzt habe ich mir gedacht, der Updater soll automatisch die alte Version löschen und die neue einfügen.
Hoffe ihr könnt mir helfen!