Feedback

VB - Sich selbst löschende Anwendung

Veröffentlicht von am 10/5/2008
(2 Bewertungen)
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
Abgelegt unter Application, File, delete.

1 Kommentare zum Snippet

Günther Foidl schrieb am 10/5/2008:
Hallo, interessante und einfache Möglichkeit. Ich benutzte für das Löschen/Updaten von Anwendungen während dieses ausgeführt Shadow-Copying (siehe http://dotnet-snippets.de/dns/shadow-copying-SID981.aspx).
 

Logge dich ein, um hier zu kommentieren!