Der folgende Code muss in ApplicationEvents stehen, damit sich die Anwendung nach der Ausführung selbst löscht.
Dies kann hilfrich sein wenn mein eine Update programmiert o.ä..
Wenn man den Code etwas erweitert, kann man ihn beispielsweise dafür verwenden, eine einfache TrialVersion aus seine Anwendung zu erstellen.
Man lässt dazu z.B. jeden Anwendungsstart zählen und speichert diese Zahl irgendwo (im IsolatedStorage, registry oder wo auch immer).
Ist die maximale Startanzahl erreicht, wird der u.g. Code ausgeführt.
Private Sub MyApplication_Shutdown(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Shutdown
Using srmStreamWriter As New IO.StreamWriter(System.Windows.Forms.Application.StartupPath & "\unistall.bat")
With srmStreamWriter
Dim files As ReadOnlyCollection(Of String)
files = My.Computer.FileSystem.GetFiles(My.Application.Info.DirectoryPath, FileIO.SearchOption.SearchAllSubDirectories, "*.*")
For Each f As Object In files
.WriteLine("@ECHO Datei """ & f.ToString & """ wird entfernt...")
.WriteLine("@CD /D %~d0%~p0")
.WriteLine("@ERASE /Q /F """ & f.ToString & """")
.WriteLine("@ECHO Vorgang abgeschlossen.")
Next
End With
End Using
Process.Start(System.Windows.Forms.Application.StartupPath & "\unistall.bat")
End Sub
1 Kommentare zum Snippet