mit microsoft visual studio 2005 echte win32 anwendungen erstellen

ich habe jetzt microsoft visual studio 2005.

das problem ist, dass normalerweise alle anwendungen die mit ms visual studio 2005 erstellt werden nur mit der .net-runtime funktionieren. da nun die aber nicht jeder hat/runterladen kann, möchte ich gerne "richtige" win32 anwendungen (wie zb bei ms visual studio 6.0) erstellen.

ich habe schon einiges gegoggled und dabei ist herrausgekommen, dass man auch mit ms visual studio 2005 "richtige" win32 anwendungen herstellen kann, wenn man das irgendwo einstellt.
es wird unterschieden in "managed c++" (für .net anwendungen) und "unmanaged c++" (für win32 anwendungen).

wo kann man denn bei ms visual studio 2005 einstellen, dass win32 anwendungen erstellt werden, die OHNE .net-runtime laufen, sondern einfach die winapi.
 
Hallo,
dafür etwas zu finden wird schwer, denn es gibt wohl Streit mit Mircosoft (Lizenz). Aber es ist eigentlich auch nicht der Sinn, .NET Anwendungen _ohne_ Framework laufen zu lassen.

Es gibt wohl einen 'native Compiler' (Stichwort bei google):
http://www.remotesoft.com/linker/

Aber ob er Funktioniert kann ich nicht sagen, und ganz günstig ist er nicht.


Sonst gibt es hier noch Thinstall, welches die benötigten Assemblies in dein Prog. läd:
http://72.14.221.104/search?q=cache...ing_netframework.htm&hl=de&gl=de&ct=clnk&cd=2
 
außer diesen beiden sachen, wäre also eine andere möglichkeit, dass ich wieder ms visual studio 6.0 installiere oder?
oder ich warte bis ms viesta zum standard betriebssystem für die breite masse wird ;)
 
Original von Elderan
Aber es ist eigentlich auch nicht der Sinn, .NET Anwendungen _ohne_ Framework laufen zu lassen.
ich glaube du hast ihn falsch verstanden. er will nicht aus ner .NET anwendung eine win32 machen, sondern mit vs 2005 direkt ne normale win32 anwendung erstellen.

@NULL!=NULL
ich hab diese IDE vor ner weile mal ausprobiert und meine mich zu erinnern, dass wenn man ein neues c++ projekt erstellt, dass man da direkt unmanaged c++ projekt auswählen kann. also erstell mal n neues projekt und guck mal ob du da was entsprechendes findest.
 
hier ich habe jetzt mal ein screenshot hochgeladen...

wo kann man das denn auswählen?

auch wenn ich jetzt den anwendungsassistent für zb eine console anwendung start sehe ich das nirgendswo, wo man das einstellen kann mit dem unmanaged c++
 
also ich wäre jetzt davon ausgegangen, dass wenn man ein win32 projekt auswählt, dass es sich dabei im prinzip um unmanaged code handelt und auch native executables erstellt werden. dem ist aber nicht so, oder wie? :rolleyes:
wie siehts mit MFC anwendungen aus? werden diese nativ erstellt?
 
also so wies aussieht is das wohl nicht so... obwohl es eg so sein müsste...

mit mfc anwendungen kann ich leider nicht so gut umgehen.

bei microsoft oder msdn steht aber dass native anwendungen erstellt werden können:
Auf welchen Betriebssystemen laufen .NET-Programme?

.NET-Programme benötigen die .NET Runtime. Das sind alle Programme, die mit C# oder Visual Basic .NET erzeugt werden und auch C++-Programme, die nicht explizit für die Win32-Plattform compiliert wurden. Können .NET-Programme auf Betriebssystemen laufen, auf denen die .NET-Runtime funktioniert. Momentan sind das Windows 98, Windows ME, Windows NT4.0, Windows 2000 und Windows XP. Laden Sie sich die kostenlose Runtime aus dem Internet.


Kann ich mit Visual Studio .NET Programme für Windows 95/98 schreiben?

Ja, wobei man bei C++ zwischen "Managed C++" und "Unmanaged C++" wählen kann. In ersterem Fall läuft das Programm nur mit .NET Runtime, in letzterem Fall bei dynamischem Linken nur mit den aktuellen MSVCRTXX.DLLs.
(quelle: https://www.microsoft.co.ke/germany/msdn/library/net/NETUndVerschiedeneBetriebssysteme.mspx?mfr=true)


und:
Windows-Anwendung


Erstellt ein Win32-Programm. Ein Win32-Programm ist eine ausführbare Anwendung (EXE), die in C oder C++ geschrieben ist und über Aufrufe der Win32-API eine grafische Benutzeroberfläche erstellt.
(quelle: http://msdn2.microsoft.com/de-de/library/wydfdtb6.aspx)
 
Hallo,
also wenn du ein Visual C++-Projekt erstellst, und dort eine MFC oder eine Win32-Anwendung erstellst, dann wird dies nicht in IL Code übersetzt, sondern in native Code, also kann man diese auch ohne .NET Framework ausführen, es sei denn, du hast expliziet 'Managed Code' angegeben.

mit mfc anwendungen kann ich leider nicht so gut umgehen.
In solchen Projekten kannst du natürlich dann _nicht_ Funktionen aus dem Framework verwenden, und die einzige gute Alternative bleibt die MFC Library (bei Windows).



Sonst kann man mit ILDASM (c:\studio\SDK\v1.1\Bin) überprüfen, ob eine Anwendung eine .NET Anwendung ist (wenn diese disassembliert wird), oder ob es eine native Exe ist.
 
Es ist auch möglich ein Setup-Programm zu schreiben, das alle Dateien, beinhaltet, die von deinem Programm benötigt werden!

Einfach zu deinem Programm ein neues Projekt hinzufügen. Dann unter "andere Projekttypen" - "Setup und Bereitstellung" - "Setup Projekt" auswählen.

Hier kannst du mit der Rechten Maustaste auf das Setup-Projekt klicken dann auf "Eigenschaften" und unter "Erforderliche Komponenten" den Haken auf "Erforderliche Komponenten vom gleichen Speicherort wie Anwendung downloaden" aktivieren.

So werden Alle benötigten Daten mit in die Setup-Dateien gepackt und du kannst dein Programm auf jedem Rechner installieren, auch wenn er nicht ans Internet angeschlossen ist!
 
Zurück
Oben