Die Methode 'DeleteFile' des Objekts 'IFileSystem3' ist fehlgeschlagen. Das System bleibt hängen, wenn versucht wird, nach diesem Fehler zu löschen oder umzubenennen

501
IT researcher

Ich habe ein System mit Windows 7 OS. Ich habe ein Automatisierungsprojekt, das das Setup mit dem NSIS-Wrapper erstellt. Es gibt viele Dateivorgänge wie Kopieren und Löschen der Dateien usw. Wenn die bestimmte Datei in Visual Basic Coding gelöscht wird, erhalte ich die Fehlermeldung "Methode 'DeleteFile' von Objekt 'IFileSystem3'. Die Datei für diesen Fehler ist MDAC_TYP.EXE mit einer Größe von 5 MB.

Szenario:

Das Serverlaufwerk (Windows Server 2012) ist dem lokalen Windows 7-System zugeordnet, und der gesamte Vorgang wird auf diesem zugeordneten Laufwerk in der Clientmaschine ausgeführt. Sowohl der Client als auch der Server sind mit dem 1-Gbit / s-LAN verbunden. Wenn ich nun mein Projekt zum Erstellen des Setups ausführe, kopiert es alle Anwendungsdateien in einen Ordner mit dem Namen Temp. Anschließend wird das Setup-Programm mithilfe des NSIS (makeNSIS) erstellt. Nach der Erstellung des NSIS-Setups werden alle Quelldateien aus dem temporären Ordner gelöscht und einige andere Dateien werden für das nächste Setup in denselben temporären Ordner kopiert.

Beim Löschen der MDAC_TYP.exe-Datei erhalte ich manchmal den oben genannten Fehler. Es gibt zwei Ordner mit derselben Struktur namens "Build1" und "Build2". Build1 wird für die Testumgebung verwendet und Build2 für die Produktionsumgebung. Der temporäre Ordner wird in beiden Ordnern erstellt, während das Test- und Produktions-Setup ausgeführt wird.

Der oben genannte Fehler tritt für die Ordner Build1 und Build2 auf, und der Fehler tritt gelegentlich (nicht jedes Mal) für dasselbe Exe auf. Die MDAC_TYP.EXE-Datei verfügt über eine schreibgeschützte Berechtigung an der Stelle, von der aus ich die Datei in das TEMP-Verzeichnis innerhalb von build1 und build2 für NSIS-Skript kopiere. Im visuellen Basiscode verwende ich die FileSystemObject.DeleteFile-Methode, wobei die force-Option auf true gesetzt ist.

Sobald der Fehler auftritt, kann ich die Datei in keinem PC durch UNC umbenennen / löschen / verschieben oder sogar auf dem Server kann sie nicht gelöscht werden. Wenn ich versuche, die Datei oder den übergeordneten Ordner umzubenennen / zu löschen, wird das System, von dem aus ich versuche, zu löschen / umzubenennen, hängen. Selbst wenn wir den Client-Computer, auf dem der Fehler aufgetreten ist, neu starten, löst er das Problem nicht. Ich habe nur die Lösung gefunden, meinen Server neu zu starten. Nach dem Neustart des Servers kann die Datei umbenannt oder gelöscht werden. Andere Methoden, die ich ausprobiert habe, sind wie folgt.

  • Datei-Handle mithilfe des Prozess-Explorers auf Client und Server geprüft. Es wurden keine Handles gefunden
  • Geprüft Öffnen Sie Dateien in den freigegebenen Ordnern des Servers. - Es wurde keine offene Dateiverbindung für die Datei gefunden.
  • Versucht, den Client-Rechner neu zu starten - Nicht gelöst.
  • Es wurde versucht, die Datei mit dem Befehl auf dem Server zu löschen / umzubenennen - Nicht möglich.
  • Versuchte, die Datei auf dem Server zu löschen / umzubenennen - Kein Fehler und keine Nachricht. Stattdessen bleibt der Server hängen.
  • Wurde bei der Verwendung von chkdisk im Server auf Festplattenprobleme überprüft. Keine Probleme gemeldet
  • Ordnerberechtigung - Der Benutzer hat volle Berechtigung und es gibt kein Problem.
  • Ich habe versucht, nach dem Neustart denselben Build-Prozess auszuführen - Alles funktioniert gut. Wiederholt sich jedoch nach einiger Zeit / Tag.
  • Es wurde versucht, das zugeordnete Laufwerk zum Zeitpunkt des Fehlers zu trennen. Aber immer noch nicht umbenennen können.
  • Kein Antivirus- / Ereignisanzeige-Protokoll auf Client und Server.

Anfangs kam der Fehler in meinem Windows XP-PC. Jetzt habe ich ein Upgrade auf Windows 7 (Neuinstallation) durchgeführt und der Fehler tritt immer noch in einer neuen Windows 7-Maschine auf.

Aktualisieren:

Ich habe kürzlich festgestellt, dass der gleiche Fehler auch beim Löschen der Datei msstdfmt.dll auftritt

Update 2:

Ich habe auch einen Fehler für die MS-Word-Datei erhalten, der Fehler ist derselbe. In allen drei Fällen habe ich festgestellt, dass es nur eine gemeinsame Sache gibt, bei der alle drei Dateien schreibgeschützt sind.

0

0 Antworten auf die Frage