Wie mache ich aus einem Ordner der u.a. eine exe enthält, eine einzige exe?

5 Antworten

Du könntest die Dateien mit einem Komprimierprogramm packen und daraus eine Executable erstellen.Zum Beispiel konnte WinRar das immer.

Für komplexere Aktionen könntest du ein Setuptool wie InnoSetup verwenden.

Woher ich das weiß:Berufserfahrung – Programmierer

Was ist denn dein Vorhaben?
Soll beim ausführen der erstellten Exe, die im Ordner beinhaltende Exe ebenfalls ausgeführt werden?


b8243056 
Beitragsersteller
 21.11.2019, 11:15

Auf diese Dateien greift die Exe zu. Es handelt sich um "nwjs" womit ich eine Webseite wie ein Programm aussehen lasse. Das ist portable, also ohne Installation.

0

Du sprichst von einer Exe innerhalb eines Ordners, der wiederrum zu einer Exe erstellt werden soll, die auf die Dateien und der im Ordner vorhandenen Exe zugreift, richtg?
Dafür benötigt es "Routinen" , damit die aus dem Ordner erstellte Exe, auch das macht, was sie soll. Zum erstellen einer Exe gibt es diverse Programme.


b8243056 
Beitragsersteller
 21.11.2019, 11:22

Korrekt.Gibt es etwas Empfehlenswertes?

0
GrasshopperFK  21.11.2019, 11:25
@b8243056

Ich würde dir zu NSIS raten.

Alternativ kannst du auch versuchen die Routinen mit "Batch Befehlen" umzusetzen und diese letztendlich zu kompilieren.
Dafür gibt es z.B. Advanced BAT to EXE Converter.

2

Wie das geht, sagen die Antworten unten.

Beachte auch, dass Du mit so einer *.exe Probleme hast, wenn Du sie jemand anderen geben willst. Denn diverse übereifrige Virenscanner löschen alles, was sich ausführt.

Woher ich das weiß:Berufserfahrung – ich arbeite schon sehr lange im EDV Bereich, viele Sparten

Indem du den Ordner mit einer Archiviersoftware (7Zip, WinRAR,...) packst und dabei eine selbstextrahierende Datei erstellst.

Ob es das ist, was du haben willst ist aber fraglich.

Was soll denn diese .EXE denn können?


Suboptimierer  21.11.2019, 11:14

Ich weiß nicht, was der Fragesteller möchte, aber praktisch wäre es schon für die Verteilung, wenn man einfach nur eine exe Datei weitergeben könnte, in der alles enthalten ist, was die exe braucht, um zu laufen, wenn also die anderen Dateien sozusagen als Ressourcen im Zugriff in der exe vorliegen.

1
qugart  21.11.2019, 11:16
@Suboptimierer

Das nennt sich Installationsroutine und wird ja so schon seit gefühlt 100 Jahren gemacht.

0
Suboptimierer  21.11.2019, 11:27
@qugart

Ja, Installationsroutinen gibt es zugenüge.

Was es aber nicht gibt, ist ein Tool, was den Installationsprozess überflüssig macht. Auch bei Setups hast du am Ende mehrere Dateien im Installationsordner vorliegen.

Die Frage ist doch, wozu diese entpackt werden müssen und die exe nicht direkt darauf zugreifen kann - und wenn es über den Weg passiert, dass sie die Dateien im Arbeitsspeicher entpackt.

Viele Anwendungen binden bereits Ressourcen ein. Da muss man zum Beispiel nicht neben der exe eine XSD Datei liegen haben usw.
Ich will nicht sagen, dass externe Dateien nie Sinn ergeben. Sind es Fremdkomponenten, lassen sich externe Dateien sehr leicht aktualisieren. Logs und Konfigurationen lassen sich leicht einsehen.

Es geht darum, eine Anwendung zu haben, die dies nachträglich machen kann, also quasi einen Ordner simulieren und der exe vorgaukeln kann.
Schon eine exe und ein Zip-Archiv, auf welches zugegriffen wird wären eine Verbesserung, da z. B. in einer Mail nur zwei Dateien weitergereicht werden müssten.

0
qugart  21.11.2019, 11:30
@Suboptimierer

Naja....das ist eigentlich logisch, wieso sowas nicht funktioniert.

Dateien werden geändert. Sind sie noch gepackt, muss zusätzlich ent- wieder gepackt werden. Dauert eine Ewigkeit, plus es werden Ressourcen gebunden.

Überall, wo das nicht passiert recht ja eine EXE (oder ähnliches)

0
b8243056 
Beitragsersteller
 21.11.2019, 11:14

die portable exe zeigt nur eine HTML-Datei an, wie ein Browser, aber ohne Installation. Dazu liegen da noch ein paar DLLs und andere Sachen in dem Ordner.

0
qugart  21.11.2019, 11:15
@b8243056

Welche "portable exe"? Was verstehst du unter einer "HTML-Datei"?

Was genau willst du machen? Bitte von Beginn an.

0
b8243056 
Beitragsersteller
 21.11.2019, 11:19
@qugart

Ich verwende nwjs, das ist quasi ein Browser, der ohne Installation einsetzbar ist. Man kann dem Browser sagen, dass er nur eine bestimmte Seite anzeigt und alle Browserfunktionen gar nicht anzeigt. So kann man eine Webanwendung wie ein normales Programm aussehen lassen. Die Anwendung besteht aus einem Ordner mit einer exe und weiteren mitgeliferten Dateien. Dort liegt nur eine HTML-Datei, die ich selbst erzeugt habe. Die exe-Datei zeigt diese HTML-Datei an.

Ich möchte aber, dass der Nutzer diese ganzen anderen Dateien nicht sieht, sondern nur eine exe-Datei startet.

0