Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C++CLI / VB .Net / .Net-Framework » Windows-Anwendung ohne .NET-Framework ausführen?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
02.01.2006, 20:55 Uhr
~Fitsch
Gast


Hallo,

folgendes Problem:
Es geht um ein C++ - Socket, daß wir im Rahmen eines Studienprojektes erstellen müssen um eine Speicherfunktion für eine externe Anwendung umzusetzen. Viel mehr darf ich leider auch nicht sagen, da wir für einen externen Arbeitgeber arbeiten...

Auf jeden Fall gibt es jetzt folgendes Problem:
Das C++ - Programm wurde mit Visual Studio .NET entwickelt und funktioniert auch einwandfrei. Nur nicht, sobald man versucht die .exe (Konsolenanwendung) auf einem Rechner auszuführen auf dem kein .NET - Framework installiert ist. Dann nämlich kommt die Fehlermeldung

Die Anwendung konnte nicht richtig initialisiert werden (0xc0000135). Klicken Sie auf "OK", um die Anwendung zu beenden.


Ich schätze Mal es liegt daran dass ich irgendwelche ".NET-spezifischen" Bibliotheken oder Befehle verwende?

Kann ich das Programm irgendwie so kompilieren, dass es auch auf Rechnern läuft, auf denen kein .NET - Framework installiert ist? Oder darf ich alles nochmal machen?


Hier Mal ein Ausschnitt der Headerdatei mit allen includes:

-- Headerdatei --

C++:
#include <stdio.h>
#include <iostream>
#include <winsock2.h>
#include <windows.h>
#include <direct.h>
#include <shlobj.h>
#include <fstream>
#include <string.h>
#using <mscorlib.dll>

using namespace std;
using namespace System;
using namespace System::IO;




Wie gesagt handelt es sich um ein Socket, dass auch die Sockettypischen (?) Befehle wie WSAStartup, bind, listen, recv usw. verwendet. Weiterhin wird mittels SHGetSpecialFolderPath das "Application Data" Verzeichnis ausgelesen und mittels CreateProcess ein Prozess gestartet. Davon abgesehen ist alles "Standard"-C++.

Sorry für die vielleicht schlechte oder unzureichende Beschreibung, aber für uns war das alles "Learning By Doing", insofern sind wir auch nicht ganz so versiert. Ich hoffe auf jeden Fall dass die Infos reichen. Wenn nichtm, für weitere Fragen steh ich natürlich zur Verfügung.

Schonmal Danke im Voraus,

Markus
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
02.01.2006, 21:56 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,

Zitat von ~Fitsch:
Viel mehr darf ich leider auch nicht sagen,...

Das interessiert auch kaum jemand...
Da es sich hier um eine Managed C++ Anwendung handelt, werdet Ihr nicht ohne das Framework (1.1?) auskommen. Dazu stellt M$ ein Redistributable Package zur Verfügung. Darin sind die notwendigen Dll's enthalten.
www.microsoft.com/downloads/details.aspx?displaylang=de&FamilyID=262D25E3-F589-4842-8157-034D1E7CF3A3
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 02.01.2006 um 22:03 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
02.01.2006, 22:23 Uhr
~Fitsch
Gast


Danke für die schnelle Antwort...

nur... gibt es auch eine Möglichkeit die ganze Sache so zu programmieren, daß man das Framework nicht braucht? Und wenn ja, mit wie viel "mehr" aufwand wäre das verbunden?

Das Problem ist, dass die Anwendung am Ende von CD ausführbar sein soll ohne dass zusätzliche Komponenten installiert werden müssen.


Gruß,

Markus
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
03.01.2006, 00:08 Uhr
~Fitsch
Gast


Danke habs...

Habe einfach den kompletten Quellcode ins Dev-C++ gehauen. Dann hat er erstmal gemeckert da er die ganze Winsock-Funktionen nicht kannte. Habe dann nach etwas googeln rausgefunden dass Dev-C++ seine eigene Winsock-Bibliothek mitliefert, hab die importiert, kompiliert... tja, und es läuft, auch ohne .NET - Framework.



Gruß und noch ein gutes Jahr...

Markus
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
03.01.2006, 09:10 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo

Zitat von ~Fitsch:

#using <mscorlib.dll>
using namespace System;
using namespace System::IO;

Habe einfach den kompletten Quellcode ins Dev-C++ gehauen...

tja, und es läuft, auch ohne .NET - Framework.


*Gruebel* Wenn ich nicht genau wüsste das heute NICHT der 01.04.06 ist, könnte man meinen das uns hier einer verarschen will (es sei denn, die ganze System bzw. System::IO - Sache wurde nicht benötigt und entfernt).
Will mich aber nicht zu weit aus dem Fenster lehnen, da ich mich mit dem Dev-C++ nicht auskenne. Bitte um Aufklärung durch die Dev-C++ Fraktion, wie das machbar ist.
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
03.01.2006, 12:55 Uhr
~Fitsch
Gast


Ups, Sorry, Fehler meinerseits... war schon spät...

Die mscorlib.dll hatte ich nur benötigt um zu überprüfen, ob Dateien bzw. Verzeichnisse schon existieren (File::Exists und Directory::Exists). Diese Befehle habe ich jetzt aus dem Programm verbannt und durch getFileAttributes ersetzt...


Gruß,

Markus
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C++CLI / VB .Net / .Net-Framework ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: