C # Wie wird die Anwendung weiter ausgeführt, auch nachdem die Anwendungsdatei gelöscht wurde?

9

Ist es möglich, es so zu machen, dass auch nach dem Entfernen der Anwendungsdatei die einmal ausgeführte Anwendung noch bis zum Ende läuft?

Ich habe eine portable Konsolenanwendung, die auf einem Wechseldatenträger ausgeführt wird und gerne weiter ausgeführt werden soll, selbst wenn das Laufwerk versehentlich entfernt wurde. Ist das möglich?

Ich sah Ссылка aber es scheint nicht zu funktionieren.

    
pleasega 06.06.2016, 07:46
quelle

3 Antworten

0

Der Kommentar von ElmoDev001 hat mich dazu gebracht, die gewünschten Ergebnisse zu erzielen.

Es gibt Fehler, aber hier ist die allgemeine Idee:

Program.cs (Hauptklasse)

%Vor%

Erweiterung.cs

%Vor%     
pleasega 08.06.2016, 14:02
quelle
2

Wenn Ihre Konsolenanwendung über referenzierte Assemblys verfügt, werden sie möglicherweise erst geladen, wenn sie verwendet werden.

Sie müssen alle zugehörigen Assemblys in Ihrer Hauptmethode oder irgendwo im Bootstrapper / Startup laden:

%Vor%     
Bassam Alugili 06.06.2016 08:14
quelle
1

Das Problem mit dem Ansatz in dem Artikel (aus Ihrer Sicht) ist, dass Sie ihn aus einer anderen Anwendung starten müssen, und die Binärdatei dieser Anwendung muss immer vorhanden sein, so dass Sie diese nicht von demselben Ort aus starten können oder du hast das Problem nicht gelöst.

Ein Mechanismus könnte sein:

  1. Der Benutzer startet die App
  2. App kopiert sich selbst in den temporären Ordner.
  3. App startet die temporäre Kopie mit Process.Start und einem / nocopy-Parameter
  4. App schließt sich selbst.
  5. Die Temp-App wird gestartet, liest den / nocopy-Parameter und überspringt die Kopie und startet sie.
Richard Matheson 06.06.2016 08:16
quelle

Tags und Links