Frage

Es mag eine dumme Frage sein, aber alle meine Versuche, dies zu googeln, ist fehlgeschlagen. Die Frage ist: Wie können Sie Windows-Anwendungen entwickeln, für die keine neu instribierbare Vorinstallation erforderlich ist? Ich möchte Anwendungen erstellen, die auch unter älteren Versionen von Windows ausgeführt werden, die nicht über das .NET -Framework oder ähnliches enthalten sind.

Danke, Ewolf

War es hilfreich?

Lösung

Erstens programmieren Sie in einer Muttersprache wie C ++, keine CLR.

Zweitens deaktivieren Sie das Manifest und vermeiden Sie die Verknüpfung externer DLLs (wie STDC oder MFC).

Andere Tipps

Was meinst du mit älteren Versionen von Windows?
Das .NET -Framework ist Teil von Windows seit Windows 2003 und .NET 1.1.
Wenn Sie also auf Windows -Versionen abzielen, die neuer als Windows 2003 sind, können Sie sicher sein, dass .NET verfügbar ist.

Es gibt auch Lösungen, das Automatisieren Sie die Verknüpfung/Verpackung von .NET -Produkten, so dass Sie keine Umverteilung usw. versenden müssen usw.

Aktualisieren:
Das habe ich gerade herausgefunden Mono Ermöglicht Ihnen die gesamte Laufzeit mit Ihrer ausführbaren Datei.
Sie nennen diese Funktion Bündeln.
Lesen Sie mehr darüber hier.

Verwenden Sie Delphi - Obwohl die neueren Versionen der IDE einige merkwürdige Fehler haben, können Sie native Windows -Anwendungen erstellen, für die keine Neuverteilung erforderlich ist. Viel einfacher zu bedienen als C ++/Win32.

Bearbeiten: Wie Ewolf darauf hinwies, brauchte er das .NET nicht, obwohl die ursprüngliche Frage mit dem mit dem mit dem mit dem Tag .NET versehen war.

Kurz gesagt, einige ältere Maschinen wie Win95/98/2000 haben möglicherweise nicht die Laufzeit installiert. Da Sie .NET angegeben haben, gehe ich davon aus, dass Sie eine Anwendung mit .NET erstellen möchten. Es gibt eine große, aber Sie müssen die .NET -Laufzeit im Voraus installieren lassen, können Sie die .NET -Anwendung ausführen. Sie können das problemlos mit zwei Methoden umgehen:

  • Installieren Sie die .NET -Laufzeit manuell oder
  • Verwenden Sie ein benutzerdefiniertes Installationskript, das erkennen kann, ob .NET -Laufzeit installiert ist oder nicht, um die .NET -Laufzeit -Neuverteilung zu installieren.

Wenn Sie über eine native Anwendung wie C/C ++ sprechen, ist der beste Weg, um Abhängigkeiten zu vermeiden und die Anzahl der erforderlichen DLLs zu minimieren). Entwickeln wird haben, commctrl.dll, user32.dll, advapi.dll, um nur einige zu nennen. Das Endergebnis wird eine kleinere ausführbare Datei sein. Natürlich können Sie andere DLLs bündeln, indem Sie die DLLs zu einer großen ausführbaren Big -Mammut -Datei statisch verbinden.

Ich empfehle Ihnen, die zu verwenden WTL, das ist ein leichtes C ++ - Framework. Es ist wirklich nur ein Schritt über der Win32 -API, also erhalten Sie kleine Exen mit wenigen Abhängigkeiten. WTL erfordert das ATL -Framework, mit dem Sie statisch verlinken können, was bedeutet, dass Sie nur Ihre Exe versenden müssen.

Ein weiterer Rahmen, den es wert ist, es zu betrachten, ist Qt. Dies erfordert jedoch, dass Sie einige DLLs mit Ihrer Bewerbung versenden. QT ist ein fantastisches Framework und ich denke, Sie werden es produktiver als WTL finden (abhängig von Ihren Anwendungsanforderungen natürlich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top