Forum: PC-Programmierung Stand-Alone EXE


von Jürgen (Gast)


Lesenswert?

Hallo,

als ich das letzte mal für den PC programmiert habe war Visual Basic 6 
aktuell. Bevor ich mich jetzt in etwas neues einarbeite habe ich mir die 
Kandidaten etwas genauer angeschaut. Eine große und für mich recht 
wichtige Frage ist, wie das Endergebnis (die Exe) aussieht.
Wenn ich es richtig gelesen habe kann der C++ Builder und Delphi 
statisch gelinkte Exes erzeugen ? Hat mich schon immer bei VB gestört, 
daß ohne ein Setup mit dem ActiveX und DLL Kram nichts lief. Gerade bei 
kleinen Tools finde ich es sehr wichtig, daß man eine exe einfach auch 
mal so ausführen kann.

Hat sich das im .Net Zeialter auch geändert ? Wie sieht es bei den neuem 
VB und Visual C++ (Express) aus ? Finde leider überall nur Marketing 
gefasel über Effizenz, Rapid Development, ...

Vielen Dank
Jürgen

von Andreas J. (antibyte)


Lesenswert?

Realbasic ist wohl einen Blick wert.
Kommt VB sehr nahe,und kann (in der Professional Version)
aus einem Quellcode ausführbare Programme für MAC, Linux und Windows
erzeugen.
Unter MAC und Linux ist es tatsächliche eine einzige ausführbare
Datei ohne Abhängigkeiten, unter Windows wurde das leider kürzlich 
geändert in EXE + ein Unterordner.
Die Standard-Version gibts für Linux gratis, für die anderen
Plattformen kostet sie glaub so 80 Euro.
Die Professional ist leider sehr teuer, 400 Euro.
Zum ausprobieren gibts eine Demoversion.

http://www.realsoftware.com/products/realbasic/index.php?lang=gr

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Hat sich das im .Net Zeialter auch geändert ?

Echte monolithische Anwendungen gibt es dort erst recht nicht, das 
Äquivalent der VBRUN.DLL ist halt das .Net-Geraffel.

Delphi/C++-Builder, aber auch die C/C++-Compiler von Microsoft können 
aber sehr wohl monolithische Anwendungen erzeugen, wenn denn man auf das 
.Net-Geraffel verzichtet.

von Johnny (Gast)


Lesenswert?

Wenn Deine Anwender einigermassen aktuelle Windows Betriebssysteme haben 
und jeweils die Updates und Service Packs installiert haben, dann ist 
normalerweise das .NET Framework schon drauf. In diesem Falle brauchst 
Du dann nur die .exe weiterzugeben, wie es auch früher schon der Fall 
war.
Falls sie das .NET Framework noch nicht drauf haben, können sie es 
einfach per http://update.microsoft.com nachrüsten, ist also wesentlich 
einfacher als früher mit den Runtime-Libraries.
Von da her spricht meiner Meinung nach nichts gegen eine .NET 
Applikation.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Falls sie das .NET Framework noch nicht drauf haben, können sie es
> einfach per http://update.microsoft.com nachrüsten, ist also wesentlich
> einfacher als früher mit den Runtime-Libraries.

Wenn Downloads in der 20 MByte und mehr-Klasse kein Problem sind, dann 
mag das so sein.

Es soll aber immer noch Leute geben, die nicht über 
Breitbandinternetzugänge verfügen.

von Sven P. (Gast)


Lesenswert?

Johnny wrote:
> Wenn Deine Anwender einigermassen aktuelle Windows Betriebssysteme haben
> und jeweils die Updates und Service Packs installiert haben, dann ist
> normalerweise das .NET Framework schon drauf. In diesem Falle brauchst
> Du dann nur die .exe weiterzugeben, wie es auch früher schon der Fall
> war.
> Falls sie das .NET Framework noch nicht drauf haben, können sie es
> einfach per http://update.microsoft.com nachrüsten
Optimist... in meinem Fall ist das Blödsinn.
Das VB-Runtime (sprich: eine Dll, vbrunXX.dll) kann ich mit der EXE in 
ein Zip packen und gut ist. Läuft ohne Installation überall, sogar in 
Wine unter Linux.
Das .NET-Gerümpel muss ich runterladen und installieren, wenn das denn 
geht (wine!).

von Björn R. (sushi)


Lesenswert?

Es kommt immer drauf an, was du machst. Ich beziehe mich hier mal auf 
meine Erfahrungen mit Visual Studio 2005(C++). Wenn du ein ganz normales 
Programm schreibst, von mir aus auch noch mit Windows, wird das ohne 
weitere DLLs usw. laufen. Danach kommts drauf an, welche Bibliotheken du 
einsetzt. Bei Windows-Programmen, die nicht nur aus einem dialogfeld 
bestehen, wird ja gerne die MFC verwendet. Die braucht z.B. auch schon 
wieder DLLs. Das .NET-GEraffel natürlich auch. Richtig ist, bei aktuell 
gehaltenen Windows-Versionen sind diese Dinge installiert. Ob das aber 
immer und bei jedem so ist, kann dir keiner sagen. Also wenn du sicher 
gehen willst, dass deine Programme bei jedem spofort ohne weiteres Zutun 
laufen(z.B. auch wenn kein Internet vorhanden ist), kannst du je nach 
Komplexität entweder MFC und NET usw. weglassen, oder du forschst nach, 
welche Dateien nötig sind. Diese giobt es meistens bei Microsoft als 
sogenannte Redistributable Packages, die kannst du dann mit deinem 
Programm mitliefern.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> Bei Windows-Programmen, die nicht nur aus einem dialogfeld
> bestehen, wird ja gerne die MFC verwendet.
> Die braucht z.B. auch schon wieder DLLs.

