Alleinstehende (standalone) EXE

Sonstiges (nicht kategorisierbar)

Moderator: Moderatoren

Antworten
asim
Rookie
Rookie
Beiträge: 7
Registriert: Di, 05. Nov 2019 12:23

Alleinstehende (standalone) EXE

Beitrag von asim »

Hallo zusammen,
weiß jemand vielleicht man wie kann eine alleinstehende EXE erstellen kann? Ich meine eine EXE bei der möglichst keine DLL mehr verwendet wird oder allenfalls die unvermeidlichen DLLs. Diese EXE wird benötigt um an den Kunden ausgeliefert zu werden, die soll dort ohne weitere DLLs gestartet werden können.

Eine sorgfältige Antwort oder ein Beispiel würde mir hier weiterhelfen.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Alleinstehende (standalone) EXE

Beitrag von Tom »

Das geht nicht. Xbase++-Anwendungen benötigen immer die Runtime-DLLs, ganz egal, welchen Funktionsumfang die Anwendungen haben. Man kann die in den Xbase-DLLs enthaltenen Funktionen nicht direkt einbinden. Dazu gibt es auch einen 17 Jahre alten PDR. Du kannst den ja boosten, vielleicht hilft das: :wink:
http://www.alaska-software.com/scripts/ ... PDRID=4902

Es gibt aber die Möglichkeit, eine Anwendung mit den benötigten Runtime-DLLs in eine EXE zu verpacken, die sich beim Programmstart selbst entpackt und nur im Speicher entpackt bleibt. Das ist hier im Forum schon mehrfach diskutiert worden. Es verlangsamt den Programmstart etwas, aber ansonsten läuft das wohl.
Herzlich,
Tom
asim
Rookie
Rookie
Beiträge: 7
Registriert: Di, 05. Nov 2019 12:23

Re: Alleinstehende (standalone) EXE

Beitrag von asim »

Hallo Tom,
dankeschön für die schnelle Antwort. Diese Link aber sagt nicht wie ich eine Anwendung mit den benötigen Runtime-DLLs in eine EXE verpacken kann?
Sorry für die dumme Frage, ich bin neu in der Xbase Welt.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Alleinstehende (standalone) EXE

Beitrag von brandelh »

Das hat jetzt mit Xbase selbst nicht wirklich was zu tun, viele Anwendungen haben eine EXE und mehrere DLL.
Wenn man daraus eine EXE basteln möchte, die im RAM die DLL entpackt, braucht man Tools die das können, eine Google Suche hat z.B. diese Seite gefunden

:arrow: https://adontec.com/index.htm?GO=/runtimepacker_d.htm

Das ist ausdrücklich keine Empfehlung :!: Ich nutze sowas nicht.

Sauberer wäre es natürlich, den kompletten Quellcode zu haben und daraus eine EXE generieren zu können, das geht aber aktuell mit Xbase++ nicht.
Der PDR Link von Tom könnte ein Zwischending vom Alaska Linker sein (ich kann mich nicht mehr erinnern ob da was geplant war), aber ein PDR bedeutet immer, dass es aktuell nicht geht.
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Alleinstehende (standalone) EXE

Beitrag von Tom »

Nee, der Link führt zu einem sogenannten PDR, einem - wie ich vermute - "Problem Documentation Report" oder so, jedenfalls zu einer Fehler-/Wunschmeldung an Alaska, die die dann in ihre Knowledgebase/PDR-Datenbank packen. Da sieht man, dass dieser Wunsch vor 17 Jahren (übrigens von mir) gemeldet wurde, aber da steht nur, dass das Problem bekannt und weiterhin offen ist - und vermutlich auch weitere 17 Jahre offen bleiben wird, denn Xbase++ ist qua Architektur ungeeignet für Standalone-EXEs. Die Möglichkeit, eine einzelne EXE auszuliefern, die sich dann im Speicher sozusagen entfaltet, bietet Alaska Software nicht selbst, das muss man mit Fremdtools machen, etwa mit dem, das Hubert verlinkt hat. Aber ob das zu empfehlen ist und gut funktioniert - keine Ahnung.
Herzlich,
Tom
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Alleinstehende (standalone) EXE

Beitrag von ramses »

Hallo

ich habe mal einige solche Packer gekauft und damit Experimentiert aber nichts richtig und problemlos oder ohne massive performanceeinbussen zum laufen bekommen. Daher mein Rat: Vergiss es und nutze die Zeit sinnvoller .....
Valar Morghulis

Gruss Carlo
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Alleinstehende (standalone) EXE

Beitrag von brandelh »

Je nach Aufgabe macht es Sinn, einen anderen Compiler zu verwenden.
Ich z.B. nutze solche kleinen EXE mit PowerBasic für einfache Umwandlungen (DOS-FILTER, Dateiumsetzungen etc.).
Andere nehmen Delphi oder C/C++ ...
Gruß
Hubert
Benutzeravatar
BJelinek
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 218
Registriert: Sa, 02. Jun 2012 20:57
Wohnort: 73257 Köngen
Hat sich bedankt: 9 Mal
Danksagung erhalten: 3 Mal

Re: Alleinstehende (standalone) EXE

Beitrag von BJelinek »

Oder auch Harbour.

Ist Xbase Sprache.
Grüße
Bernd

Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Alleinstehende (standalone) EXE

Beitrag von Herbert »

oder Windev 8)
Hier kann eine einzige EXE mit dem internen Exe-Generator erstellt werden, welche bei Programmstart die benötigten Dll extrahiert, also zu dem führt, was die erwähnten Hilfstools machen.
Grüsse Herbert
Immer in Bewegung...
Antworten