Laden...

[gelöst] Console Application - This programm cannot be run in Dos mode.

Erstellt von Stipo vor 14 Jahren Letzter Beitrag vor 14 Jahren 2.100 Views
Stipo Themenstarter:in
699 Beiträge seit 2007
vor 14 Jahren
[gelöst] Console Application - This programm cannot be run in Dos mode.

Hallo zusammen,

Ich müsste eben ein kleines Tool schreiben ( Console Anwendung ) welches bestimmte Daten aus einem WCF-Dienst lesen soll, und einer anderen Anwendung zur Nutzung übergeben soll.
Die Anwendung erwartet eine TXT Datei, kann aber, wie ich eben getestet habe, eine EXE ansprechen.

Nur bekomme ich dann eine Fehlermeldung mit vielen kryptischen Zeichen 😉 und der Meldung "This programm cannnot be run in Dos mode." .

Ist es überhaupt möglich, das ich eine C# Console Anwendung dafür nutze?
Und wenn, wie muss ich das realisieren?

Über ein paar Anregungen und Infos wäre ich dankbar, da ich im moment nicht weiß, wonach ich suche (muss).

Grüße Stephan

C
2.122 Beiträge seit 2010
vor 14 Jahren

Zwischen eine Anwendung erwarten und eine ansprechen ist aber ein Unterschied.

Nur bekomme ich dann eine Fehlermeldung...

wann genau?

Für dein Progrämmchen dürfte es doch egal sein um was für Daten es sich handelt? Soll heißen, dein Programm macht mit den Daten selbst nichts, außer sie unbesehen zu laden und wieder abzuspeichern?

"This programm cannnot be run in Dos mode."

Startest du es wirklich im reinen DOS?

Könnte sein dass du erst ein bisschen genauer werden musst, damit das jemand so versteht wie du.

Stipo Themenstarter:in
699 Beiträge seit 2007
vor 14 Jahren

Könnte sein dass du erst ein bisschen genauer werden musst, damit das jemand so versteht wie du.

Dann um das mal etwas genauer zu schreiben.
Im Thunderbird kann man eine TXT Datei mit einer Signatur einbinden.
Da ich aber einige Email Adressen mit der selben Signatur, was aber bei änderungen an den Daten immer bedeutet, das man die TXT Datei anpassen mus, dachte ich mir, das ich die Daten über eine Console App und einem WCF Dienst auslese.

Problem bei der ganzen sache ist, das die Email Adressen auf 5 Rechnern im Thunderbird verteilt sind (Mehrfache nutzung der selben Email mit IMAP), welche aber nicht in einem großen Netzwerk arbeiten, sondern fast ausschließlich ohne im Verbund arbeiten.
Um aber sicher zu stellen, das immer und überall die aktuelle Signatur verwendet wird, dachte ich an das dynamische auslesen.

Wie gesagt, die EXE wird angesprochen, nur leider schreibt der wirres zeug und die Meldung das es nicht im Dos mode geht.

Hoffe, das es nun ein bisschen genauer ist, was ich bewirken möchte.

Grüße Stephan

C
2.122 Beiträge seit 2010
vor 14 Jahren

Sagen wirs mal so ... das eigentliche Problem hab ich noch nicht verstanden

Wie gesagt, die EXE wird angesprochen

Welche denn? Deine die du hier gerade beschreibst? Von wem wir die angesprochen?

nur leider schreibt der wirres zeug

Wer ist er und wann schreibt der wohin wirres Zeug?

Stipo Themenstarter:in
699 Beiträge seit 2007
vor 14 Jahren

Hehe... okay. dann versuche ich das noch genauer hin zu bekommen 😃

Wie gesagt, die EXE wird angesprochen
Welche denn? Deine die du hier gerade beschreibst? Von wem wir die angesprochen?

Thunderbird ( Email Programm ) ruft anstatt einer TXT Datei für die Signatur meine geschriebene Exe Datei ( Console Application ) auf.

nur leider schreibt der wirres zeug
Wer ist er und wann schreibt der wohin wirres Zeug?

Meine Exe schreibt dann in Thunderbird, wenn man eine neue Email schreiben will, an der stelle wo die Signatur hin kommt, das wirre zeug rein mit dem Fehler und noch weiteren Infos.