Nein, MFC-Applikationen können auch statisch gelinkt werden.

von Geniesser (Gast)


Lesenswert?

> Es soll aber immer noch Leute geben, die nicht über
> Breitbandinternetzugänge verfügen.

Ist heutzutage kein Argument mehr. Wenn es danach geht, dann wäre 
jedwede Linux-Distri mittlerweile völlig sinnfrei. Linux lässt sich 
nicht mehr ohne die Möglichkeit Updates aus dem Netz zu ziehen sinnvoll 
betreiben. Und auch Updates für ein Windows ab 2k aufwärts möchte ich 
nicht mehr mit meinem alten 56k Modem pflegen wollen. Dagegen ist das 
bisschen .NET Nachrüsterei ein Witz, denn .NET lässt sich bequem aus 
einer einzigen Datei nachinstallieren. Für Offline-Updates müsste man da 
schon die "Variante" der c't bemühen o.ä. Nee, mal im ernst, .NET ist 
doch eine Bereicherung der Windows Plattform und wesentlich 
interessanter als die MFC.

von Jürgen (Gast)


Lesenswert?

Erstmal vielen Dank für die Antworten.

In der Zwischenzeit war ich nicht untätig und mein Rechner ist nun um 
ein paar IDEs reicher :-)

Da es sich meistens um kleinere Anwendungen handelt sehe ich es irgend 
wie nicht ein, warum jemand um eine handvoll Bytes in einem uC 
einzustellen, zig MByte runterladen muß (kleines Configtool).  Ich sehe 
mich da immer mit Laptop und USB-Stick beim Kunden und dann fängt das 
Teil an nach einem Framework zu schreien.

Das es nicht unbedingt so sein muß habe ich heute bei Delphi und dem C++ 
Builder gesehn.

Schlußendlich wird es wohl der C++ Builder werden, wobei ich bisher mit 
der kostenlosen Version Turbo C++ (auch komerziell nutzbar!) alles 
hinbekommen habe.

von Geniesser (Gast)


Lesenswert?

Bei DirectX 9 und Java Runtime kräht auch kein Hahn mehr danach die 
nachinstallieren zu müssen (Java RT wird z.B. für OpenOffice empfohlen). 
Ein .NET Framework 2.0 vorauszusetzen sollte da ebenfalls kein Problem 
sein (hab ich letztens auf einem recht alten Laptop mit sehr wenig RAM 
installiert. Läuft prima; W2k wurde dadurch nicht langsamer; sogar die 
Express Edition lässt sich bei deutlich unter 1 GHz verwenden. Das 
einzige wo es mit .NET schwierig wird ist wenn man noch Windows 9x 
verwendet. Da geht nix bzw. bliebe dann noch die gute alte Win32 API als 
Alternative).

Man erschließt sich mit .NET letztlich auch mehr Anwendungen und für 
Linux gibt es MONO in bereits beachtlichem Umfang.

Python-Skripte laufen auch nicht, ohne das man vorher was installiert.

von Johnny (Gast)


Lesenswert?

> Das einzige wo es mit .NET schwierig wird ist wenn man noch Windows 9x
> verwendet.

Nicht ganz richtig; bis .NET 2.0 (also Visual Studio 2005) gehts auch 
mit Windows 9x, habe ich selber so im Einsatz. Allerdings läufts dann 
z.B. auf einem 500MHz PC schon sehr langsam.

Ok, ich sehe schon, Du willst ausser der .exe auf nichts anderes 
angewiesen sein und vom "Fortschritt" nichts wissen. Dann würde ich Dir 
das alte Delphi 4 oder 5 empfehlen. Tolle IDE und sollte alles können 
was Du machen willst. Delphi 6 war Schrott, also die Finger davon 
lassen!

von Geniesser (Gast)


Lesenswert?

> Nicht ganz richtig; bis .NET 2.0 (also Visual Studio 2005) gehts auch
> mit Windows 9x, habe ich selber so im Einsatz. Allerdings läufts dann
> z.B. auf einem 500MHz PC schon sehr langsam.

Also Visual C# Express 2005 braucht minimal Windows 2000. Für .NET 2.0 
Redist tributable hast du recht, allerdings würde ich das mit W9x nicht 
empfehlen. Hatte das auch schon mal unter Win98SE laufen und war damit 
nicht glücklich. Unter W2k merkt man aber keine negativen 
Begleiterscheinungen. Das Dilemma ist, dass man mit W2k dann wiederum 
von Visual C# Express 2008 ausgeschlossen ist und dann zu XP greifen 
muss. Auf der anderen Seite würde ich aber bei der Programmerstellung 
W2k nicht von vorneherein ausschließen wollen .. (mal so als Anregung)

von Severino R. (severino)


Lesenswert?

Geniesser wrote:
> Das Dilemma ist, dass man mit W2k dann wiederum
> von Visual C# Express 2008 ausgeschlossen ist und dann zu XP greifen
> muss. Auf der anderen Seite würde ich aber bei der Programmerstellung
> W2k nicht von vorneherein ausschließen wollen .. (mal so als Anregung)

Wenn W2k ein "must" ist, dann halt Visual C# Express 2005 nehmen.
Soooo unheimlich viel Neues und Wichtiges bringt 2008 auch wieder nicht.
Oder sonst auf die eierlegende Wollmilchsau ausweichen...

von Johnny (Gast)


Lesenswert?

Aber er will ja vom .NET Framework eh nichts wissen. Von da her würde 
ich ein altes Delphi nehmen.

von renezimmermann (Gast)


Lesenswert?

www.purebasic.de

Gruß Rene

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.