aut2exe in programm einbinden\ möglich?

  • Folgendes Problem:

    ich habe ein Programm erstellt mit dem man mehrere von einander abhängige Programme erstellt unter anderem auch .au3 Dateien..
    Ich habe in diesem Script auchh eingebaut, dass die .au3 Dateien Compiliert werden sollen

    Das habe ich bisherr so gelöst:

    [autoit]


    $PathSource = FileOpenDialog("Script auswählen", @ScriptDir, "Au3 Scripts (*.au3)")
    $PathDest = FileSaveDialog("Speichern unter", @ScriptDir, "Exe (*.exe)")
    RunWait('"' & StringTrimRight(@AutoItExe, 11) & 'Aut2Exe\Aut2exe.exe" /in "' & $PathSource & '" /out "' & $PathDest & '" ')

    [/autoit]


    Das Problem ist jetzt, dass ich dieses Programm auch auf einem Server läufen lassen soll aber ich dort kein AutoIT installieren darf.
    Dadurch finktioniert es auch nicht mehr mit RunWait, da Aut2Exe auf dem Server nicht vorhanden ist

    gibt es irgentwie eine möglichkeit die Aut2Exe in das Script einzuarbeiten?
    weil die Aut2Exe auch von der upx.exe und der AutoItSC.bin abhängick ist muss wohl der ganze Ordner eingearbeitet werden
    oder gibt es eine andere möglichkeit für das Compilieren?

    Einmal editiert, zuletzt von Kyrlo (14. Februar 2012 um 14:56)

  • Das Problem ist jetzt, dass ich dieses Programm auch auf einem Server läufen lassen soll aber ich dort kein AutoIT installieren darf.


    Dann kann dieses Programm nicht auf dem Server laufen, setze dich daher mit dem Verantwortlichen der IT-Abteilung auseinander,

    mfg autoBert


  • gibt es irgentwie eine möglichkeit die Aut2Exe in das Script einzuarbeiten?
    weil die Aut2Exe auch von der upx.exe und der AutoItSC.bin abhängick ist muss wohl der ganze Ordner eingearbeitet werden
    oder gibt es eine andere möglichkeit für das Compilieren?

    Mit FileInstall kannst du die drei Dateien einbinden und zur Laufzeit diese dann "entpacken" lassen.

    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.

  • ich hab erst letzte Woche Montag mit AutoIT angefangen und noch nie mit FilIeInstall gearbeitet...
    KAnn mir dafür vlt. jemand ein Beispiel geben?
    Mit dem in der Hilfe kann ich nix anfangen..
    DA steht auch nix von end packen...

    [autoit]


    ; Include a bitmap found in "C:\test.bmp" with the compiled program and put it in "D:\mydir\test.bmp" when it is run
    Local $b = True
    If $b = True Then FileInstall("C:\test.bmp", "D:\mydir\test.bmp")

    [/autoit][autoit][/autoit][autoit][/autoit]

    Für jeden der antwortet: Schonmal danke im Vorraus!

  • Zitat

    source
    Der Quellpfad der Datei, die eingebunden und kompiliert werden soll. Dieser muss ein reiner String sein; er kann keine Variable oder das Ergebnis eines Funktionsaufrufes sein. Es kann ein relativer Pfad (man verwendet .\ oder ..\ in dem Pfad) zu der Quelldatei (.au3) sein.

    dest
    Der Zielpfad (mit abschließendem "Backslash", falls nur das Verzeichnis angegeben wird). Das kann eine Variable sein.

    flag
    [optional] Das Flag bestimmt, ob existierende Dateien überschrieben werden sollen:
    0 = (Standard) Überschreibt bestehende Dateien nicht
    1 = Überschreibt bestehende Dateien


    Da steht doch alles

  • Mit FileInstall kannst du die drei Dateien einbinden und zur Laufzeit diese dann "entpacken" lassen.


    Sie sind dann zwar nicht über die Install-Routine von AutoIt installiert, befinden sich aber trotzdem auf dem Server un dies scheint ja die IT-Abteilung aus Sicherheitsgründen verhindern zu wollen.

    mfg autoBert

  • Wir sind die IT-Abteilung :D
    Aber er hat en sich recht jedoch Recht..
    Wir düfen hier nichtmal Kabellose Tastaturen benutzen wegen Sicherheitslücke im Datenschutz..

    also geht das nicht ohne Installation von AutoIt
    Dann ist das schade und ich hab leider mehr Arbeit aber trotzdem Danke an alle die hier geholfen haben!

  • Wir sind die IT-Abteilung :D
    Aber er hat en sich recht jedoch Recht..
    Wir düfen hier nichtmal Kabellose Tastaturen benutzen wegen Sicherheitslücke im Datenschutz..

    also geht das nicht ohne Installation von AutoIt
    Dann ist das schade und ich hab leider mehr Arbeit aber trotzdem Danke an alle die hier geholfen haben!


    Du darfst dein Programm dort laufen lassen aber nicht ein kleines Programm in den Temp-Ordner kopieren?

  • Jep da das Programm von mir, naja von mir ist und ich genau weiß was ich da geschrieben habe und was das tut!
    Anders bei AutoIT das kommt von irgentwelchen Entwicklern den wir zwar wahrscheinlich vertrauen können, was wir aber nicht rechtfertigen können FALLS was passiert.

  • Nein, beim compilieren wird einfach dein au3 mit dem Autoitinterpreter in eine exe gepackt und du hast diesen interpreter nicht selbst geschrieben also weißt du nicht was er macht. Daher würde ich Autoit für eure Zwecke komplett ausschließen und dann lieber auf Windows-Powershell zurückgreifen.

    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.

  • Jep da das Programm von mir, naja von mir ist und ich genau weiß was ich da geschrieben habe und was das tut!
    Anders bei AutoIT das kommt von irgentwelchen Entwicklern den wir zwar wahrscheinlich vertrauen können, was wir aber nicht rechtfertigen können FALLS was passiert.


    Ohje...
    Habt ihr windows/Linux/Mac installiert? Schmeißt es runter, denen könnt ihr nicht trauen.
    Innen TMP-Ordner packen -> nutzen -> löschen...

    Edit: Um nochmal auf dein eigentliches Problem zurück zu kommen: WARUM genau willst du denn dynamisch einen Au3-Code compilieren lassen? Compiliere doch bei dir zuhause einen, der eben alles enthällt was gebraucht wird und dynamisch reagieren kann.