Habe mal die Ausgabe als Bild angehangen, was in der Mail dann als Signatur steht ( teil davon ).

Grüße Stephan

V
78 Beiträge seit 2008
vor 14 Jahren

Thunderbird kann also Text Dateien einlesen und als Signatur(Text der unter der E-Mail steht) benutzen. Und du übergibst Thunderbird jetzt ein PE File statt einem Textfile? Wie machst du das, also wie erwartest du, dass Thunderbird die richtige Signatur aus der exe bekommt?

So wie das aussieht ist deine "Fehlermeldung" einfach die ASCII Darstellung deines Programms. Also die einzelnen Bytes aus denen dein Programm besteht in ASCII-Code angezeigt.
So wie ich das sehe, interpretiert Thunderbird deine .exe einfach als Textdokument 😉

Die "Fehlermeldung": "This program can only be run in DOS mode." wird bei .NET Anwendungen immer im .text Segment der exe gespeichert. Das heißt aber nicht, dass die Meldung auch angezeigt wird.

C
63 Beiträge seit 2010
vor 14 Jahren

Hey,
edit: zu lahm

Zum Problem:
Ich meine, man muss doch eigentlich eine Textdatei angeben und Thunderbird akzeptiert meines Wissens auch nichts anderes an der Stelle, wo man den Pfad zur Signatur eingeben kann. Und das erklärt glaube ich auch dein Problem. Du hast doch an der Stelle wo eine Text-Datei hingehört deine *.exe Datei hingesetzt oder? Thunderbird liest die einfach mit nem StreamReader oder sonstewas aus und bekommt einen sinnlosen Haufen Zeichen. Und das "This programm..." usw. gehört einfach in den Programm Header(von allen Programmen?) rein. Das is schon uralt, hier z.B ein Auszug aus einem meiner Programme:

MZ       ÿÿ  ¸       @                                   €   º ´	Í!¸LÍ!This program cannot be run in DOS mode.

sieht dumm aus oder? Is aber genau der gleiche Anfang wie bei dir, nur komisch formatiert im Notepad++ siehts genauso aus.

Zur Lösung:
Wäre es denn nicht einfacher, wenn du deine Signaturen nur dann erneuerst wenn es wirklich nötig ist? Lies doch meinetwegen jede Stunde einmal aus oder schick automatisch an die anderen Standorte ne Mail wenn sich was ändert

Mfg Campac68

Stipo Themenstarter:in
699 Beiträge seit 2007
vor 14 Jahren

Hallo zusammen,

gut dann muss ich mich von der Idee mit der Exe im Thunderbird verabschieden.
War nur so eine Idee, wie ich das eventuell einfach und schnell umsetzen hätte können.

Wäre es denn nicht einfacher, wenn du deine Signaturen nur dann erneuerst wenn es wirklich nötig ist? Lies doch meinetwegen jede Stunde einmal aus oder schick automatisch an die anderen Standorte ne Mail wenn sich was ändert

Klar soll die Signatur sich nur ändern, wenn es auch nötig ist. Aber die erfahrung hat gezeigt, das es nicht funktioniert, wenn man den Usern eine Email schickt mit den neuen Angaben, oder einer neuen Datei die dann in einem bestimmten Verzeichnis abgelegt werden muss.

Aber gut. Ich hab auch schon eine neue Idee, wie ich das realisieren kann.
Ein Windows Dienst, der immer schön im Hintergrund alle Stunde prüft und dann eine TXT Datei überschreibt. So ist dann maximal 1 Stunde eine falsche Signatur vorhanden.

Aber danke noch für die Hinweiße. Vor allem mit dem Argument, das Thunderbird wohl über einen Stream die Daten ausließt und somit dann die Exe Binär anzeigt.

Danke und Grüße
Stephan

C
2.122 Beiträge seit 2010
vor 14 Jahren

gut dann muss ich mich von der Idee mit der Exe im Thunderbird verabschieden.

Du schaffst es ja schon mal, was rein zu schreiben. Auch wenn die Idee etwas außergewöhnlich ist, dass eine Signatur über ein externes Programm geschrieben wird.

Nur: Du schreibst eben keine Signatur in die Mail, also keinen Text, sondern den Binärcode eines Programms. Und das macht halt keinen Sinn.