Windows löscht ausführbare Datei beim Ausführen. Warum?

9

Ich versuche Code zu bekommen, der make benutzt. Ich habe MinGW (Standard 32 Bit) und TDM-GCCs Geschmack von MinGW auf meinem 64-Bit-Windows 7-Rechner heruntergeladen und installiert.

Wenn ich make (d. h. mingw32-make.exe ) im Administratormodus ausführen, erhalte ich die folgende Fehlermeldung:

  

Windows kann nicht auf den angegebenen Pfad oder die angegebene Datei zugreifen. Sie verfügen möglicherweise nicht über die erforderlichen Berechtigungen für den Zugriff auf das Element.

Der seltsame / gruselige Teil ist, dass beim Ausführen sofort die exe-Datei löscht .

Ich habe eine Prüfsumme SHA1, wie in den Kommentaren empfohlen, mit der Microsoft-Datei Checksum Integrity Verifier V2.05:

%Vor%

Ich verstehe nicht, was diese Ausgabe bedeutet, aber vielleicht ist es für jemanden hilfreich.

Anmerkungen:

  1. Dies geschieht unabhängig davon, wo sich die Datei auf meinem PC befindet.
  2. Dieses Verhalten ist spezifisch für das make -Programm (andere wie gfortran und gcc scheinen gut zu funktionieren)
  3. Das Umbenennen der Datei macht keinen Unterschied.
  4. Ich bin Administrator auf dem PC
  5. Gleiches Verhalten, wenn ich das Programm über den Explorer oder die Befehlszeile ausführe.
  6. Mein Antivirenprogramm (Avast) erkennt beim Scannen keine Probleme mit der Datei.
  7. Ich habe die MinGW-Setup-Datei von dieser SourceForge -Seite erhalten.
  8. Ich habe das TDM-GCC-Web-Installationsprogramm von dieser Seite bekommen.
  9. Die Dateigröße beträgt 219.662 Bytes (sowohl aus den Haupt-MinGW- als auch aus den TDM-GCC-Paketen)
  10. Ich habe make von der Befehlszeile ausgeführt, wo ich die Eingabeaufforderung gestartet habe, indem ich im Kontextmenü Run as Administrator ausgewählt habe.
  11. Ich habe auch versucht, make auszuführen, indem ich Run as Administrator ausgewählt habe, wenn ich es ausgewählt habe.
  12. Ich führe den Befehl mingw32-make , wenn dieses Verhalten auftritt. Ich habe auch versucht, es in Dinge wie make und foo mit dem gleichen Ergebnis umzubenennen.
  13. Das erste Mal, dass dies bei beiden MinGW passiert ist, löschte es die Originaldatei und ich habe es mit der mingw-get -Anwendung neu installiert. Von da an begann ich, Kopien des ursprünglichen mingw32-make zum Testen zu erstellen.
  14. Für die ausführbare Datei make habe ich alle Berechtigungen (einschließlich Read & amp; execute) außer dem Feld für besondere Berechtigungen.
NauticalMile 04.02.2016, 06:47
quelle

2 Antworten

3

Nachdem ich den Prozessmanager benutzt hatte, stellte ich fest, dass es tatsächlich Avast war: S Einige Zeilen enthüllten, dass avast die Datei tatsächlich löschte, bevor Windows zur Ausführung kam, was der Grund für die Windows-Nachricht war. Ich habe Avast vor einiger Zeit auf 'Silent Mode' gesetzt; Ich dachte, der einzige Zweck dieses Modus sei es, Benachrichtigungen über kleinere Updates zu unterdrücken, aber anscheinend gab er Avast auch die Erlaubnis, stillschweigend mit "Bedrohungen" umzugehen.

Nachdem wir das herausgefunden hatten, war die Lösung einfach. Ich ging einfach in die Einstellungen und erstellte eine Ausnahme für die mingw32-make.exe -Datei. Es läuft jetzt ohne Problem.

Vielen Dank für Ihre Hilfe!

    
NauticalMile 07.02.2016, 01:21
quelle
1

Benutzerkonto hat Administratorrechte, aber wenn der Benutzer mit der Arbeit begonnen hat, werden nicht alle Berechtigungen berücksichtigt. Starten Sie einfach Ihre Anwendung zum Kompilieren mit Ausführen im Administratormodus versuchen Sie dies: Ссылка

    
Ganesh K 04.02.2016 06:52
quelle

Tags und Links