Kleinere Autoit EXE´N mitliefern

  • Hi,
    da es mich die größe der AutoIT exe nervt, hab ich mir gedacht, dass es doch eh nur der Dateianfang mit ner A3X Datei ist :rofl:
    Also:
    --> Einfach die EXE Extrahieren und A3X Code dran...
    Der Code is in der Zip :)
    Lg PCeumel
    Ps: Kein UPX :rofl: oder die AutoitSC.bin mit Mpress Komprimieren :D

  • Hä ? ich versteh so gut wie nix !

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Nicht nur du !
    Wozu soll das jetzt bitte gut sein ?
    Und - Was kann ich denn jetzt damit bitte bezwecken ?
    Könntest ja mal ein Beispiel machen und es deutlicher definieren :rolleyes:

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • Hi,
    das Script is für die leute gedacht, die z.B 10 Compilierte Exen mitgeben (Autoit programme!).
    Ich nehme den Header (AutoitSC.bin) der ja sowieso mitdabei ist und Schreibe da dann den A3X code dran.
    Zur Ausführung:
    1. GenScript.au3 Ausführen
    2. Die Datei CompileME.au3 Compilieren
    3. Fertig und Freuen :rofl:

  • Also so ganz kapier ich auch nicht wie das gehen soll. Deine GenScript.au3 generiert eine CompileME.au3 und die CompileME.au3 eine OUT.exe.

    Die Out.exe hat wiederrum diesen Code wodruch sie sich selbst versucht zu öffnen:

    Spoiler anzeigen
    [autoit]

    DIM $AUTOITEXE_BYTES=646144,$AUTOITA3X_SCRIPT=""
    $AUTOITA3X_SCRIPT&=BINARYTOSTRING("")
    $AUTOITEXE=@SCRIPTFULLPATH
    $AUTOITEXE_OPEN=FILEOPEN($AUTOITEXE)
    $AUTOITEXE_READ=FILEREAD($AUTOITEXE_OPEN)
    $AUTOITEXE_BINARY=STRINGTRIMRIGHT($AUTOITEXE_READ,FILEGETSIZE($AUTOITEXE)-$AUTOITEXE_BYTES)
    FILECLOSE($AUTOITEXE_OPEN)
    $OUT_OPEN=FILEOPEN("OUT.exe",18)
    FILEWRITE($OUT_OPEN,$AUTOITEXE_BINARY&$AUTOITA3X_SCRIPT)
    FILECLOSE($OUT_OPEN)

    [/autoit]

    Weder kann man ein Script auswählen aus dem der a3x Code generiert werden soll, noch passiert sonst irgendetwas. Erklär das bitte nochmal genauer was da passieren sollte.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

    • Offizieller Beitrag

    Also ich habe mir das Skript nicht angesehen (Mache ich nie, wenn ich dazu erst was herunterladen muss! - Wozu kann man Code hier im Spoiler darstellen?!), aber der mehr als wagen Erklärung nach vermute ich Folgendes:
    Jede zur Exe kompilierte au3 besteht aus Interpreter+Code. Um nicht in jeder Exe erneut den Interpreter einzubinden, wird er nur einmal verwendet und die Einzelskripte werden kaskadiert angehängt. Es werden also nicht, wie suggeriert, tatsächlich kleinere Exe'n erstellt, sondern die Exe'n werden als Einzeldatei nicht mehr ausführbar und müssen in der 'Sammlung mit Interpreter' integriert sein. Kein wirklicher Vorteil, wie ich meine.

    Oder interpretiere ich das jetzt falsch?

    Eine detaillierte Beschreibung von Funktionen ist immer noch der beste Weg um Irritationen zu vermeiden. ;) Und wenn 3 Leute "..äh Bahnhof?" schreien, kannst du sicher sein, dass es mit der Beschreibung nicht weit her ist.

  • Genau das ist auch was mich etwas wundert, wo die Größernersparniss ist. In seinem Beispiel ist eine Input.au3 drin mit einer Größe von 9 Byte. Die Input.a3x die dabei ist hat aber eine größe von 357 Bytes, also ca. 40mal größer.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Das Script soll auch nur den leuten Helfen, die gleich eine EXE brauchen (vileicht sogar mehr als 2) für z.B. eine Setup Rutine, die Autoit Files Installiert.
    Da es mir zu Blöde ist (finde ich mal) Platz damit zu "Verschwenden" die Daten 5 mal mitzugeben hab ich das gemacht.
    Ich hatte mal das problem, dass ich einen Dienst erstellt habe, der eine eigene Exe war, dazu noch ein Main Script und dann noch ein paar andere EXEn mit Autoit --> 5 MB :( Das war mir zu viel, so hab ich halt eine Installationsrutine, die mir das alles mitliefert, das geht besser als FileInstall...
    Jetzt verstanden?
    Lg Pceumel
    Ps: Das ist extra nur eine A3X Datei, will ja auch nur zeigen , wie es geht...
    @Bug: Ich mache das so:
    -> Extrahiere den Interpreder
    -> schreibe A3X Code dran
    -> Fertig :rofl:
    So ist die Datei noch Ausführbar, das Setup aber Klein