none
Systemdateien RRS feed

  • Frage

  • Ich habe mal eine grundsätzliche Frage zum Löschen von Dateien bzw. Systemdateien:

    Setupprogramme müssen ja manchmal den Computer neu starten, damit Dateien, die vom System benutzt werden, die also normal nicht zu löschen sind, ausgetauscht bzw. gelöscht werden können.

    Nun zu meinen Fragen:

    1. Da ich gerade kein Beispiel habe, wie merkt man bei der Funktion "System::IO::File::Delete()", dass man eine solche Datei vorliegen hat? Ist das dann eine ganz normale IOException?
    2. Wie kann ich das System dazu bringen, dass es beim Neustart diese Datei löscht bzw. austauscht
    Ich hoffe ihr könnt mir ein bisschen weiterhelfen.
    Dienstag, 21. Juni 2011 14:23

Antworten

  • Setupprogramme werden i.d.R. nicht mit .NET geschrieben.

    Wenn, dann würde das löschen schiefgehen, d.h. das .NET-Delete wirft eine Exception.

    Um Dateien beinm reboot zu löschen gibt es AFAIK in .NET keine fertige Methode. Hierzu musst Du MoveFileEx mit MOVEFILE_DELAY_UNTIL_REBOOT verwenden (was ja in C++/CLI kein Problem ist):
    Siehe auch:
    http://msdn.microsoft.com/en-us/library/aa365240(VS.85).aspx


    Jochen Kalmbach (MVP VC++)
    • Als Antwort markiert developer1800 Dienstag, 21. Juni 2011 18:16
    Dienstag, 21. Juni 2011 14:41

Alle Antworten

  • Setupprogramme werden i.d.R. nicht mit .NET geschrieben.

    Wenn, dann würde das löschen schiefgehen, d.h. das .NET-Delete wirft eine Exception.

    Um Dateien beinm reboot zu löschen gibt es AFAIK in .NET keine fertige Methode. Hierzu musst Du MoveFileEx mit MOVEFILE_DELAY_UNTIL_REBOOT verwenden (was ja in C++/CLI kein Problem ist):
    Siehe auch:
    http://msdn.microsoft.com/en-us/library/aa365240(VS.85).aspx


    Jochen Kalmbach (MVP VC++)
    • Als Antwort markiert developer1800 Dienstag, 21. Juni 2011 18:16
    Dienstag, 21. Juni 2011 14:41
  • Vielen Dank für deine schnelle Antwort!

    developer1800

    Dienstag, 21. Juni 2011 18:15