Forum: PC-Programmierung Programm ohne Visual Studio ausführen?


von Winke (Gast)


Lesenswert?

Hallo,

ich habe ein Problem, ich habe auf einem Rechner mit Win XP ein Programm 
im Visual Studio erstellt.

Nun hab ich die EXE Datei auf einen anderen Rechner kopiert, hier kommt 
aber wenn ich sie ausführen will nur die Meldung das ein Fehler 
aufgetreten ist (Senden nicht senden...)

Ich habe alle .Net Frameworks Versionen die am Rechner wo das Visual 
Studio installiert ist auf dem anderen Rechner installiert...

woran könnte das liegen?

MfG

von Klaus D. (kolisson)


Lesenswert?

google mal nach "visual studio runtime"

k.

von Winke (Gast)


Lesenswert?

werd ich machen, könnte es sein das ich das installieren muss?

von Frank M. (aktenasche)


Lesenswert?

installier doch einfach visual studio express auf dem anderen rechner 
und debugge.

kannst du nicht ausführliche informationen einsehen wenn der fehler 
auftritt?

von mar IO (Gast)


Lesenswert?


von bluppdidupp (Gast)


Lesenswert?

Winke schrieb:
> werd ich machen, könnte es sein das ich das installieren muss?

Sofern die Sprache C++ ist ja, oder alternativ statisch linken:
http://blog.kalmbach-software.de/de/2008/03/05/wie-man-statisch-gegen-die-c-runtime-crt-linkt/

Wenn es eine .NET-Anwendung ist, würde ich in der Ereignisanzeige 
nachschauen, da tauchen normalerweise Fehlermeldungen auf.

Es gibt auch noch einen Standalone-Debugger:
http://msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx
...der möglicherweise ausreicht und die Installation von VS auf dem 
Problemrechner einspart.

von Sebastian L. (Gast)


Lesenswert?

Lol

ohne Fehlermeldung ist das ganze hier nur gepfusche und spekulation

Wenn das Programm grundsätzlich getestet ist sollte es auch ohne Fehler 
wo anders funktionieren.

Also

stell mal deine Fehlermeldung hier rein dann kann man dir helfen.

Schon komisch.

In nem anderem Unterforum wäre er bevor ein Ratschlag erteilt wäre in 
der Luft zerrissen weil seine Frage unvollständig ist

von Kreuterpolizei (Gast)


Lesenswert?

Aus eigener Erfahrung:

Guck nach für welche .net Version du das Programm geschrieben hast.
Das kannst du beim Projektstart definieren.
Diese muss auf dem zweiten PC installiert sein.
Und .net ist NICHT abwärtskompatibel!

Und stell den Compiler um von "Debug" auf "Release".
Im Projektordner gibts dann ein Release Ordner. Die exe darin sollte 
dann auf jeden PC mit entsprechendem .net  laufen.

Wenn du externe API nutzt müssen die natürlich mitkopiert werden
(Bei mir waren es die APIs für sqLite)

Wenn du bei deinem Visual Studio die Option "Release" nicht einstellen 
kannst, musst du dein Studio in den "Expertenmodus" bringen.
(Google weiß wie, ich nicht  ;-)
Im "Standart" Modus gibt es nur die möglichkeit "Debug" zu kompilieren.

Und, fällt mir grad noch ein, es gibt noch die Eisntellung für welche 
Zielplattform kompiliert werden soll. Also "Any CPU", "32 Bit", und "64 
Bit".
Diese Option ist im Standartfall auch nicht veränderbar.
Dies geht glaub ich auch nur im "Expertenmodus".

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Kreuterpolizei schrieb:
> Guck nach für welche .net Version du das Programm geschrieben hast.

Noch ist ja unklar, ob das überhaupt das .Net-Geraffel nutzt; "Visual 
Studio" umfasst nämlich auch nach wie vor richtige Compiler, die 
nativen Code erzeugen, nämlich den C- und den C++-Compiler (und nicht 
davon ins Bockshorn jagen lassen, daß es "C++/CLI" bzw. "Managed C++" 
gibt, das hat trotz des Namens absolut gar nichts mit C++ zu tun sondern 
ist .Net-Geraffel).

von Sebastian L. (Gast)


Lesenswert?

Winke schrieb:
> Nun hab ich die EXE Datei auf einen anderen Rechner kopiert, hier kommt
> aber wenn ich sie ausführen will nur die Meldung das ein Fehler
> aufgetreten ist (Senden nicht senden...)

Sebastian L. schrieb:
> ohne Fehlermeldung ist das ganze hier nur gepfusche und spekulation

von Michael M. (technikus)


Angehängte Dateien:

Lesenswert?

Für Standard-C(++) im Visual Studio 2008:
Man kann in den Projekteigenschaften eine Laufzeitbibiliothek wählen, 
die keine blöden Runtime-Umgebungen verwendet. Statt Multithreaded DLL 
einfach Multithreaded nehmen. Dann läuft das Kompilat auf jedem nackten 
XP.

Servus
Michael

von Frank M. (aktenasche)


Lesenswert?

Sebastian L. schrieb:
> ohne Fehlermeldung ist das ganze hier nur gepfusche und spekulation

1. nein
2. nein, so was nennt sich "ingenieurmäßiges denken" und "logik 
benutzen"

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Michael M. schrieb:
> Für Standard-C(++) im Visual Studio 2008:
> Man kann in den Projekteigenschaften ...

Und ein Äquivalent dieser Einstellung existiert auch für die MFC, falls 
man die denn nutzt.

von Sebastian L. (Gast)


Lesenswert?

Frank Meier schrieb:
> Sebastian L. schrieb:
>> ohne Fehlermeldung ist das ganze hier nur gepfusche und spekulation
>
> 1. nein
> 2. nein, so was nennt sich "ingenieurmäßiges denken" und "logik
> benutzen"

1. er verstellt sich sein ganzes Projekt mit Einstellungen die er nicht 
versteht

2. Wenn du zu "ingenieurmäßigen denken" und "Logik benutzen", 
"Ressourcenverschwendung durch Lösungssuche von nicht näher deklarierten
Problemen" zählst?

von Vlad T. (vlad_tepesch)


Lesenswert?

Michael M. schrieb:
> Für Standard-C(++) im Visual Studio 2008:
> Man kann in den Projekteigenschaften eine Laufzeitbibiliothek wählen,
> die keine blöden Runtime-Umgebungen verwendet. Statt Multithreaded DLL
> einfach Multithreaded nehmen. Dann läuft das Kompilat auf jedem nackten
> XP.
>
> Servus
> Michael

wenn man mfc oder atl benutzt, muss man auf der General Seite unter 
configuration Properties die auch noch auf static Library umstellen
(Use of MFC --> Use MFC in static Librry, Use of ATL --> Static Link to 
ATL)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.