Exe erstellen und auf anderem Rechner ausführen?



  • Kann ich bei VS C# 2008 Express Edition die erstelle Exe-Datei meines Projekts auch auf anderen Rechnern ausführen?
    ich habe den Debug-Ordner mit allen Dateien drin auf einen anderen Rechner kopiert, aber das Programm lässt sich nicht öffnen.

    Liegt das an irgendwelche dlls, die fehlen, oder kann das an einem 64Bit System liegen?

    Gruß Michel



  • Ist das .Net-Framework auf dem anderen Rechner installiert?
    Was heißt "das Programm lässt sich nicht öffnen"?



  • Ja habe .NET Framework 1.0, 2.0 und 3.5 SP1 installiert.
    Naja wenn ich die exe starten will, sagt mir Windows:

    " WindowsFormApplication1 funktioniert nicht mehr
    Es wird nach einer Lösung für das Problem gesucht!"

    naja auf diese Suche kann man auch lange warten ...



  • MichelM schrieb:

    ...Debug-Ordner...

    Schon mal das Releaseverzeichnis probiert?



  • das geht auch nicht ... das hatte ich zuerst probiert!

    muss ich irgendwelche runtimes noch installieren oder fehlt sonst irgendwas noch?

    oder geht das au 64bit vista dann nicht??



  • Also das ist auf jeden Fall ein Programminterner Fehler, möglicherweise steht noch mehr da? oder nach möglichkeit auf dem 2. Rechner einmal kompilieren, der zeigt dann den genauen Fehler an.



  • ja also ich habe mal auf fehlersuche geklickt, jetzt bekomme ich dies hier:

    Just-In-Time-Debugger von Visual Studio

    Unbehandelte Ausnahme ("System.Runtime.InteropServices.COMException") in Projekts.exe [7072]

    Ich hatte beim verwenden der eine COM-Komponente schonmal Probleme, da ich VISTA mit 64 Bit habe, und konnte damals auf diesem Laptop das Projekt nicht compilieren. Das soll wohl darangelegen haben, dass ein 64-Bit-Projekt nur 64-Bit dlls laden kann, aber die COM wahrscheinlich 32 Bit hat.

    Nun habe das Projekt auf einem anderen Rechner erstellt. Ich wollte es testen, ob es auch auf einem anderen PC läuft, aber bis jetzt Fehlanzeige ...



  • Ich spinne jetzt mal vor mich hin:
    1. Du führst ein .Net-Programm auf einem 64-Bit-Betriebssystem aus.
    2. Das Programm wird vom JIT-Compiler für 64-Bit gebaut und optimiert.
    3. Du lädst eine 32-Bit-COM-DLL.
    -> Crash.

    Möglicherweise bringt es was wenn du unter Projekteinstellungen -> Erstellen die "Zielplatform" auf "x86" änderst. Ob diese Einstellung in der Express-Edition allerdings verfügbar ist weiß ich leider nicht.



  • Diese Funktion ist eben NICHT ind der Express Edition enthalten! Leider 😞



  • Ich habe jetzt über Erstellen und "Veröffentlichen" ein Setup erstellen lassen. Es wurde auf einem neuen PC ausprobiert.
    Auf Windows XP Media Center Edition 2002 mit SP2

    Leider funktioniert die Installation hier auch nicht 😞

    Weiß einer, wie ich das wenigstens irgendwie zum Laufen kriege?? (auf 32bit System reicht!!)



  • Darf man fragen was das für ne COM-Komponente ist?



  • Klar darfst du fragen 😛
    Es ist das TWS Control, eine API von InteractiveBrokers.



  • Welche Aktionen werden denn in der Onload Methode der Form1 ausgeführt? Setz mal testweise den gesamten Anweisungsblock in eine Try Catch Klammer...



  • btw
    lass das projekt am besten als x86 projekt bauen statt "any cpu"


Anmelden zum Antworten