Visual Studio 2005: .net in Anwendung integrieren

NitroTurboRatte

Lieutenant
Registriert
Juli 2007
Beiträge
577
Hallo forum,
kann man bei Visual Studio 2005 das .NET framework in eine Anwendung integrieren, so dass sie auf systemen läuft, die über kein .net framework verfügen?
Kann man Visual Studio 2005 dazu bringen, eine Anwendung zu erstellen, die auf andere Resorcen wie auf das .Net Framework zurück zu greifen?

Danke fürs feedback.
 
Schreibe halt keine .net Anwendung, wenn du keine .net Anwendung schreiben willst. ;)

Die Sprache ist dann egal, nur halt kein C# ist mehr möglich.

Wenn du eine Windows-Anwendung schreibst, ist .net sowieso überall installiert (zumindest auf XP und Vista Rechnern). Und für Linux-Systeme gibt's Mono.

.net in Anwendungen zu integrieren, ist mir nicht bekannt. Für Java gibt's so etwas, wie sinnvoll das ist, sei dahin gestellt.
 
Vor einiger Zeit gab's hier bei FB einen sehr ähnlichen Thread. Dort wollte auch jemand in seine VB.NET-Applikation das .NET-Framework direkt einbinden. Das Ergebnis der Diskussion war - wenn mich nicht alles täuscht - das dies nicht möglich ist. Wenn du mir nicht vertraust, dann kannst du ja einfach mal die SuFu benutzen - ich selbst habe mit .NET ähnlich nichts am Hut. ;)
 
Mein Problem ist: Visual studios stellt und fertigt anwendungen mit dem NET framework 2.0. Die meiten XPs haben aber keins. wenn ich das .net Framework direkt in meine anwendung implantieren könnte, bräuchte ich keine INstallation bereitzustellen, sondern nur die .exe anwendung.
 
Mittlerweile haben viele User Framework, da es mittlerweile von vielen Programmen vorausgesetzt wird, unter anderem soviel ich weiß selbst von den ATI Treibern. Und da bei allen Programmen, die ich bisher installierte Framework getrennt benötigt wurde, kann man wohl davon ausgehen das dies nicht möglich ist.

Aber ehrlichgesagt denke ich, dass das ein professioneller Cracker schaffen könnte, aber das wäre wahrscheinlich nicht legal :evillol:
 
Ich hab jetzt echt mal eine dumme Frage zum Dotnet-Framework:
Ich wollte mir gestern ein Programm zu aufzeichnen von Webradios installieren. Auf der Website stand, dass man .NET 1.1 braucht. Dachte ich mir, kein Problem, du hast sogar 3.0.

Dann aber schlug die Installation fehl und ich wurde auf die MS Website geleitet mit dem Hinweis, ich sollte mir doch bitte .NET 1.1 runterladen. Nun ja... ich hab mir dann ein anderes Programm gesucht :p

Aber woran lag das? Sind Programme, die NET 1.1 benötigen allen ernstes inkompatibel zu NET 2.0 / 3.0 ? Das wäre ja total - mit Verlaub - scheiße.
 
NitroTurboRatte, und für die Linux-Anwender könntest du es ja auch direkt als VM erstellen...
Wenn jemand dein Programm wirklich nutzen will, installiert er sich auch das .net Framework, es weint ja auch keiner rum, dass er für Spiele DirectX installieren muss...

ComputerFreak, es ist einerseits scheiße, andererseits auch nicht. Die separate Pflege der Versionen und vor allem auch die problemlose Installation von .net 1.x neben .net 2.x/3.x ist doch total leicht. Ich hab auch schon ein Java Programm gehabt, das unbedingt eine spezielle JRE benötigte, weil nachfolgende Versionen eine benötige Methode nicht mehr implementierten (aufgrund von Sicherheitsbedenken übrigens), es ist deutlich umständlicher mehrere JRE parallel auf dem Rechner zu haben und dafür Sorge zu tragen, dass die korrekte JRE für das jeweilige Programm verwendet wird. .net funktioniert das alles automatisch...
.net 1.x ist unabhängig von .net 2.x und .net 3.x
.net 3.x enthält .net 2.x.
Ist doch eigentlich nicht kompliziert, wenn man es mal weiß.
Ergo muss man halt für .net 1.x-Anwendungen das Framework 1.x installiert haben, und für .net 2.x-Anwendungen das .net Framework 2.x oder 3.x, und für 3.x-Anwendungen logischerweise am besten auch das 3.x-Framework.
 
Oh ja, und was für ein Schnäppchen... kostet ja nur 499 $.

Ich bleibe bei meiner Meinung: Wenn jemand eine .net Anwendung nutzen will, soll er halt auch das Framework installieren. Außerdem enthält leider auch mal das Framework Bugs und Sicherheitslücken, die sich aber via Updates korrigieren lassen - das fällt bei einem "integrierten" Frameowrk relativ schwer.
 
Es gibt doch softwaretechnisch so gut wie nichts, was nicht geht... ob ein Vorhaben allerdings den Aufwand wert ist, steht in einem anderen Thread...
Ja, ihn interessiert ob es geht oder nicht, aber ihn interessiert es nicht theoretisch sondern praktisch. Eine Lösung, welche nur theoretischer Natur ist, bringt ihn genauso wenig weiter wie dieser Post (theoretisch deshalb, weil der Preis für die Software für Privatanwender in keinem Verhältnis zum Nutzen stehen).
 
Welche sourcen nutzten die programmierer zur vereinfachund der erstellung der anwendungen bevor .net herauskam?
 
Naja .net ist ja "nichts anderes" als ein Framework zur Entwicklung von .net-Anwendungen. Zuvor gab's (für Windows) diverse Bibliotheken (Windows API, MCI, ...), teils in C teils in C++. Mit .net hat man nun ein einziges Framework zur Hand, um komplette Anwendungen zu schreiben. (Man kann natürlich falls notwendig, nach wie vor auf die anderen Bibliotheken zugreifen.) Gleichzeitig mit .net wurde C# veröffentlich. C# ist rein objektorientiert (im Gegensatz zu C++ zB) und verbindet diverse Vorteile anderer Sprachen (Java, C++, ...) miteinander. Jedoch kann man .net auch mit anderen Sprachen schreiben (C++, VB, ...) bzw. unterschiedliche Module mit unterschiedlichen Sprachen entwickeln.
 
Das ist es ja, was ich tun will. ich will dass mein visual basic 2005 zur erstellung von anwendungen auf eine andere Biliothek zurückgreift wie das .net framework. (z.B. Windows Api). Doch WIE mache ich das?
 
Das Schlüsselwort dazu heißt "Platform Invocation Services" oder kurz "P/Invoke".

Hier ein Beispiel.

Genaueres kann ich dir auch nicht sagen, arbeite mich erst in C# bzw .net ein.
 
NitroTurboRatte schrieb:
ich will dass mein visual basic 2005 zur erstellung von anwendungen auf eine andere Biliothek zurückgreift wie das .net framework.

Und genau DAS geht eben nicht. Wenn du eine Anwendung in Visual Basic 2005 schreibst brauchst du IMMER das .NET Framework. Punkt.
P/Invoke macht es nur möglich von .NET Anwedungen auf unmanaged Code (wie z. B. das Windows-API) zuzugreifen. Das erspart dir aber nicht die Benutzung von .NET.

Wenn du eine Anwendung ohne .NET schreiben willst, musst du wohl oder übel C, C++ oder eine andere Sprache lernen die direkt in Maschinencode übersetzt.
 
Ja, man kann .NET Framework integrieren.

Man kann generell mehrere (3rd party) Libs in die Exe packet, dafür gibt's Tools.

Beim Starten wird Exe enpackt, so dass die Anwendung auf die notwendigen Dlls zugreifen kann, als ob sie nicht eingepackt wären.

Das Stichwort dazu heißt Virtualisierung.
Tool: z.B. Xenocode (kann .NET einpacken)

Alles was ich gesagt habe, ist ausprobiert worden und läuft auf z.B. Windows XP ohne SP1 und SP2 somit ohne .NET, .NET wird beim Starten virtualisiert, nicht installiert, und die Anwendung läuft...
 
@Kerml
Hey, Danke

Ich danke auch euch allen.
 
Zurück
Oben