Script ohne AutoIT Compilen

  • hi @ all,
    ich habe ein programm geschrieben mit dem man einen Launcher für ein spiel erstellen kann.
    Es ist ganz simpel:
    Man gibt die benötigten daten ein klickt auf "Erstellen" und dann wird der Code generiert.
    jetzt meine frage:
    wie kann man das AutoIT Script ohne AutoIT in eine .exe umwandeln?
    MfG Roggazzz

  • Du könntest die Aut2Exe.exe von AutoIT mit FileInstall in dein script includen und dann per Command Line dein erstelltes Script compilen. In der Hilfe unter "Compiling Scripts" findest du die Command Line Parameter ;)

    Edit : Du müsstest auch noch die Datei AutoITISC.bin und upx.exe aus dem Aut2Exe Ordner includen sonst funktioniert das nicht.

    MfG eMkay

    Einmal editiert, zuletzt von eMkay (6. August 2009 um 12:07)

  • ichn finde nur in der englischen hilfe etwas und mein englisch ist nicht gerade das beste.
    wie benutze ich die Comando Lines?
    ich hab hier mal ein bsp. Script:

    [autoit]

    $Auttoexe=FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\Aut2exe.exe","")
    $UPX=FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\upx.exe","")
    $BIN=FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\AutoItSC_x64.bin","")
    #include-once <$Auttoexe>
    #include-once <$UPX>
    #include-once <$BIN>

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

    /in @ScriptDir&"\Explorer".au3 /out @ScriptDir&"\Explorer".exe

    [/autoit]


    Gruß ROggazzz

  • Also wenn ich folgende INI Datei (Dateiname: meineDatei.ini) habe:

    Spoiler anzeigen
    [autoit]


    [Script]
    Name=test
    Endung=exe

    [/autoit]

    kann ich mit folgenden Script das ganze automatisch zur exe-Datei umwandeln.

    Spoiler anzeigen
    [autoit]


    $Scriptname = IniRead(@ScriptDir & "meineDatei.ini", "Script", "Name", "test")
    $ScriptnameEXT = IniRead(@ScriptDir & "meineDatei.ini", "Script", "Endung", "exe")

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

    _CreateDirs() ;
    _Compile($Scriptname)

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

    Func _Compile($Scriptname)
    Run("C:\Scripts\Aut2Exe\Aut2Exe.exe /in " & @ScriptDir & "\" & $Scriptname & ".au3 /out " & _
    @ScriptDir & "\" & $Scriptname & "2.exe /icon C:\Scripts\Aut2Exe\Icons\SETUP03.ICO")
    EndFunc ;_Compile

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

    ;Func _RemoveExtension($ScriptnameEXT)
    ;$Scriptname = stringleft($ScriptnameEXT, stringlen($ScriptnameEXT)-4)
    ;Return $Scriptname
    ;EndFunc ;_RemoveExtension

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

    Func _CreateDirs()
    If Not FileExists ("C:\Scripts\Aut2Exe") Then
    DirCreate("C:\Scripts\Aut2Exe\Icons")
    FileInstall("c:\Programme\AutoIt3\Aut2Exe\Aut2exe.exe", "C:\Scripts\Aut2Exe\Aut2exe.exe")
    FileInstall("c:\Programme\AutoIt3\Aut2Exe\Aut2exe_x64.exe", "C:\Scripts\Aut2Exe\Aut2exe_x64.exe")
    FileInstall("c:\Programme\AutoIt3\Aut2Exe\Aut2exeA.exe", "C:\Scripts\Aut2Exe\Aut2exeA.exe")
    FileInstall("c:\Programme\AutoIt3\Aut2Exe\AutoItASC.bin", "C:\Scripts\Aut2Exe\AutoItASC.bin")
    FileInstall("c:\Programme\AutoIt3\Aut2Exe\AutoItSC.bin", "C:\Scripts\Aut2Exe\AutoItSC.bin")
    FileInstall("c:\Programme\AutoIt3\Aut2Exe\AutoItSC_x64.bin", "C:\Scripts\Aut2Exe\AutoItSC_x64.bin")
    FileInstall("c:\Programme\AutoIt3\Aut2Exe\upx.exe", "C:\Scripts\Aut2Exe\upx.exe")
    FileInstall("c:\Programme\AutoIt3\Aut2Exe\Icons\Setup03.ico", "C:\Scripts\Aut2Exe\Icons\Setup03.ico")
    EndIf
    EndFunc ;_CreateDirs

    [/autoit]

    Du mußt na klar noch die Dateipfade anpassen, da AutoIt3 ja bei Dir wo anders ist als bei mir oder einem anderen User.

    Evtl. noch den Ordner C:\Scripts\ löschen lassen, aber das ist nebensächlich und nur nicht zu vergessen, das da nach dem ausführen noch was auf C:\Scripts\ ist. ;)

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • Ich hab des jetzt mal ohne ini file auf mich angepasst...
    ich bekomme aber einen Error beim Compilen das ein include fehlt.... warum?

    hier der code:

    [autoit]

    Func _Compile()
    $Dialog=FileSaveDialog("Speichern...",@DesktopDIr,"Anwendungen(*.exe)")
    FileWrite(@Tempdir&"\launcher.au3",GuiCtrlread($Edit1))
    Run("C:\Scripts\Aut2Exe\Aut2Exe.exe /in " & @Tempdir&"\launcher.au3")

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

    DirRemove("C:\Scripts\Aut2Exe")
    EndFunc ;_Compile
    Func _CreateDirs()
    If Not FileExists ("C:\Scripts\Aut2Exe\Icons") Then
    DirCreate("C:\Scripts\Aut2Exe\Icons")
    FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\Aut2exe.exe", "C:\Scripts\Aut2Exe\Aut2exe.exe")
    FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\Aut2exe_x64.exe", "C:\Scripts\Aut2Exe\Aut2exe_x64.exe")
    FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\Aut2exeA.exe", "C:\Scripts\Aut2Exe\Aut2exeA.exe")
    FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\AutoItASC.bin", "C:\Scripts\Aut2Exe\AutoItASC.bin")
    FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\AutoItSC.bin", "C:\Scripts\Aut2Exe\AutoItSC.bin")
    FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\AutoItSC_x64.bin", "C:\Scripts\Aut2Exe\AutoItSC_x64.bin")
    FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\upx.exe", "C:\Scripts\Aut2Exe\upx.exe")
    FileInstall("C:\Dokumente und Einstellungen\Sylvia\Eigene Dateien\AutoIt3\Aut2Exe\Icons\Setup03.ico", "C:\Scripts\Aut2Exe\Icons\SETUP03.ICO")


    EndIf
    EndFunc

    [/autoit]
  • Moin Roggazzz.

    Also ich habe Dein Script mal getestet. Da es nicht vollständig ist, habe ich die nicht veröffentlichten Var. kurz erstellt und kann keinen Fehler fest stellen.
    Wenn das problem noch besteht, bitte das Script komplett posten, denn dann kann man besser sehen wo evtl. noch ein Fehler sein könnte.

    Bist Du eigentlich "Sylvia" ;)

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr