PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Visual Basic - Programme laufen nur mit .NET Framework?


Marbleearth
2008-03-12, 20:42:05
Hallo Problem steht oben. Ich habe ein kleines Programm mit Visual Basic (2008) erstellt. Aber es läuft nur unter Windows mit installiertem .Net Framework. Kann man das beim erstellen eventuell irgendwie lauffähig kompatibel machen für Win XP ohne .NET Framework?

(Kompatibilitätsmodus für Win 2000 in den Dateieigenschaften ändern funktioniert logischerweise nicht)

Gast
2008-03-12, 21:22:49
Dann musst du Visual Basic 6 nehmen.

Gast
2008-03-12, 21:33:26
Du musst das eigentlich umgekehrt sehen. Seit Windows XP ist das .Net Framework Bestandteil des Betriebssystems. Du kannst dafür Programme entwickeln, beispielsweise mit SharpDevelop (http://www.icsharpcode.net/OpenSource/SD/). Oder du kannst die Programmieroberfläche von Microsoft (Visual Studio) verwenden. Das setzt dann aber auch logischerweise voraus, dass du auf Betriebssystemen, die die Laufzeitumgebung nicht standardmäßig implementiert haben, diese installieren musst. Das ist aber kein Problem, denn man kann sie ja kostenlos herunterladen (http://www.microsoft.com/downloads/details.aspx?FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3&displaylang=de, musst nur auf die Version achten).

Gast
2008-03-12, 22:55:15
Seit Windows XP ist das .Net Framework Bestandteil des Betriebssystems.

Das ist falsch!

Bietchiebatchie
2008-03-12, 23:13:24
Er wollte wahrscheinlich Vista schreiben...

Superguppy
2008-03-12, 23:24:33
Wenn man mit Visual Studio ein C-Programm kompiliert, kann man einstellen, dass es statisch mit den benötigten DLLs gelinkt wird. Vielleicht gibt es ja bei Visual Basic etwas ähnliches - auch wenn das nicht so wie C kompiliert wird.

gr@fz@hL
2008-03-12, 23:45:29
Nein, man kann seit dem VS 2008 lediglich das Zielframework bestimmen (2.0, 3.0, 3.5). Es machte auch kein Sinn, wenn man für VB.NET kein .NEt-Framework auf dem Zielrechner bräuchte.

Gegenfrage an den Threadersteller: warum soll denn die Applikation kein .NET brauchen sollen?

beos
2008-03-13, 11:46:00
Das ist falsch!

Wird nicht bei der SP2 Installation das Framework 2.0 mit installiert ?

Gast
2008-03-13, 11:51:36
Wird nicht bei der SP2 Installation das Framework 2.0 mit installiert ?Ich glaube, das ist nur auf der SP2 CD mit drauf, installiert wird es imo nicht automatisch.

hadez16
2008-03-13, 12:34:14
Wird nicht bei der SP2 Installation das Framework 2.0 mit installiert ?


Coda
2008-03-13, 14:13:01
Für das alte Visual Basic musste man auch eine Runtime installieren.

Gast
2008-03-13, 14:34:40
Für das alte Visual Basic musste man auch eine Runtime installieren....die aber tatsächlich seit XP zum Lieferumfang gehört.

Der_Donnervogel
2008-03-13, 14:58:12
Für das alte Visual Basic musste man auch eine Runtime installieren.
Stimmt. Wenn es aber nur ein kleines Programm/Tool ist hat man den Vorteil, dass die VB6-Runtime weniger Platz braucht und auch schneller lädt als das .Net-Framework. Falls es aber wirklich nur ein einiges kleines Programm ist, stellt sich die Frage ob es nicht besser wäre, das in einer Sprache zu machen, die kein Runtime braucht, bzw. eines zu verwenden das am Zielrechner bereits existiert (C++, Java, ...).

Grestorn
2008-03-13, 15:59:55
Stimmt. Wenn es aber nur ein kleines Programm/Tool ist hat man den Vorteil, dass die VB6-Runtime weniger Platz braucht und auch schneller lädt als das .Net-Framework. Falls es aber wirklich nur ein einiges kleines Programm ist, stellt sich die Frage ob es nicht besser wäre, das in einer Sprache zu machen, die kein Runtime braucht, bzw. eines zu verwenden das am Zielrechner bereits existiert (C++, Java, ...).

Wie schnell lädt denn .NET? :)

.Net besteht ja nicht nur aus der CLR sondern aus einer Unzahl an zusätzlichen Komponenten, Controls etc. Und die werden nur dann geladen, wenn man sie braucht.

Coda
2008-03-13, 16:07:14
Stimmt. Wenn es aber nur ein kleines Programm/Tool ist hat man den Vorteil, dass die VB6-Runtime weniger Platz braucht und auch schneller lädt als das .Net-Framework.
Ich spüre keine wesentliche Verzögerung beim starten eines .NET-Programms.

Marbleearth
2008-03-13, 17:17:22
Gegenfrage an den Threadersteller: warum soll denn die Applikation kein .NET brauchen sollen?

Weile viele Win XP User diese nicht installiert haben! Vorallem unbedarfte User die sich nicht auskennen. .NET wird ja nicht via Win Update automatisch geladen.

Ja ich weiß man kann .Net rausnehmen, aber dann wird eine Setup.exe erstellt mit noch nem Zusatzordner mit .manifest usw.
Ich will das ja alles in einer Datei. Und ja es handelt sich nur um kleine Programme.

Monger
2008-03-13, 17:28:25
Systemvoraussetzungen sind ja nichts ungewöhnliches. Warum nicht in die Readme schreiben: "erfordert .NET Framework 2.0"?

Sooo kompliziert ist es ja nun auch wieder nicht, sich über Windows Update das Ding zu ziehen. Bei größerer Software kann man ja eine Offline Installation ins Setup einbetten, das ist dann auch für den Anwender gewohnt komfortabel.

Auch einem DAU muss man zutrauen können, dass er sich sein Windows aktuell hält.

Der_Donnervogel
2008-03-13, 17:41:39
Ich spüre keine wesentliche Verzögerung beim starten eines .NET-Programms.
Die Sache ist sicher subjektiv und auch vom System abhängig. Auf einem schnellen Rechner macht das ganze sicher keinen riesen Unterschied, sofern er überhaupt noch spürbar ist. Wenn er aber etwas älter ist, und man mal ein und das selbe Programm mit VB6 und .Net vergleicht, dann ist .Net wirklich beim Starten langsamer. Ich hab das selber mit einem alten VB6 Tool, das ich auf VB.Net konvertiert habe ausprobiert. Natürlich ist auch noch zu beachten, dass es einen großen Unterschied macht, ob die Komponenten des Framework bereits geladen sind oder nicht. Wenn man das Programm mehrfach nacheinander startet und sich das .net-Framework bereits im Speicher befindet, ist .net sehr fix.

beos
2008-03-13, 18:20:32
Ich spüre keine wesentliche Verzögerung beim starten eines .NET-Programms.

Dann installiere doch mal das ATI Controll-Center :wink:

Coda
2008-03-13, 18:32:10
Der Bloat würde auch als native App scheiße laufen.

lizardking
2008-03-13, 19:10:51
Ein mit Visual Studio erzeugtes Setup-Projekt für ein .NET-Programm prüft bei der Installation automatisch auf Vorhandensein des Frameworks.

Falls nicht, kann es per 1-Klick-Bestätigung installiert werden.

Dabei weiß ich dies aus persönlichen Erfahrungen nur von VS 2005 und 2008, aber nicht ob es bei 2003 auch schon dieses praktische Verhalten gibt.

gr@fz@hL
2008-03-13, 19:54:53
Weile viele Win XP User diese nicht installiert haben! Vorallem unbedarfte User die sich nicht auskennen. .NET wird ja nicht via Win Update automatisch geladen.
Das stimmt nach meinen Erfahrung so nicht mehr. Da es inzwischen sehr viele .NET-Programme gibt, ist das Framework inzwischen sehr weit verbreitet. Und es wir als "empfohlenes Update" sehr wohl über Windows-Update angeboten.

Marbleearth
2008-03-13, 21:51:37
Das stimmt nach meinen Erfahrung so nicht mehr. Da es inzwischen sehr viele .NET-Programme gibt, ist das Framework inzwischen sehr weit verbreitet. Und es wir als "empfohlenes Update" sehr wohl über Windows-Update angeboten.

Naja ich hab das entsprechende Programm nem Kumpel und meiner Schwester gesendet und beide konnten es wegen fehlendem .Net nicht öffnen. Ok kann natürlich auch ein dummer Zufall sein... ;)

gr@fz@hL
2008-03-13, 22:36:59
so lange wie es im privaten Umfeld läuft, sollte die Installation des Frameworks noch weniger Probleme machen ;). Übrigens, wenn es ein sehr einfaches Programm ist, könnte man die Problematik evtl. mit vbs lösen...

Gast
2008-03-16, 13:51:59
Versuche dich doch mal in einem anderen Basic Dialekt wie FREEBASIC. Die WinApi kann auch genutzt werden. Mit ein paar Anpassungen sollte auch dein VB Programm in FB lauffähig sein.

http://www.freebasic.de/index.php

Marbleearth
2008-03-16, 15:06:22
Versuche dich doch mal in einem anderen Basic Dialekt wie FREEBASIC. Die WinApi kann auch genutzt werden. Mit ein paar Anpassungen sollte auch dein VB Programm in FB lauffähig sein.

http://www.freebasic.de/index.php

gut werd ich mir mal ansehen, danke. Nochwas: Jemand hat mir gesagt es gibt eine VB Version die auf USB Sticks läuft, weiß jemand was darüber?

Gnafoo
2008-03-16, 16:04:26
Nur wegen der Framework-Installation würde ich mir die alte Windows-API aber nicht antun. So wild ist das nun wirklich nicht. Und ab Vista ist das Problem sowieso aus der Welt.

Und an "ein paar Anpassungen" glaube ich weniger :rolleyes:. Zwischen Windows-API und .NET-Framework liegen Welten.

Die Vorteile von .NET überwiegen diesen Nachteil. Zumal ich ihn nicht einmal wirklich als solchen empfinde.

Gast
2008-03-16, 16:46:43
Nimm Visual C++.